@Test public void testIdleResume() throws IOException, ServletException, InterruptedException { B b = framework.getBroadcasterFactory().lookup(B.class, "/test", true); b.setBroadcasterLifeCyclePolicy( new BroadcasterLifeCyclePolicy.Builder() .policy(BroadcasterLifeCyclePolicy.ATMOSPHERE_RESOURCE_POLICY.IDLE_RESUME) .idleTimeInMS(500) .build()); b.latch = new CountDownLatch(1); AR ah = new AR(); framework.addAtmosphereHandler("/*", ah, b).init(); AtmosphereRequest request = new AtmosphereRequestImpl.Builder().pathInfo("/a").method("GET").build(); framework.doCometSupport(request, AtmosphereResponseImpl.newInstance()); b.latch.await(); assertFalse(B.class.cast(b).releaseExternalResources.get()); assertTrue(B.class.cast(b).destroy.get()); }