Hi David!

I think, you do not need to explicitely define a bean factory because Tomcat 5 automatically uses dbcp for JNDI-DataSources (I think tomcat looks at the type of resource - in your case a javax.sql.DataSource - and uses the tomcat-internal dbcp-factory). In my project, I've configured a JNDI-DataSource using the Oracle thin driver and it works perfectly without specifying a bean factory and without adding any special libraries to my tomcat installation (apart from the oracle database driver which is in commons/lib).

So try the following configuration:

<Resource name="jdbc/as400" auth="Container"
type="javax.sql.DataSource"
maxActive="20" maxIdle="10" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="60"
logAbandoned="true"
driverClassName="com.ibm.as400.access.AS400JDBCDriver"
url="jdbc:as400://a53pb3;naming=system;libraries=,pgmdbt,caelib;errors=full"
username="userid" password="password"
/>


Again: You do not need any additional commons-libraries!

Best regards,
 Tex

Hi Mario,

Thanks for getting back to me.  Below is the context I set up.

After doing my own digging, I realized I was missing some jakarta commons jar files. After getting these jars and restarting Tomcat the ClassNotFoundExceptions went away.

What I find really puzzling though is why I didn't get the same ClassNotFoundException on my local machine that was running the same version of Tomcat but on Windows XP profession.


<Context debug="0" privileged="true">

<!-- the jdbc driver's jar needs to go into $CATALINA_HOME/common/lib -->
<Resource name="jdbc/as400" auth="Container"
type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20" maxIdle="10"
maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="60"
logAbandoned="true"
driverClassName="com.ibm.as400.access.AS400JDBCDriver"


url="jdbc:as400://a53pb3;naming=system;libraries=,pgmdbt,caelib;errors=full"
username="userid" password="password"/>


</Context>









Mario Winterer <[EMAIL PROTECTED]> 02/02/2005 07:19 PM
Please respond to
"Tomcat Users List" <tomcat-user@jakarta.apache.org>



To Tomcat Users List <tomcat-user@jakarta.apache.org> cc

Subject
Re: Tomcat 5.5.4/Windows 2000 server - Failed to register in JMX: BasicDataSourceFactory







Hi!

How did you define your JDBC DataSource?
As far as I know, the original jakarta-commons-dbcp and jakarta-commons-pool-libraries are not included with Tomcat. Instead, just a subset of the required classes with modified package names (starting with 'org.apache.tomcat.dbcp') are packed in 'naming-factory-dbcp.jar' that can be found in commons/lib.
But if you configure your JDBC DataSource correctly, this should not bother. Please post your resource-configuration!


Best regards,
 Tex



I'm running Tomcat 5.5.4 on Windows 2000 Server and encountered the below




error on Tomcat startup:

Feb 2, 2005 10:50:49 AM org.apache.catalina.core.NamingContextListener addResource
WARNING: Failed to register in JMX: javax.naming.NamingException: Could not create resource factory, ClassNotFoundException:org.apache.commons.dbcp.BasicDataSourceFactory



My webapp uses JDBC DataSource's and the BasicDataSourceFactory for pooling so this problem of "ClassNotFoundException" is causing my webapp to not work properly.


I have Tomcat 5.5.4 also installed on my local maching which has Windows XP on it, and there is absolutely no problem on startup and and my

webapp.


Does anyone no what's happening here? Why does Tomcat register the BasicDataSourceFactory with no problems in Tomcat 5.5.4 on Windows XP and




not on Windows 2000 Server?








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to