public StatReplicator buildAndStart() { buildQueue(); final StatReplicator proxyWithAutoFlush = serviceQueue.createProxyWithAutoFlush(StatReplicator.class, 100, TimeUnit.MILLISECONDS); return proxyWithAutoFlush; }
public <T> T createOneWayLocalProxy(final Class<T> serviceInterface, final String myService) { final Consumer<MethodCall<Object>> callConsumer = this.serviceMapping.get(myService); if (callConsumer == null) { throw new IllegalStateException("Service requested does not exist " + myService); } if (callConsumer instanceof QueueDispatch) { return ((QueueDispatch) callConsumer).serviceQueue.createProxyWithAutoFlush( serviceInterface, 100, TimeUnit.MILLISECONDS); } else { return factory.createLocalProxy(serviceInterface, myService, this, beforeMethodSent); } }
public LocalStatsCollectorAsync build() { LocalStatsCollectorAsync proxyWithAutoFlush = getServiceQueue().createProxyWithAutoFlush(LocalStatsCollectorAsync.class, 100, TimeUnit.MILLISECONDS); return proxyWithAutoFlush; }
public StatReplicator build() { buildQueue(); //noinspection UnnecessaryLocalVariable @SuppressWarnings("UnnecessaryLocalVariable") final StatReplicator proxyWithAutoFlush = serviceQueue.createProxyWithAutoFlush(StatReplicator.class, 100, TimeUnit.MILLISECONDS); return proxyWithAutoFlush; }
public HealthServiceAsync buildHealthSystemReporterWithAutoFlush() { return getServiceQueue().createProxyWithAutoFlush(HealthServiceAsync.class, 1, TimeUnit.SECONDS); }
<T> T createProxyWithAutoFlush(Class<T> serviceInterface, PeriodicScheduler periodicScheduler, int interval, TimeUnit timeUnit);
public StatsCollector buildStatsCollectorWithAutoFlush() { return new StatsCollectorBuffer(getServiceQueue().createProxyWithAutoFlush(StatsCollector.class, 1, TimeUnit.SECONDS)); } }
public HealthServiceAsync getProxy() { if (proxy == null) { if (autoFlush) { proxy = getServiceQueue().createProxyWithAutoFlush(HealthServiceAsync.class, 50, TimeUnit.MILLISECONDS); } else { proxy = getServiceQueue().createProxy(HealthServiceAsync.class); } } return proxy; }
@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; }
/** * Builds a proxy queue service to the impl. * * @return proxy queue service interface to impl. */ public ProxyService buildProxy() { return getServiceBuilder().setServiceObject(build()).buildAndStart().createProxyWithAutoFlush(ProxyService.class, Duration.HUNDRED_MILLIS); } }
@Test //Works public void testWithServiceQueue() { final ServiceQueue serviceQueue = ServiceBuilder.serviceBuilder() .setServiceObject(new FeedServiceImpl()).buildAndStartAll(); final FeedService feedService = serviceQueue.createProxyWithAutoFlush(FeedService.class, Duration.ofMillis(100)); final List<FeedMeta> feedMetas = feedService.listFeeds() .blockingGet(Duration.ofSeconds(30)); assertNotNull(feedMetas); assertEquals(1, feedMetas.size()); assertEquals("Hello", feedMetas.get(0).name); serviceQueue.stop(); }
final ServiceQueue serviceQueue = serviceQueueBuilder.buildAndStartAll(); IMyService proxy = serviceQueue.createProxyWithAutoFlush(IMyService.class, 10, TimeUnit.MILLISECONDS);
@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(); }
@Before public void before() { latch = new CountDownLatch(1); returnValue = new AtomicReference<>(); errorRef = new AtomicReference<>(); impl = new ServiceDiscoveryImpl(); empURI = URI.create("marathon://default/employeeService?env=staging"); ServiceBuilder serviceBuilder = ServiceBuilder.serviceBuilder(); serviceBuilder.getRequestQueueBuilder().setArrayBlockingQueue().setBatchSize(10); serviceQueue = serviceBuilder.setServiceObject(impl).buildAndStartAll(); ServiceBundleBuilder serviceBundleBuilder = ServiceBundleBuilder.serviceBundleBuilder(); serviceBundleBuilder.getRequestQueueBuilder().setArrayBlockingQueue().setBatchSize(10); serviceBundle = serviceBundleBuilder.build(); serviceBundle.addServiceObject("myservice", impl); serviceQueue2 = ServiceBuilder.serviceBuilder().setInvokeDynamic(false).setServiceObject(impl) .buildAndStartAll(); serviceDiscoveryServiceBundle = serviceBundle.createLocalProxy(ServiceDiscovery.class, "myservice"); serviceBundle.start(); serviceDiscovery = serviceQueue.createProxyWithAutoFlush(ServiceDiscovery.class, Duration.TEN_MILLIS); serviceDiscoveryStrongTyped = serviceQueue2.createProxyWithAutoFlush(ServiceDiscovery.class, Duration.TEN_MILLIS); }
public <T> T createOneWayLocalProxy(final Class<T> serviceInterface, final String myService) { final Consumer<MethodCall<Object>> callConsumer = this.serviceMapping.get(myService); if (callConsumer == null) { throw new IllegalStateException("Service requested does not exist " + myService); } if (callConsumer instanceof QueueDispatch) { return ((QueueDispatch) callConsumer).serviceQueue.createProxyWithAutoFlush( serviceInterface, 100, TimeUnit.MILLISECONDS); } else { return factory.createLocalProxy(serviceInterface, myService, this, beforeMethodSent); } }
public static void main(String... args) throws Exception { final ServiceQueue serviceQueue = ServiceBuilder.serviceBuilder().setServiceObject(randomNumberService()).buildAndStartAll(); final RandomNumberServiceAsync randomNumberServiceAsync = serviceQueue.createProxyWithAutoFlush(RandomNumberServiceAsync.class, 5, TimeUnit.SECONDS); for (int a = 0; a < 100; a++) { final AsyncFutureCallback<Integer> callback = CallbackBuilder.newCallbackBuilder() .withCallback(l -> System.out.println("" + l)) .withErrorHandler(RandomNumberExample::handleError) .<Integer>build(); randomNumberServiceAsync.getRandom(callback, 100, a); } ServiceProxyUtils.flushServiceProxy(randomNumberServiceAsync); Sys.sleep(1000); serviceQueue.stop(); QBit.factory().shutdownSystemEventBus(); }
final MyServiceInterface serverSenderClient = serviceSenderQueue.createProxyWithAutoFlush( MyServiceInterface.class, 100, TimeUnit.MILLISECONDS);
/** * Builds a proxy queue service to the impl. * @return proxy queue service interface to impl. */ public ProxyService buildProxy() { return getServiceBuilder().setServiceObject(build()).buildAndStart().createProxyWithAutoFlush(ProxyService.class, Duration.HUNDRED_MILLIS); }
/** * Builds a proxy queue service to the impl. * * @return proxy queue service interface to impl. */ public ProxyService buildProxy() { return getServiceBuilder().setServiceObject(build()).buildAndStart().createProxyWithAutoFlush(ProxyService.class, Duration.HUNDRED_MILLIS); } }
@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); }