Hello,

I posted this message previously in the users list, but without any
answers. I hope that someone in the dev list will be able to provide
some help on this matter.

I am using tapestry 5.3.2 with JBoss 7, and I'm having some problems
when using a JBoss datasource with JPA.

My datasource configuration:

               <datasource jta="false"
jndi-name="java:jboss/myDatasource" pool-name="mysqlDS" enabled="true"
use-java-context="true" use-ccm="true">
                   (...)
               </datasource>

My persistence.xml configuration:

   <persistence-unit name="my-pu"
       transaction-type="RESOURCE_LOCAL">
       <provider>org.hibernate.ejb.HibernatePersistence</provider>
       <non-jta-data-source>java:jboss/myDatasource</non-jta-data-source>
       (...)
   </persistence-unit>

Looking at the code in the PersistenceUnitInfoImpl of tapestry-jpa
5.3.2 I found the following:

   private DataSource lookupDataSource(final String name)
   {
       try
       {
           // TODO: Create InitialContext with environment properties?
           final Context initContext = new InitialContext();

           final Context envContext = (Context)
initContext.lookup("java:jboss");

           return (DataSource) envContext.lookup(name);
       } catch (final NamingException e)
       {
           throw new RuntimeException(e);
       }

   }

In JBoss 7 the env context should be retrieved from java:jboss, e.g.:

           final Context initContext = new InitialContext();
           final Context envContext = (Context)
initContext.lookup("java:jboss");
           return (DataSource) envContext.lookup("myDatasource");

So my question is: how can I change the datasource lookup without
changing the PersistenceUnitInfoImpl code?

Best regards,
Miguel

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
For additional commands, e-mail: dev-h...@tapestry.apache.org

Reply via email to