Я пытался использовать механизм обнаружения hazelcast-jclouds.3.7.2 для Azure. Однако не смог заставить его работать после его выдачи.
1) Нет привязки к реализации java.lang.String с аннотацией @ com.google.inject.name.Named (value = oauth.endpoint).
at org.jclouds.oauth.v2.config.OAuthModule.oauthEndpoint (OAuthModule.java:63)
1 ошибка
в org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:189)
в org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java:588)
... еще 33
Вызвано: com.google.inject.CreationException: ошибки создания Guice:
1) Не привязана реализация для java.lang.String с аннотацией @ com.google.inject.name.Named (value = oauth.endpoint).
в org.jclouds.oauth.v2.config.OAuthModule.oauthEndpoint (OAuthModule.java:63)
1 ошибка
на com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist (Errors.java:435)
на com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:154)
на com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
на com.google.inject.Guice.createInjector (Guice.java:95)
в org.jclouds.ContextBuilder.buildInjector (ContextBuilder.java:405)
в org.jclouds.ContextBuilder.buildInjector (ContextBuilder.java:328)
в org.jclouds.ContextBuilder.buildView (ContextBuilder.java:615)
в org.jclouds.ContextBuilder.buildView (ContextBuilder.java:595)
в com.hazelcast.jclouds.ComputeServiceBuilder.build (ComputeServiceBuilder.java:207)
в com.hazelcast.jclouds.JCloudsDiscoveryStrategy.start (JCloudsDiscoveryStrategy.java:70)
в com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.start (DefaultDiscoveryService.java:63)
на com.hazelcast.instance.Node.start (Node.java:385)
в com.hazelcast.instance.HazelcastInstanceImpl. (HazelcastInstanceImpl.java:137)
в com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance (HazelcastInstanceFactory.java:196)
в com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance (HazelcastInstanceFactory.java:175)
в com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance (HazelcastInstanceFactory.java:125)
в com.hazelcast.core.Hazelcast.newHazelcastInstance (Hazelcast.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.lang.reflect.Method.invoke (Method.java:498)
в org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:162)
... еще 34
Ниже приведены конфигурации hazelcast-jcloud
JoinConfig joinConfig = getNetworkConfig().getJoin();
joinConfig.getMulticastConfig().setEnabled(false);
joinConfig.getTcpIpConfig().setEnabled(false);
getProperties().put("hazelcast.discovery.enabled", "true");
DiscoveryConfig discoveryConfig = joinConfig.getDiscoveryConfig();
Map<String, Comparable> properties = new HashMap<String, Comparable>();
properties.put("provider", "azurecompute-arm");
properties.put("identity", "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx");//Principal client ID
properties.put("credential", "xxxxxxxxxxx"); //Principal client secret
properties.put("endpoint", "https://management.azure.com/subscriptions/Subscription id ");
JCloudsDiscoveryStrategyFactory jcloudDiscoveryStrategyFactory = new JCloudsDiscoveryStrategyFactory();
DiscoveryStrategyConfig discoveryStrategyConfig = new DiscoveryStrategyConfig(jcloudDiscoveryStrategyFactory,
properties);
ArrayList<DiscoveryStrategyConfig> discoveryStrategyConfigs = new ArrayList<DiscoveryStrategyConfig>();
discoveryStrategyConfigs.add(discoveryStrategyConfig);
discoveryConfig.setDiscoveryStrategyConfigs(discoveryStrategyConfigs);
Пожалуйста, предложите, если есть решение / обходной путь для этой проблемы.