On Wed, Sep 3, 2014 at 11:51 AM, Robert Anderson <ranom...@gmail.com> wrote:

> Ok! :)
>
> Steps to reproduce:
>
> 1)Download and unpack 6.0.39
>
>
> http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.39/bin/apache-tomcat-6.0.39.tar.gz
>
> 2) Create a global jndi resouce in server.xml
>
> ....
> <GlobalNamingResources>
>         <Resource name="jdbc/cacheapp" auth="Container"
> type="javax.sql.DataSource" removeAbandoned="true"
> removeAbandonedTimeout="300"
>                                    maxActive="10" maxIdle="2" minIdle="1"
> maxWait="10000"
>                    validationQuery="select 1 from dual"
>                    testOnBorrow="true"
>                                    validationInterval="0"
>                                    username="_system" password="SYS"
> driverClassName="com.intersys.jdbc.CacheDriver"
>                                    url="jdbc:Cache://localhost:1972/USER"/>
>
>   </GlobalNamingResources>
> ...
>
> 3) Install psi-probe:
> https://code.google.com/p/psi-probe/downloads/detail?name=probe-2.3.3.zip,
> unpack and copy probe.war to webapps dir;
>
> 4)  Edit tomcat-users.xml
>
> <role rolename="probeuser" />
>   <role rolename="poweruser" />
>   <role rolename="poweruserplus" />
>   <role rolename="manager" />
>
>   <user username="admin" password="t0psecret" roles="manager" />
>
> 5) Start tomcat and go to  http://localhost:8080/probe/datasources.htm
>
> It will list global jndi resources.
>
>
> Instead of Tomcat 6.0.39, use 6.0.41 and probe will not list global jndi
> resources anymore.
>

I tried these steps with Tomcat 7.0.55 and was able to replicate the
problem.  I was also able to resolve the problem by adding a ResourceLink
tag.

<?xml version='1.0' encoding='utf-8'?>
<Context privileged="true">
    <ResourceLink name="jdbc/myDb" global="jdbc/myDb" />
</Context>

I'm going to try with Tomcat 6.0.39 and 6.0.41 as well.

Dan



>
> Thanks.
>
>
>
> 2014-09-03 12:39 GMT-03:00 Filip Hanik <fi...@hanik.com>:
>
> > can you post your configuration file. that will be the only way we can
> help
> > you fix it, as I doubt tomcat will go back to pre 6.0.41 days :)
> >
> > Filip
> >
> >
> >
> > On Wed, Sep 3, 2014 at 9:36 AM, Robert Anderson <ranom...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > >
> > > In a privileged context, a have the following jsp to test a global jndi
> > > resource:
> > >
> > > <%@ page session="false" import="java.util.*,java.sql.*,javax.naming.*,
> > > javax.sql.*,org.apache.commons.dbcp.*" contentType="text/html" %>
> > > <%!
> > >
> > > protected void doLookup(JspWriter out) throws ServletException,
> > IOException
> > > {
> > >  Context ctx;
> > >  try {
> > >   ctx = new InitialContext();
> > >   Object o = ctx.lookup("java:jdbc/cacheapp");
> > >   out.println(o);
> > >
> > >
> > >  } catch (NamingException e) {
> > >   out.println(e.getMessage());
> > >  } catch (Exception e) {
> > >  }
> > >  }
> > >
> > > %>
> > >
> > > <html>
> > > <head>
> > >   <title>Test JNDI</title>
> > > </head>
> > > <body>
> > >
> > > <h1>Teste JNDI</h1>
> > > <hr/>
> > > <%
> > > doLookup(out);
> > > %>
> > > <hr/>
> > >
> > > </body>
> > > </html>
> > >
> > >
> > > Versions earlier than 6.0.41:
> > >
> > > org.apache.tomcat.jdbc.pool.DataSource@29050dfd
> > > {ConnectionPool[defaultAutoCommit=null;
> > > defaultReadOnly=null; defaultTransactionIsolation=-1;
> > defaultCatalog=null;
> > > driverClassName=com.intersys.jdbc.CacheDriver; maxActive=10; maxIdle=2;
> > > minIdle=1; initialSize=10; maxWait=10000; testOnBorrow=true;
> > > testOnReturn=false; timeBetweenEvictionRunsMillis=5000;
> > > numTestsPerEvictionRun=0; minEvictableIdleTimeMillis=60000;
> > > testWhileIdle=false; testOnConnect=false; password=********;
> > > url=jdbc:Cache://localhost:1972/USER; username=tomcat;
> > > validationQuery=select 1 from dual; validationQueryTimeout=-1;
> > > validatorClassName=null; validationInterval=0;
> > > accessToUnderlyingConnectionAllowed=true; removeAbandoned=true;
> > > removeAbandonedTimeout=300; logAbandoned=false;
> > connectionProperties=null;
> > > initSQL=null; jdbcInterceptors=null; jmxEnabled=true; fairQueue=true;
> > > useEquals=true; abandonWhenPercentageFull=0; maxAge=0; useLock=false;
> > > dataSource=null; dataSourceJNDI=null; suspectTimeout=0;
> > > alternateUsernameAllowed=true; commitOnReturn=false;
> > > rollbackOnReturn=false; useDisposableConnectionFacade=true;
> > > logValidationErrors=false; propagateInterruptState=false;
> > > ignoreExceptionOnPreLoad=false; }
> > >
> > >
> > > 6.0.41 and 7.0.55:
> > >
> > > Name jdbc is not bound in this Context
> > >
> > > That is a bug?
> > >
> > >
> > > We are having a issue in psi-probe because this behavior change (
> > > https://code.google.com/p/psi-probe/issues/detail?id=411).
> > >
> > >
> > > Thanks in advance.
> > >
> >
>

Reply via email to