Craig--
Thanks -- that was exactly it. I had the jdbc extensions in the
WEB-INF/lib directory. I moved it to the common/lib directory, and
everything is working great!
-jason
"Craig R. McClanahan" <[EMAIL PROTECTED]>
Sent by: craigmcc@localhost
08/20/2001 05:15 PM
Please respond to tomcat-user
To: [EMAIL PROTECTED]
cc:
Subject: Re: tomcat 4 datasource casting
Where do you have the jdbc2_0-stdext.jar file? I'm betting that it needs
to be in $CATALINA_HOME/common/lib only for this to work -- because JAR
files here are on the class loading path for both Catalina internal
classes and web application classes.
Craig
On Mon, 20 Aug 2001 [EMAIL PROTECTED] wrote:
> Hello all,
>
> I read the great message Craig McClanahan posted in the archives (from
> Aug 4) about how to setup and use a tomcat 4 datasource. All has seemed
> to go pretty well, but I'm having a funny problem, which I'm not sure is
a
> Tyrex problem, a Tomcat 4 problem or a Java education problem on my part
> :). (I'm using Tomcat 4 beta 7)
>
> When I try to get a DataSource from JNDI, I can retrieve a reference
just
> fine. The problem is that I am having trouble casting it to a
> javax.sql.DataSource. It returns an instance of
> tyrex.jdbc.xa.EnabledDataSource. If I try to cast to
> javax.sql.DataSource, I get a ClassCastException from the server. I
> looked up this class in the Tyrex API docs, and it does in fact
implement
> javax.sql.DataSource -- I think I should be able to cast to it because
of
> that. If I work with the tyrex implementation directly, all is ok
(i.e.,
> calling tyrex.jdbc.xa.EnabledDataSource.getConnection()), but I
obviously
> won't want to care about the particular implementation in this case.
>
> If it helps, here is the code I'm trying to use:
>
> --------------------------
> ctx = new InitialContext();
> ds = (DataSource)ctx.lookup("java:comp/env/jdbc/lis_ds");
> --------------------------
>
> That failed, so I added this for debugging:
>
> --------------------------
> Object o = ctx.lookup("java:comp/env/jdbc/lis_ds");
> if (o == null) {
> System.out.println("looked up a null object");
> } else {
> System.out.println("o is of type: " + o.getClass().getName()); //<--
> prints "tyrex.jdbc.xa.EnabledDataSource"
> }
> --------------------------
>
> The exceptions I get are like this:
>
> --------------------------
> java.lang.ClassCastException: tyrex.jdbc.xa.EnabledDataSource
> at report.ReportPrefs.setDateDefaults(ReportPrefs.java:52)
> at report.ReportPrefs.<init>(ReportPrefs.java:16)
> at java.lang.Class.newInstance0(Native Method)
> at java.lang.Class.newInstance(Class.java:237)
> at java.beans.Beans.instantiate(Beans.java:207)
> at java.beans.Beans.instantiate(Beans.java:51)
> ........
> --------------------------
>
> Any ideas?
>
> Thanks,
> Jason Vasquez
>