@Override public void registerDestructionCallback(String name, Runnable callback) { RequestAttributes attributes = RequestContextHolder.currentRequestAttributes(); attributes.registerDestructionCallback(name, callback, getScope()); }
@Override public void registerDestructionCallback(String name, Runnable callback) { RequestAttributes attributes = RequestContextHolder.currentRequestAttributes(); attributes.registerDestructionCallback(name, callback, getScope()); }
@Test public void requestContextListenerWithSameThread() { RequestContextListener listener = new RequestContextListener(); MockServletContext context = new MockServletContext(); MockHttpServletRequest request = new MockHttpServletRequest(context); request.setAttribute("test", "value"); assertNull(RequestContextHolder.getRequestAttributes()); listener.requestInitialized(new ServletRequestEvent(context, request)); assertNotNull(RequestContextHolder.getRequestAttributes()); assertEquals("value", RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST)); MockRunnable runnable = new MockRunnable(); RequestContextHolder.getRequestAttributes().registerDestructionCallback( "test", runnable, RequestAttributes.SCOPE_REQUEST); listener.requestDestroyed(new ServletRequestEvent(context, request)); assertNull(RequestContextHolder.getRequestAttributes()); assertTrue(runnable.wasExecuted()); }
@Test public void requestContextListenerWithSameThreadAndAttributesGone() { RequestContextListener listener = new RequestContextListener(); MockServletContext context = new MockServletContext(); MockHttpServletRequest request = new MockHttpServletRequest(context); request.setAttribute("test", "value"); assertNull(RequestContextHolder.getRequestAttributes()); listener.requestInitialized(new ServletRequestEvent(context, request)); assertNotNull(RequestContextHolder.getRequestAttributes()); assertEquals("value", RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST)); MockRunnable runnable = new MockRunnable(); RequestContextHolder.getRequestAttributes().registerDestructionCallback( "test", runnable, RequestAttributes.SCOPE_REQUEST); request.clearAttributes(); listener.requestDestroyed(new ServletRequestEvent(context, request)); assertNull(RequestContextHolder.getRequestAttributes()); assertTrue(runnable.wasExecuted()); }
RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST)); MockRunnable runnable = new MockRunnable(); RequestContextHolder.getRequestAttributes().registerDestructionCallback( "test", runnable, RequestAttributes.SCOPE_REQUEST);
@Override public void registerDestructionCallback(String name, Runnable callback) { RequestAttributes attributes = RequestContextHolder.currentRequestAttributes(); attributes.registerDestructionCallback(name, callback, getScope()); }
@Override public void registerDestructionCallback(String name, Runnable callback) { RequestAttributes attributes = RequestContextHolder.currentRequestAttributes(); attributes.registerDestructionCallback(name, callback, getScope()); }
RequestContextHolder.currentRequestAttributes().registerDestructionCallback(this.attributeName, this, RequestAttributes.SCOPE_REQUEST);