-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: can not bind persistence unit to jndi
PostPosted: Mon Aug 17, 2009 9:36 am 
Newbie

Joined: Mon Aug 17, 2009 9:31 am
Posts: 1
Hi,

I am working with JBoss 4.2.3, springframework 2.5, and Hibernate for my web app. I am trying to bind the persistence unit configured in the persistence.xml to jndi but to no avail. Could somebody shed some light on me about the right approach? Thanks.

Here is my configuration and stack trace. I could not find the MyAppPU under the jndi view.

web.xml:
Code:
<?xml version="1.0" encoding="UTF-8"?>


<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


   <listener>
      <listener-class>
         org.springframework.web.context.ContextLoaderListener
      </listener-class>
   </listener>



   
   

   <servlet>
      <servlet-name>********</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   


   <persistence-unit-ref>
      <description> Persistence unit for the application. </description>
      <persistence-unit-ref-name>persistence/MyAppPU</persistence-unit-ref-name>
      <persistence-unit-name>MyAppPU</persistence-unit-name>      
   </persistence-unit-ref>

   


   <jsp-config>
      <taglib>
         <taglib-uri>/spring</taglib-uri>
         <taglib-location>
            /WEB-INF/tld/spring-form.tld
         </taglib-location>
      </taglib>
      
   </jsp-config>

</web-app>


applicationContext.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:seam="http://jboss.com/products/seam/spring-seam"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xmlns:jee="http://www.springframework.org/schema/jee"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:util="http://www.springframework.org/schema/util"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
           http://www.springframework.org/schema/jee
           http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
           http://jboss.com/products/seam/spring-seam
           http://jboss.com/products/seam/spring-seam-2.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/util
           http://www.springframework.org/schema/util/spring-util-2.5.xsd">

   <!-- <seam:configure-scopes default-auto-create="true" />  -->

   <context:annotation-config />
   <context:component-scan
      base-package="************">
   </context:component-scan>

   <bean
      class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
   <bean
      class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
   </bean>




   

   <jee:jndi-lookup id="entityManagerFactory" jndi-name="java:/MyAppPU"/>
   
   

   <bean
      class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor">
   </bean>

   

   <jee:jndi-lookup id="dataSource" jndi-name="**********" />

   <bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   </bean>

    <tx:jta-transaction-manager />
   <tx:annotation-driven transaction-manager="txManager" />
   
   <!-- Let's access the JTA transaction manager of the application server -->
    <bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager">
        <property name="transactionManagerName" value="java:/TransactionManager"/>
        <property name="userTransactionName" value="UserTransaction"/>
    </bean>
   
   

   <!-- TaskExecutor for example use of @Asynchronous -->
   <bean id="springThreadPoolTaskExecutor"
      class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" />


   <aop:config>
      <aop:advisor pointcut="execution(* *..*******.*(..))"
         advice-ref="txAdvice" />
   </aop:config>

   <tx:advice id="txAdvice">
      <tx:attributes>
         <tx:method name="save*" />
         <tx:method name="*" read-only="true" />
      </tx:attributes>
   </tx:advice>

</beans>


persistence.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="MyAppPU" transaction-type="JTA" >
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:MyDS</jta-data-source>       
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.cache.use_second_level_cache" value="false" />
         <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
         <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
         <property name="hibernate.transaction.flush_before_completion" value = "true"/>      
         <property name="jboss.entity.manager.jndi.name" value="java:/MyAppEM"/>
         <property name="jboss.entity.manager.factory.jndi.name" value="java:/MyAppPU"/>            
      
      </properties>
    </persistence-unit>
</persistence>



stack trace:
Code:
08:25:43,010 INFO  [0]] Initializing Spring root WebApplicationContext
08:25:43,010 INFO  [ContextLoader] Root WebApplicationContext: initialization started
08:25:43,119 INFO  [XmlWebApplicationContext] Refreshing org.springframework.web.context.support.Xml
WebApplicationContext@16a93b8: display name [Root WebApplicationContext]; startup date [Mon Aug 17 0
8:25:43 EDT 2009]; root of context hierarchy
08:25:43,353 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from ServletContext resour
ce [/WEB-INF/applicationContext.xml]
08:25:44,072 INFO  [XmlWebApplicationContext] Bean factory for application context [org.springframew
ork.web.context.support.XmlWebApplicationContext@16a93b8]: org.springframework.beans.factory.support
.DefaultListableBeanFactory@121784f
08:25:45,182 INFO  [JtaTransactionManager] Using JTA UserTransaction: org.jboss.tm.usertx.client.Ser
verVMClientUserTransaction@90a278
08:25:45,182 INFO  [JtaTransactionManager] Using JTA TransactionManager: com.arjuna.ats.jbossatx.jta
.TransactionManagerDelegate@19a82ee
08:25:46,713 ERROR [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataHandler'
defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to b
ean 'dataRepository' while setting bean property 'dataRepository'; nested exception is org.springfra
mework.beans.factory.BeanCreationException: Error creating bean with name 'dataRepository': Injectio
n of persistence fields failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefi
nitionException: No unique bean of type [javax.persistence.EntityManagerFactory] is defined: expecte
d single bean but found 0
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with nam
e 'entityManagerFactory': Invocation of init method failed; nested exception is javax.naming.NameNot
FoundException: MyAppPU not bound
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with nam
e 'entityManagerFactory': Invocation of init method failed; nested exception is javax.naming.NameNot
FoundException: MyAppPU not bound
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefin
itionValueResolver.java:275)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(Be
anDefinitionValueResolver.java:104)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues
(AbstractAutowireCapableBeanFactory.java:1244)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(Abstra
ctAutowireCapableBeanFactory.java:1008)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(Abstra
ctAutowireCapableBeanFactory.java:470)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutow
ireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(Abstract
AutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.ja
va:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingl
etonBeanRegistry.java:217)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java
:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:1
85)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:1
64)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateS


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.