You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Mariano <ml...@sescam.org> on 2008/01/02 10:54:16 UTC
Problem getting GlobalNamingResources DataSource DBCP from Custom JAAS
Hi all, I have a custom JAAS implemented in Tomcat 5.5.25. This custom JAAS
works fine and i am trying to implement the same custom JAAS in Tomcat
6.0.14 but i have a problem and after deep searching in mailing lists and
web I haven't found anything.
The configuration is the following:
server.xml:
<GlobalNamingResources>
<Resource name="jdbc/dataSource_usuarios_aplicaciones_Local"
auth="Container"
type="javax.sql.DataSource"
description="BBDD MySQL 5.0 donde se almacenan los grupos de
usuarios."
driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
maxActive="20" maxIdle="10" maxWait="30000"
minEvictableIdleTimeMillis="30000"
username="dbcplodi"
password="infor123"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="10000"
url="jdbc:mysql://localhost:3306/usuarios_aplicaciones?autoRe
connectForPools=true&connectTimeout=30000"
validationQuery="SELECT 1" />
</GlobalNamingResources>
....
....
<Engine name="Catalina" defaultHost="localhost">
...
<Realm className="org.apache.catalina.realm.JAASRealm"
resourceName="jdbc/dataSource_usuarios_aplicaciones_Local"
appName="UsuariosAplicaciones"
userClassNames="org.sescam.chua.AutenticacionTomcatChua.Usuar
ioChuaLDAP"
roleClassNames="org.sescam.chua.AutenticacionTomcatChua.Grupo
ChuaPrincipal"/>
...
</Engine>
All libraries are placed in %TOMCAT_HOME%/lib folder.
I deleted the custom JAAS just to try if DBCP is well initialized with this
URL in navigator: http://localhost:9080/manager/resources and the DBCP is
correctly configured.
The tomcat server started with JVM
property: -Djava.security.auth.login.config=C:\.......\jaas.config
The class that implements 'LoginModule' interface has the following code in
initialize method:
DataSource dataSourceSQL = null;
try {
Context ctx = new InitialContext();
Context envContext = (Context) ctx.lookup("java:comp/env");
dataSourceSQL = (DataSource)
envContext.lookup("jdbc/dataSource_usuarios_aplicaciones_Local");
LoginModuloChua.entidadesDAO = new EntidadesDAO(dataSourceSQL);
} catch (NamingException ex) {
LoginModuloChua.entidadesDAO = null;
log_ERROR("Se ha producido una NamingException con " +
"nombreJndiDBCP: '" + this.nombreJndiDBCP + "' en " +
"'initialize' -> iniciando 'entidadesDAO': " +
ex.getMessage());
ex.printStackTrace();
}
And always throws the following exception:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
Please any idea ?.
Best regards and thank you very much,
Mariano López
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problem getting GlobalNamingResources DataSource DBCP from Custom
JAAS
Posted by Mark Thomas <ma...@apache.org>.
Mariano wrote:
> Please any idea ?.
Try looking at how the DataSourceRealm does it.
http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/DataSourceRealm.java
Mark
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org