.setServiceAddress(serviceAddress) .setTimer(timer) .setResponseQueue(responseQueue) .setAsyncResponse(asyncCalls) .setInvokeDynamic(invokeDynamic)
@Test public void testWithServiceQueue() { final Factory factory = QBit.factory(); final ProtocolParser protocolParser = factory.createProtocolParser(); final ProtocolEncoder encoder = factory.createEncoder(); final Queue<Response<Object>> responseQueue = QueueBuilder.queueBuilder().setName("RESPONSE QUEUE TEST").build(); final ServiceBundle serviceBundle = new ServiceBundleBuilder() .setResponseQueue(responseQueue).setAddress("/services").build(); final JsonMapper mapper = factory.createJsonMapper(); httpServer = new HttpServerMock(); serviceServerImpl = new ServiceEndpointServerImpl(httpServer, encoder, protocolParser, serviceBundle, mapper, 1, 100, 30, 10, null, null, null, null, null, "localhost", 8080, 0, null, null, 50, 2, 2); callMeCounter = 0; responseCounter = 0; ServiceQueue serviceQueue = serviceBuilder() .setResponseQueue(responseQueue) .setServiceObject(new MyOtherService()).buildAndStart(); serviceServerImpl.addServiceQueue("/services/other/serviceCall", serviceQueue); serviceServerImpl.start(); final HttpRequest request = new HttpRequestBuilder().setUri("/services/other/servicecall") .setTextReceiver(new MockReceiver()).setBody("\"call\"").build(); httpServer.sendRequest(request); Sys.sleep(100); waitForTrigger(20, o -> responseCounter == 1 && callMeCounter == 1); ok |= responseCounter == 1 || die(); ok |= callMeCounter == 1 || die(); }
@Test public void testWebSocketCallWithServiceQueue() throws Exception { final Factory factory = QBit.factory(); final ProtocolParser protocolParser = factory.createProtocolParser(); final ProtocolEncoder encoder = factory.createEncoder(); final Queue<Response<Object>> responseQueue = QueueBuilder.queueBuilder().setName("RESPONSE QUEUE").build(); final ServiceBundle serviceBundle = new ServiceBundleBuilder() .setResponseQueue(responseQueue).setAddress("/services").build(); final JsonMapper mapper = factory.createJsonMapper(); httpServer = new HttpServerMock(); serviceServerImpl = new ServiceEndpointServerImpl(httpServer, encoder, protocolParser, serviceBundle, mapper, 1, 100, 30, 10, null, null, null, null, null, "localhost", 8080, 0, null, null, 50, 2, 2); callMeCounter = 0; responseCounter = 0; ServiceQueue serviceQueue = serviceBuilder() .setResponseQueue(responseQueue) .setServiceObject(new MyOtherService()).buildAndStart(); serviceServerImpl.addServiceQueue("other", serviceQueue); serviceServerImpl.start(); final MethodCall<Object> methodCall = new MethodCallBuilder().setObjectName("other").setName("method").setBody(null).build(); final String message = QBit.factory().createEncoder().encodeMethodCalls("", Lists.list(methodCall)); httpServer.sendWebSocketServerMessage(new WebSocketMessageBuilder().setRemoteAddress("/foo") .setMessage(message).setSender(new MockWebSocketSender()).build()); Sys.sleep(100); waitForTrigger(20, o -> responseCounter == 1); Sys.sleep(10); ok |= responseCounter == 1 || die(); ok |= failureCounter == 0 || die(); }
.setServiceAddress(serviceAddress) .setTimer(timer) .setResponseQueue(responseQueue) .setAsyncResponse(asyncCalls) .setInvokeDynamic(invokeDynamic)
.setServiceAddress(serviceAddress) .setTimer(timer) .setResponseQueue(responseQueue) .setAsyncResponse(asyncCalls) .setInvokeDynamic(invokeDynamic)