diff --git a/hazelcast-client/src/main/java/com/hazelcast/client/impl/HazelcastClientInstanceImpl.java b/hazelcast-client/src/main/java/com/hazelcast/client/impl/HazelcastClientInstanceImpl.java index dd1a6cc8f9c9..e573b7b6e8f9 100644 --- a/hazelcast-client/src/main/java/com/hazelcast/client/impl/HazelcastClientInstanceImpl.java +++ b/hazelcast-client/src/main/java/com/hazelcast/client/impl/HazelcastClientInstanceImpl.java @@ -236,7 +236,6 @@ public HazelcastClientInstanceImpl(ClientConfig config, userContext = new ConcurrentHashMap(); diagnostics = initDiagnostics(config); - proxyManager.init(config); hazelcastCacheManager = new ClientICacheManager(this); lockReferenceIdGenerator = new ClientLockReferenceIdGenerator(); @@ -391,7 +390,6 @@ public void start() { lifecycleService.setStarted(); invocationService.start(); connectionManager.start(); - diagnostics.start(); diagnostics.register( new ConfigPropertiesPlugin(loggingService.getLogger(ConfigPropertiesPlugin.class), properties)); @@ -410,6 +408,7 @@ public void start() { lifecycleService.shutdown(); throw ExceptionUtil.rethrow(e); } + proxyManager.init(config); listenerService.start(); loadBalancer.init(getCluster(), config); partitionService.start(); diff --git a/hazelcast-client/src/main/java/com/hazelcast/client/spi/ProxyManager.java b/hazelcast-client/src/main/java/com/hazelcast/client/spi/ProxyManager.java index b5ee0c7fd832..da182e85b4bc 100644 --- a/hazelcast-client/src/main/java/com/hazelcast/client/spi/ProxyManager.java +++ b/hazelcast-client/src/main/java/com/hazelcast/client/spi/ProxyManager.java @@ -118,6 +118,7 @@ public final class ProxyManager { private final ConcurrentMap proxyFactories = new ConcurrentHashMap(); private final ConcurrentMap proxies = new ConcurrentHashMap(); + private ClientContext context; private final ListenerMessageCodec distributedObjectListenerCodec = new ListenerMessageCodec() { @Override @@ -154,6 +155,7 @@ public ProxyManager(HazelcastClientInstanceImpl client) { } public void init(ClientConfig config) { + context = new ClientContext(client, this); // register defaults register(MapService.SERVICE_NAME, createServiceProxyFactory(MapService.class)); if (JCacheDetector.isJCacheAvailable(config.getClassLoader())) { @@ -345,7 +347,6 @@ private void initialize(ClientProxy clientProxy) throws Exception { final Connection connection = getTargetOrOwnerConnection(initializationTarget); final ClientMessage clientMessage = ClientCreateProxyCodec.encodeRequest(clientProxy.getDistributedObjectName(), clientProxy.getServiceName(), initializationTarget); - final ClientContext context = new ClientContext(client, this); new ClientInvocation(client, clientMessage, connection).invoke().get(); clientProxy.setContext(context); clientProxy.onInitialize();