[jboss-user] Help with JNDI datasource for JPA?
Jari Fredriksson
jarif at iki.fi
Wed Dec 10 10:29:52 EST 2008
> I'm trying to set up a JNDI datasource that will be used by a JPA
> application. Everything seems to go along fine until the JPA system
> attempts to find the name to bind to. Then I get the following exception:
>
> 13:41:11,144 ERROR [AbstractKernelController] Error installing to Start:
> name=persistence.unit:unitName=#punit state=Create
> javax.naming.NameNotFoundException: env not bound
>
> Here is my JNDI datasource definition:
> (I'm setting up the name as a "comp/env" in an attempt to be compatible
> with Jetty for development purposes. If there's a better way, I'm all
> ears.)
> <datasources>
> <local-tx-datasource>
> <jndi-name>comp/env/salient/dataSource</jndi-name>
> <connection-url>jdbc:mysql://localhost:3306/xxx</connection-url>
> <driver-class>com.mysql.jdbc.Driver</driver-class>
> <user-name>xxx</user-name>
> <password>xxx</password>
> <connection-property
> name="autoReconnect">true</connection-property>
> </local-tx-datasource>
> </datasources>
>
> Here is my persistence unit definition for JPA:
>
> <persistence-unit name="punit">
> <jta-data-source>java:comp/env/salient/dataSource</jta-data-source>
> </persistence-unit>
>
> Any thoughts?
> Thanks,
> Dave
Do it this way:
<datasources>
<local-tx-datasource>
<jndi-name>salient/dataSource</jndi-name>
<use-java-context>false</use-java-context>
and in persistence unit
<persistence-unit name="punit">
<jta-data-source>salient/dataSource</jta-data-source>
</persistence-unit>
The key here is that "use-java-context" false.
More information about the jboss-user
mailing list