it should be in tomee libs, not your project. (another solution is to use
the snapshot ;) and use the default datasource realm)

- Romain


2012/5/15 José Luis Cetina <maxtorz...@gmail.com>

> 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*
> -------------------------------------------------------------------
>

Reply via email to