@Override public <T extends Actor> IPromise<T> connect(Callback<ActorClientConnector> disconnectCallback, Consumer<Actor> actorDisconnecCB) { if ( actorClz == null ) throw new RuntimeException("actor class cannot be null on TCPConnectable"); if ( host == null ) throw new RuntimeException("host cannot be null on TCPConnectable"); Promise result = new Promise(); Runnable connect = () -> { TCPClientConnector client = new TCPClientConnector(port,host,disconnectCallback); ActorClient connector = new ActorClient(client,actorClz,coding); connector.connect(inboundQueueSize, actorDisconnecCB).then(result); }; if ( ! Actor.inside() ) { TCPClientConnector.get().execute(() -> Thread.currentThread().setName("tcp singleton remote client actor polling")); TCPClientConnector.get().execute(connect); } else connect.run(); return result; }
@Override public <T extends Actor> IPromise<T> connect(Callback<ActorClientConnector> disconnectCallback, Consumer<Actor> actorDisconnecCB) { if ( actorClz == null ) throw new RuntimeException("actor class cannot be null on TCPConnectable"); if ( host == null ) throw new RuntimeException("host cannot be null on TCPConnectable"); Promise result = new Promise(); Runnable connect = () -> { TCPClientConnector client = new TCPClientConnector(port,host,disconnectCallback); ActorClient connector = new ActorClient(client,actorClz,coding); connector.connect(inboundQueueSize, actorDisconnecCB).then(result); }; if ( ! Actor.inside() ) { TCPClientConnector.get().execute(() -> Thread.currentThread().setName("tcp singleton remote client actor polling")); TCPClientConnector.get().execute(connect); } else connect.run(); return result; }
@Override public <T extends Actor> IPromise<T> connect(Callback<ActorClientConnector> disconnectCallback, Consumer<Actor> actorDisconnecCB) { if ( actorClass == null ) { throw new RuntimeException("pls specify actor clazz to connect to"); } Promise result = new Promise(); Runnable connect = () -> { JSR356ClientConnector client = null; try { client = new JSR356ClientConnector(url); ActorClient connector = new ActorClient(client, actorClass,coding); connector.connect(inboundQueueSize, actorDisconnecCB).then(result); } catch (URISyntaxException e) { e.printStackTrace(); result.reject(e); } }; if ( ! Actor.inside() ) { JSR356ClientConnector.get().execute(() -> Thread.currentThread().setName("JSR356WS singleton remote client actor polling")); JSR356ClientConnector.get().execute(connect); } else connect.run(); return result; }