@POST @Path("/register") @Consumes("application/json") @Produces("application/json") public void register(@Suspended AsyncResponse response, RegisterEntry entry) { ReactiveSeq.of(this).foldFuture(WorkerThreads.ioExecutor.get(), s -> s.forEach(Long.MAX_VALUE, next -> { try { register.register(entry); response.resume(HashMapBuilder.of("status", "complete")); } catch (Exception e) { logger.error(e.getMessage(), e); response.resume(HashMapBuilder.of("status", "failure")); } })); }
@Test public void testRegister() { writer.register(entry); File dir = new File( new File( System.getProperty("java.io.tmpdir"), "service-reg-writer"), "module"); assertThat(dir.listFiles().length, equalTo(1)); } }
@Test public void testClean() { writer.register(entry.withTime(new Date(System.currentTimeMillis() - 2000))); cleaner.clean(); List<RegisterEntry> list = finder.find(Optional.empty()); assertThat(list.size(), equalTo(0)); } }
@Test public void testFind() { writer.register(entry); List<RegisterEntry> list = finder.find(Optional.empty()); assertThat(list.size(), greaterThan(0)); assertThat(list.get(0).getContext(), equalTo("context")); } }
@POST @Path("/register") @Consumes("application/json") @Produces("application/json") public void register(@Suspended AsyncResponse response, RegisterEntry entry) { ReactiveSeq.of(this).foldFuture(WorkerThreads.ioExecutor.get(), s -> s.forEach(Long.MAX_VALUE, next -> { try { register.register(entry); response.resume(HashMapBuilder.of("status", "complete")); } catch (Exception e) { logger.error(e.getMessage(), e); response.resume(HashMapBuilder.of("status", "failure")); } })); }