Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-7385

Hibernate 3 does not provide a LookupManager for EAP/AS7

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • EAP_EWP 5.2.0
    • EAP_EWP 5.1.0, EAP_EWP 5.1.2 ER2
    • Hibernate
    • None

      Description of problem:

      JBoss AS7 itself is able to detect Hibernate3 TransactionManager automatically.
      However, there is no TransactionManagerLookup class in Hibernate3 library
      working at AS7, thus no way how Spring can get this instance. This was fixed in
      Hibernate4, which is not compatible with any Spring.

      This means that WFK2 users can't use Spring with JTA managed transaction on
      EAP6, effectively reducing it to a Tomcat container. It is relatively easy
      to make a workaround by writing own TransactionManagerLookup .

      Version-Release number of selected component (if applicable):

      How reproducible:

      Always.

      Steps to Reproduce:
      1. Deploy an application with TransactionManager injected in Spring.

          <bean id="entityManagerFactory"
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
              <property name="jpaVendorAdapter">
                  <bean
      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
              </property>
              <property name="persistenceXmlLocation"
      value="classpath*:META-INF/as7-persistence.xml"/>
              <property name="jpaProperties">
                  <props>
                      <prop
      key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</prop>
                  </props>
              </property>
          </bean>
      

      Actual results:

      13:09:27,798 INFO 
      [org.springframework.beans.factory.support.DefaultListableBeanFactory] (MSC
      service thread 1-4) Destroying singletons in
      org.springframework.beans.factory.support.DefaultListableBeanFactory@7c24b943:
      defining beans
      [referenceData,bookingService,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.webflow.mvc.servlet.FlowHandlerMapping#0,faceletsViewResolver,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter#0,org.springframework.faces.webflow.JsfFlowHandlerAdapter#0,flowExecutor,flowRegistry,org.springframework.faces.model.converter.FacesConversionService#0,org.springframework.webflow.expression.spel.WebFlowSpringELExpressionParser#0,org.springframework.faces.webflow.JsfViewFactoryCreator#0,facesFlowBuilderServices,facesContextListener,jpaFlowExecutionListener,securityFlowExecutionListener,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor,transactionManager,dataSource,entityManagerFactory,org.springframework.security.web.PortMapperImpl#0,org.springframework.security.web.context.HttpSessionSecurityContextRepository#0,org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy#0,org.springframework.security.authentication.ProviderManager#0,org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler#0,org.springframework.security.access.vote.AffirmativeBased#0,org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0,org.springframework.security.web.access.DefaultWebInvocationPrivilegeEvaluator#0,org.springframework.security.authentication.AnonymousAuthenticationProvider#0,org.springframework.security.web.savedrequest.HttpSessionRequestCache#0,org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint#0,org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0,org.springframework.security.config.http.UserDetailsServiceInjectionBeanPostProcessor#0,org.springframework.security.filterChainProxy,org.springframework.security.core.userdetails.memory.InMemoryDaoImpl#0,org.springframework.security.authentication.dao.DaoAuthenticationProvider#0,org.springframework.security.authentication.DefaultAuthenticationEventPublisher#0,org.springframework.security.authenticationManager];
      root of factory hierarchy
      13:09:27,798 ERROR [org.springframework.web.context.ContextLoader] (MSC service
      thread 1-4) Context initialization failed:
      org.springframework.beans.factory.BeanCreationException: Error creating bean
      with name 'bookingService': Injection of persistence dependencies failed;
      nested exception is org.springframework.beans.factory.BeanCreationException:
      Error creating bean with name 'entityManagerFactory' defined in ServletContext
      resource [/WEB-INF/config/data-access-config.xml]: Invocation of init method
      failed; nested exception is javax.persistence.PersistenceException:
      [PersistenceUnit: bookingDatabase] Unable to build EntityManagerFactory
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:341)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
      [spring-context-3.0.6.RELEASE.jar:]
              at
      org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
      [spring-context-3.0.6.RELEASE.jar:]
              at
      org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
      [spring-web-3.0.6.RELEASE.jar:]
              at
      org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
      [spring-web-3.0.6.RELEASE.jar:]
              at
      org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
      [spring-web-3.0.6.RELEASE.jar:]
              at
      org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3368)
      [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-redhat-1]
              at
      org.apache.catalina.core.StandardContext.start(StandardContext.java:3821)
      [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-redhat-1]
              at
      org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:77)
      [jboss-as-web-7.1.0.Alpha1-redhat-1.jar:7.1.0.Alpha1-redhat-1]
              at
      org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
              at
      org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
              at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      [:1.6.0_27]
              at
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      [:1.6.0_27]
              at java.lang.Thread.run(Thread.java:662) [:1.6.0_27]
      Caused by: org.springframework.beans.factory.BeanCreationException: Error
      creating bean with name 'entityManagerFactory' defined in ServletContext
      resource [/WEB-INF/config/data-access-config.xml]: Invocation of init method
      failed; nested exception is javax.persistence.PersistenceException:
      [PersistenceUnit: bookingDatabase] Unable to build EntityManagerFactory
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:529)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:495)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:656)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:629)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:156)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:338)
      [spring-orm-3.0.6.RELEASE.jar:]
              ... 21 more
      Caused by: javax.persistence.PersistenceException: [PersistenceUnit:
      bookingDatabase] Unable to build EntityManagerFactory
              at
      org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
      [hibernate-entitymanager-3.4.0.GA.jar:]
              at
      org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
      [hibernate-entitymanager-3.4.0.GA.jar:]
              at
      org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
      [spring-beans-3.0.6.RELEASE.jar:]
              ... 34 more
      Caused by: org.hibernate.HibernateException: Could not locate
      TransactionManager
              at
      org.hibernate.transaction.JNDITransactionManagerLookup.getTransactionManager(JNDITransactionManagerLookup.java:60)
      [hibernate-core-3.3.2.GA.jar:]
              at
      org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:367)
      [hibernate-core-3.3.2.GA.jar:]
              at
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
      [hibernate-core-3.3.2.GA.jar:]
              at
      org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
      [hibernate-annotations-3.4.0.GA.jar:]
              at
      org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
      [hibernate-entitymanager-3.4.0.GA.jar:]
              ... 39 more
      Caused by: javax.naming.NameNotFoundException: TransactionManager -- service
      jboss.naming.context.java.TransactionManager
              at
      org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:87)
              at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:177)
              at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:82)
              at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:213)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
      [:1.6.0_27]
              at
      org.hibernate.transaction.JNDITransactionManagerLookup.getTransactionManager(JNDITransactionManagerLookup.java:57)
      [hibernate-core-3.3.2.GA.jar:]
              ... 43 more
      
      13:09:27,802 ERROR
      [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/spring-booking-faces]]
      (MSC service thread 1-4) Exception sending context initialized event to
      listener instance of class
      org.springframework.web.context.ContextLoaderListener:
      org.springframework.beans.factory.BeanCreationException: Error creating bean
      with name 'bookingService': Injection of persistence dependencies failed;
      nested exception is org.springframework.beans.factory.BeanCreationException:
      Error creating bean with name 'entityManagerFactory' defined in ServletContext
      resource [/WEB-INF/config/data-access-config.xml]: Invocation of init method
      failed; nested exception is javax.persistence.PersistenceException:
      [PersistenceUnit: bookingDatabase] Unable to build EntityManagerFactory
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:341)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
      [spring-context-3.0.6.RELEASE.jar:]
              at
      org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
      [spring-context-3.0.6.RELEASE.jar:]
              at
      org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
      [spring-web-3.0.6.RELEASE.jar:]
              at
      org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
      [spring-web-3.0.6.RELEASE.jar:]
              at
      org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
      [spring-web-3.0.6.RELEASE.jar:]
              at
      org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3368)
      [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-redhat-1]
              at
      org.apache.catalina.core.StandardContext.start(StandardContext.java:3821)
      [jbossweb-7.0.1.Final.jar:7.1.0.Alpha1-redhat-1]
              at
      org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:77)
      [jboss-as-web-7.1.0.Alpha1-redhat-1.jar:7.1.0.Alpha1-redhat-1]
              at
      org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
              at
      org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
              at
      java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      [:1.6.0_27]
              at
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      [:1.6.0_27]
              at java.lang.Thread.run(Thread.java:662) [:1.6.0_27]
      Caused by: org.springframework.beans.factory.BeanCreationException: Error
      creating bean with name 'entityManagerFactory' defined in ServletContext
      resource [/WEB-INF/config/data-access-config.xml]: Invocation of init method
      failed; nested exception is javax.persistence.PersistenceException:
      [PersistenceUnit: bookingDatabase] Unable to build EntityManagerFactory
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:529)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:495)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:656)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:629)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:156)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:338)
      [spring-orm-3.0.6.RELEASE.jar:]
              ... 21 more
      Caused by: javax.persistence.PersistenceException: [PersistenceUnit:
      bookingDatabase] Unable to build EntityManagerFactory
              at
      org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
      [hibernate-entitymanager-3.4.0.GA.jar:]
              at
      org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
      [hibernate-entitymanager-3.4.0.GA.jar:]
              at
      org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)
      [spring-orm-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
      [spring-beans-3.0.6.RELEASE.jar:]
              at
      org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
      [spring-beans-3.0.6.RELEASE.jar:]
              ... 34 more
      Caused by: org.hibernate.HibernateException: Could not locate
      TransactionManager
              at
      org.hibernate.transaction.JNDITransactionManagerLookup.getTransactionManager(JNDITransactionManagerLookup.java:60)
      [hibernate-core-3.3.2.GA.jar:]
              at
      org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:367)
      [hibernate-core-3.3.2.GA.jar:]
              at
      org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
      [hibernate-core-3.3.2.GA.jar:]
              at
      org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
      [hibernate-annotations-3.4.0.GA.jar:]
              at
      org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
      [hibernate-entitymanager-3.4.0.GA.jar:]
              ... 39 more
      Caused by: javax.naming.NameNotFoundException: TransactionManager -- service
      jboss.naming.context.java.TransactionManager
              at
      org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:87)
              at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:177)
              at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:82)
              at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:213)
              at javax.naming.InitialContext.lookup(InitialContext.java:392)
      [:1.6.0_27]
              at
      org.hibernate.transaction.JNDITransactionManagerLookup.getTransactionManager(JNDITransactionManagerLookup.java:57)
      [hibernate-core-3.3.2.GA.jar:]
              ... 43 more
      
      13:09:27,828 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (MSC
      service thread 1-4) Initializing Mojarra (1.2_13-b01-FCS) for context
      '/spring-booking-faces'
      13:09:30,184 SEVERE [javax.enterprise.resource.webcontainer.jsf.application]
      (MSC service thread 1-4) JSF1051: Service entry
      'org.jboss.as.web.deployment.jsf.JsfInjectionProvider' does not extend
      DiscoverableInjectionProvider.  Entry will be ignored.
      13:09:30,185 SEVERE [javax.enterprise.resource.webcontainer.jsf.application]
      (MSC service thread 1-4) JSF1030: The specified InjectionProvider
      implementation 'com.sun.faces.vendor.GlassFishInjectionProvider' cannot be
      loaded.
      13:09:30,185 SEVERE [javax.enterprise.resource.webcontainer.jsf.application]
      (MSC service thread 1-4) JSF1030: The specified InjectionProvider
      implementation 'com.sun.faces.vendor.Jetty6InjectionProvider' cannot be loaded.
      13:09:30,185 INFO  [javax.enterprise.resource.webcontainer.jsf.application]
      (MSC service thread 1-4) JSF1048: PostConstruct/PreDestroy annotations present.
       ManagedBeans methods marked with these annotations will have said annotations
      processed.
      13:09:30,642 ERROR [org.apache.catalina.core.StandardContext] (MSC service
      thread 1-4) Error listenerStart
      13:09:30,642 ERROR [org.apache.catalina.core.StandardContext] (MSC service
      thread 1-4) Context [/spring-booking-faces] startup failed due to previous
      errors
      13:09:30,643 INFO 
      [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/spring-booking-faces]]
      (MSC service thread 1-4) Closing Spring root WebApplicationContext
      13:09:30,645 INFO  [org.jboss.web] (MSC service thread 1-4) registering web
      context: /spring-booking-faces
      13:09:30,688 INFO  [org.jboss.as.server.controller] (DeploymentScanner-threads
      - 2) Deployed "spring-booking-faces.war"
      

      Expected results:

      JTA TransactionManager is injected from EAP6 to Spring-based app.

      Additional info:

      Can be fixed by providing new LookupManager, such as

      package org.jboss.wfk;
      
      import org.hibernate.transaction.JNDITransactionManagerLookup;
      
      public class AS7TransactionManagerLookup extends JNDITransactionManagerLookup {
      
          @Override
          public String getUserTransactionName() {
              return "UserTransaction";
          }
      
          @Override
          protected String getName() {
              return "java:jboss/TransactionManager";
          }
      
      }
      
      

              shaozliu Strong Liu(刘少壮) (Inactive)
              kpiwko Karel Piwko
              Scott Thomas Scott Thomas (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: