public ServiceQueue build(final Object serviceObject) { this.serviceObject = serviceObject; return build(); }
@Before public void setup() { systemManager = new QBitSystemManager(); eventManager = EventManagerBuilder .eventManagerBuilder().setName("Event Bus") .build(); serviceBuilder = ServiceBuilder.serviceBuilder() .setSystemManager(systemManager); eventServiceQueue = serviceBuilder.setServiceObject(eventManager).build().startServiceQueue(); serviceBuilder = ServiceBuilder.serviceBuilder() .setSystemManager(systemManager).setEventManager(eventManager); serviceB = new ServiceB(); serviceBuilder.setServiceObject(serviceB).buildAndStartAll(); serviceBuilder = ServiceBuilder.serviceBuilder() .setSystemManager(systemManager).setEventManager(eventManager); serviceA = new ServiceA(eventServiceQueue.createProxyWithAutoFlush(EventManager.class, Duration.SECOND), QBit.factory().eventBusProxyCreator()); final ServiceQueue serviceAQueue = serviceBuilder .setServiceObject(serviceA).buildAndStartAll(); serviceAQueueProxy = serviceAQueue.createProxy(ServiceAInterface.class); }
public ServiceQueue getServiceQueue() { if (serviceQueue == null) { serviceQueue = getServiceBuilder().build(); } return serviceQueue; }
/** * Builds and starts the service queue. * * @return the service queue */ public ServiceQueue buildAndStart() { return build().startServiceQueue(); }
public ServiceQueue buildAndStartAll() { this.setCreateCallbackHandler(true); return build().startAll(); }
public ServiceQueue getServiceQueue() { if (serviceQueue == null) { serviceQueue = getServiceBuilder().setServiceObject(getImplementation()).build(); } return serviceQueue; }
public ServiceQueue buildAsService() { final LowLevelLocalKeyValueStoreService kvStoreInternal = build(); return getServiceBuilder().setServiceObject(kvStoreInternal).build(); }
public ServiceQueue buildAsService() { final LocalKeyValueStoreService<T> kvStoreInternal = build(); return getServiceBuilder().setServiceObject(kvStoreInternal).build(); }
@Override public EventManager systemEventManager() { final EventManager eventManager = eventManagerThreadLocal.get(); if (eventManager != null) { return eventManager; } EventManager proxy; if (systemEventManager.get() == null) { final ServiceQueue serviceQueue = serviceBuilder().setInvokeDynamic(false) .setServiceObject( EventManagerBuilder.eventManagerBuilder().setName("QBIT_SYSTEM").build()).build().startServiceQueue(); systemEventManager.set(serviceQueue); proxy = serviceQueue.createProxyWithAutoFlush(EventManager.class, 100, TimeUnit.MILLISECONDS); } else { proxy = systemEventManager.get().createProxyWithAutoFlush(EventManager.class, 100, TimeUnit.MILLISECONDS); } eventManagerThreadLocal.set(proxy); return proxy; }
public ServiceMethodDispatcher build() { if (getServiceObjectSupplier() == null) { throw new IllegalStateException("serviceObjectSupplier must be set"); } for (int index = 0; index < getWorkerCount(); index++) { final ServiceBuilder serviceBuilder = getServiceBuilder(); final ServiceQueue serviceQueue = serviceBuilder .setServiceObject(getServiceObjectSupplier().get()).build(); getServiceDispatcher().addServices(serviceQueue); } return getServiceDispatcher(); } }
public ServiceMethodDispatcher build() { if (getServiceObjectSupplier() == null) { throw new IllegalStateException("serviceObjectSupplier must be set"); } final ServiceBuilder serviceBuilder = getServiceBuilder(); for (int index = 0; index < getWorkerCount(); index++) { final ServiceQueue serviceQueue = serviceBuilder .setServiceObject(getServiceObjectSupplier().get()).build(); getServiceDispatcher().addServices(serviceQueue); } return getServiceDispatcher(); } }
public static ServiceQueue regularService(final String name, Object service) { ServiceQueueImpl serviceQueue = (ServiceQueueImpl) ServiceBuilder.serviceBuilder().setServiceAddress(name).setServiceObject(service).build(); serviceQueue.start(); return serviceQueue; } }
public ServiceQueue buildServiceQueueWithCallbackHandler() { ServiceBuilder serviceBuilder = getServiceBuilder() .setRequestQueueBuilder(getSendQueueBuilder()) .setServiceObject(getStatServiceImpl()) .setCreateCallbackHandler(true); serviceQueue = serviceBuilder.build(); if (serviceDiscovery != null) { if (eventManager != null && eventManager != QBit.factory().systemEventManager()) { eventManager.joinService(serviceQueue); } } return serviceQueue; }
@Test //(expected = IllegalStateException.class) public void noOverloading() { ServiceQueue serviceQueue = ServiceBuilder.serviceBuilder().setServiceObject(new MyService()).build(); }
@SuppressWarnings("UnusedReturnValue") public ServiceQueue buildServiceQueue() { ServiceBuilder serviceBuilder = getServiceBuilder() .setRequestQueueBuilder(getSendQueueBuilder()) .setServiceObject(getStatServiceImpl()) .setCreateCallbackHandler(false); serviceQueue = serviceBuilder.build(); if (serviceDiscovery != null) { if (eventManager != null && eventManager != QBit.factory().systemEventManager()) { eventManager.joinService(serviceQueue); } } return serviceQueue; }
@Test public void testUsingProxyWithAutoFlush() { /* Create a service that lives behind a ServiceQueue. */ ServiceQueue serviceQueue = serviceBuilder() .setServiceAddress("/todo-service") .setServiceObject(new TodoService()) .build(); TodoServiceClient todoServiceClient = serviceQueue.createProxyWithAutoFlush(TodoServiceClient.class, 25, TimeUnit.MILLISECONDS); serviceQueue.start(); serviceQueue.startServiceQueue().startCallBackHandler(); todoServiceClient.add(new TodoItem("foo", "foo", null)); AtomicReference<List<TodoItem>> items = new AtomicReference<>(); todoServiceClient.list(todoItems -> items.set(todoItems)); Sys.sleep(2000); ok = items.get() != null || die(); ok = items.get().size() > 0 || die(); ok = items.get().get(0).getDescription().equals("foo") || die(); }
@Test public void testIsFailing() throws Exception { BaseServiceQueueImpl.serviceThreadLocal.set(ServiceBuilder.serviceBuilder().setServiceObject(new Object()).build()); ServiceHealthManagerDefault serviceHealthManagerDefault = new ServiceHealthManagerDefault(null, null); serviceHealthManagerDefault.setFailing(); assertTrue(serviceHealthManagerDefault.isFailing()); serviceHealthManagerDefault.recover(); assertFalse(serviceHealthManagerDefault.isFailing()); serviceHealthManagerDefault = new ServiceHealthManagerDefault(null, null); BaseServiceQueueImpl.serviceThreadLocal.set(null); serviceHealthManagerDefault.setFailing(); assertFalse(serviceHealthManagerDefault.isFailing()); }
@Test public void testIsOk() throws Exception { BaseServiceQueueImpl.serviceThreadLocal.set(ServiceBuilder.serviceBuilder().setServiceObject(new Object()).build()); ServiceHealthManagerDefault serviceHealthManagerDefault = new ServiceHealthManagerDefault(null, null); serviceHealthManagerDefault.recover(); assertTrue(serviceHealthManagerDefault.isOk()); serviceHealthManagerDefault.setFailing(); assertFalse(serviceHealthManagerDefault.isOk()); serviceHealthManagerDefault = new ServiceHealthManagerDefault(null, null); BaseServiceQueueImpl.serviceThreadLocal.set(null); serviceHealthManagerDefault.recover(); assertTrue(serviceHealthManagerDefault.isOk()); }
@Before public void setup() { serviceQueue = new ServiceBuilder().setServiceObject( new MockService()).setInvokeDynamic(false).build().startServiceQueue(); proxy = serviceQueue.createProxy(MockServiceInterface.class); ok = true; }
public static ServiceQueue jsonService(final String name, Object service ) { JsonMapper mapper = new BoonJsonMapper(); ServiceQueueImpl serviceQueue = (ServiceQueueImpl) ServiceBuilder.serviceBuilder().setServiceAddress(name).setServiceObject(service).build(); serviceQueue.requestObjectTransformer(new JsonRequestBodyToArgListTransformer(mapper)); serviceQueue.responseObjectTransformer(new JsonResponseTransformer(mapper)); serviceQueue.start(); return serviceQueue; }