Ok i add my class in a jar file, but im getting:

javax.naming.NameNotFoundException:The name openejb/Resource/MyDataSource
does not exist in the current context.

is  openejb/Resource/MyDataSource  the correct directory for use the
datasource?

2012/5/15 Romain Manni-Bucau <rmannibu...@gmail.com>

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



-- 
-------------------------------------------------------------------
*SCJA. José Luis Cetina*
-------------------------------------------------------------------

Reply via email to