seems using org.apache.catalina.realm.DataSourceRealm doesn't work out of the box (currently hacking on it).
extending it and overriding org.apache.catalina.realm.DataSourceRealm#open() to make: DataSource dataSource = (DataSource)new InitialContext().lookup("java:openejb/Resource/" + dataSourceName); should be enough as a workaround. - Romain 2012/5/14 Jean-Louis MONTEIRO <jeano...@gmail.com> > That seems correct to me. > Can you try adding the property localDataSource=true > to the following realm definition ? > > <Realm > className="org.apache.catalina.realm.DataSourceRealm" > dataSourceName="MyDataSource" > userTable="userTable" > userNameCol="user" > userCredCol="pass" > userRoleTable="rolTable" > roleNameCol="rol"/> > > That should hopefully do the trick as Tomcat will lookup to the right > context. > The only issue that may happen is the order. I mean, may be Tomcat gonna > lookup the resource before TomEE fully initialize and register the > datasource. > > Anyway, let's proceed with the property. We can continue investigating > after. > > Jean-Louis > > 2012/5/14 José Luis Cetina <maxtorz...@gmail.com> > > > Hi my web app use openJPA for database CRUD, i configure like this: > > > > tomee.xml: > > > > <Resource id="MyDataSource" type="DataSource"> > > JdbcDriver com.mysql.jdbc.Driver > > JdbcUrl jdbc:mysql://localhost:3306/mydatabase?autoReconnect=true > > UserName myuser > > Password mypass > > JtaManaged true > > </Resource> > > > > <Resource id="MyUnmanagedDataSource" type="DataSource"> > > JdbcDriver com.mysql.jdbc.Driver > > JdbcUrl jdbc:mysql://localhost:3306/mydatabase?autoReconnect=true > > UserName myuser > > Password mypass > > JtaManaged false > > </Resource> > > > > > > my persistence.xml: > > > > <persistence version="2.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_2_0.xsd"> > > <persistence-unit name="testPU" transaction-type="JTA"> > > > > > <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> > > <jta-data-source>MyDataSource</jta-data-source> > > <non-jta-data-source>MyUnmanagedDataSource</non-jta-data-source> > > . > > . > > . > > </persistence> > > > > > > MyEJB.java > > > > @Stateless > > public class MyEJB { > > > > @PersistenceContext(name="testPU") > > private EntityManager em; > > > > public void test(){ > > ..... > > em.createQuery("SELECT o FROM Table o").getResultList(); > > ........ > > } > > } > > > > > > And all of this works without any trouble. :) > > > > > > Now im trying to use DataSourceRealm with the same Datasource (tomee.xml) > > but doesnt work > > > > context.xml > > > > <Realm > > className="org.apache.catalina.realm.DataSourceRealm" > > dataSourceName="MyDataSource" > > userTable="userTable" > > userNameCol="user" > > userCredCol="pass" > > userRoleTable="rolTable" > > roleNameCol="rol"/> > > > > I expect the realm take the same DataSource from tomee.xml but this > doesnt > > happend: > > > > Severe: ........ > > The MyDataSource name is not associated to this context. > > > > > > Is there a way to use the same datasource (tomee.xml) > > > > If i use JDBCRealm it works, but i want to reuse the same datasource > > config. > > > > > > Any? > > > > > > > > -- > > ------------------------------------------------------------------- > > SCJA. José Luis Cetina > > ------------------------------------------------------------------- > > > > > > -- > > ------------------------------------------------------------------- > > *SCJA. José Luis Cetina* > > ------------------------------------------------------------------- > > >