interceptor.setEntityManagerFactory(factory);
interceptor.setEntityManagerFactory(factory);
@Override public void setBeanFactory(BeanFactory beanFactory) throws BeansException { String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors((ListableBeanFactory) beanFactory, EntityManagerFactory.class); for (String s : beanNames) { EntityManagerFactory emf = (EntityManagerFactory) beanFactory.getBean(s); OpenEntityManagerInViewInterceptor omivi = new OpenEntityManagerInViewInterceptor(); omivi.setEntityManagerFactory(emf); interceptor.add(omivi); } }
@Test public void testOpenEntityManagerInViewInterceptor() throws Exception { OpenEntityManagerInViewInterceptor interceptor = new OpenEntityManagerInViewInterceptor(); interceptor.setEntityManagerFactory(this.factory); MockServletContext sc = new MockServletContext(); MockHttpServletRequest request = new MockHttpServletRequest(sc); interceptor.preHandle(new ServletWebRequest(request)); assertTrue(TransactionSynchronizationManager.hasResource(this.factory)); // check that further invocations simply participate interceptor.preHandle(new ServletWebRequest(request)); interceptor.preHandle(new ServletWebRequest(request)); interceptor.postHandle(new ServletWebRequest(request), null); interceptor.afterCompletion(new ServletWebRequest(request), null); interceptor.postHandle(new ServletWebRequest(request), null); interceptor.afterCompletion(new ServletWebRequest(request), null); interceptor.preHandle(new ServletWebRequest(request)); interceptor.postHandle(new ServletWebRequest(request), null); interceptor.afterCompletion(new ServletWebRequest(request), null); interceptor.postHandle(new ServletWebRequest(request), null); assertTrue(TransactionSynchronizationManager.hasResource(factory)); given(manager.isOpen()).willReturn(true); interceptor.afterCompletion(new ServletWebRequest(request), null); assertFalse(TransactionSynchronizationManager.hasResource(factory)); verify(manager).close(); }
interceptor.setEntityManagerFactory(factory);
@Override public void setBeanFactory(BeanFactory beanFactory) throws BeansException { String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors((ListableBeanFactory) beanFactory, EntityManagerFactory.class); for (String s : beanNames) { EntityManagerFactory emf = (EntityManagerFactory) beanFactory.getBean(s); OpenEntityManagerInViewInterceptor omivi = new OpenEntityManagerInViewInterceptor(); omivi.setEntityManagerFactory(emf); interceptor.add(omivi); } }