I did this: context.mxl
<?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/mavenproject3"> <Realm className="realm.test.MyDataSourceRealm" dataSourceName="MyDataSource" userTable="usertable" userNameCol="usercol" userCredCol="passcol" userRoleTable="roltable" roleNameCol="rolcol"/> </Context> MyDataSourceRealm.java: package realm.test; import java.sql.Connection; import javax.naming.InitialContext; import javax.sql.DataSource; public class MyDataSourceRealm extends org.apache.catalina.realm.DataSourceRealm{ @Override protected Connection open() { DataSource dataSource = null; try{ dataSource = (DataSource)new InitialContext().lookup("java:openejb/Resource/" + dataSourceName); return dataSource.getConnection(); } catch(Exception e){ e.printStackTrace(); } return null; } } And i always get ClassNotFoundException: Severe: Begin event threw exception java.lang.ClassNotFoundException: realm.test.KxDataSourceRealm My class is in my same project, and the package is correct, i dont know why my class cannot be found. What can be?? Thanks 2012/5/14 Romain Manni-Bucau <rmannibu...@gmail.com> > here the issue https://issues.apache.org/jira/browse/TOMEE-191 > > here a sample > http://openejb.apache.org/examples-trunk/realm-in-tomee/README.html > > - Romain > > > 2012/5/15 Romain Manni-Bucau <rmannibu...@gmail.com> > > > 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* > >> > ------------------------------------------------------------------- > >> > > >> > > > > > -- ------------------------------------------------------------------- *SCJA. José Luis Cetina* -------------------------------------------------------------------