On Tue, 21 Aug 2001, Lin, Zhongwu wrote:
> Craig,
>
> This bring up an interesting question:
>
> In installation guide for soap 2.2, it requires that mail.jar,
> activation.jar etc be in CLASSPATH for Tomcat 3.2. But for Tomcat 4.0 do we
> put them in
>
> $CATALINA_HOME/common/lib
> or include these jar files in the CLASSPATH.
> I don't see documentation on this topic.
>
The docs are coming soon. Short answer of where to put JARs depends on
where you need them visible:
* $CATALINA_HOME/common/lib - Visible to *both* Catalina internal classes
and to web applications. The JDBC optional package JAR needed to go
here.
* $CATALINA_HOME/server/lib - Visible to Catalina internal classes (your
own custom realms, the JDBC driver used by JDBCRealm, and so on).
* $CATALINA_HOME/lib - Visible to web apps only
In the particular case of the SOAP 2.2 stuff (or JAXM, or lots of other
applicaiton only things), Catalina internal classes don't get involved, so
you can put mail.jar and activation.jar into $CATALINA_HOME/lib.
>
> Zhongwu
>
Craig
>
> > -----Original Message-----
> > From: Craig R. McClanahan [SMTP:[EMAIL PROTECTED]]
> > Sent: Monday, August 20, 2001 5:16 PM
> > To: [EMAIL PROTECTED]
> > 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
> > >
>