ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: iBatis within EAR files
Date Fri, 07 Apr 2006 18:16:17 GMT
Ah - you didn't say that my.jar was an EJB jar, so I wondered.

It looks like the iBATIS classes CAN be found, but that the iBATIS classes
cannot find the resources in my.jar.  So it's not an issue of the
MANIFIEST.MF being setup improperly.  This probably means that the iBATIS
classes are not really being loaded by the EAR classloader as you want them
to be - probably they are being loaded by some parent to the EAR
classloader.  Maybe the iBATIS JARs are in some global classpath?  An
interesting experiment would be to remove the iBATIS jar files from the EAR
and see if you get the same error (i.e. IBATIS can be found, but the
resources can't be found).  This would confirm the problem.

In WebSphere we would have this same issue if the iBATIS JAR files were
added to the application server's classpath - something we would never do on
purpose.  Maybe you've got a similar problem?

Sorry I can't be more help with JBoss.  But you shouldn't have to fiddle
with the context classloader.

Jeff Butler


On 4/7/06, Alexander Sack <pisymbol@gmail.com> wrote:
>
> The client?  The client is in my.jar which is a bunch of EJBs plus a class
> wrapping a DAO.  The war file is in a separate deployment.  It looks up an
> EJB interface, calls it.  The interfaces are shared in a common library
> outside both WAR and EAR (global scope).
>
> That eventually gets me inside my.jar.  my.jar DAO wrapper classes calles
> getResourceAsReader()"com/blah/blah)."
>
> The ibatis libraries are part of the my.jar MANIFEST within the EAR.  The
> ibatis libraries are in the EAR under a lib directory (MANIFEST has
> Class-Path entres lib/ibatis.jar ,etc.)..
>
> The only way for me to get this to work is to use Thread.currentThread
> ().setContextClassLoader(myDAO.class.getClassLoader()) before calling the
> getResourceAsReader() but then for a common typeHandler callback defined in
> an external library (with global scope) is not found.  I'm not even sure if
> I really should have to do this.
>
> Thanks for the feedback,
>
> -aps
>
>
> On 4/7/06, Jeff Butler <jeffgbutler@gmail.com> wrote:
> >
> >  What's the client?  my.war?  myejb.jar?  Make sure that my.jar is in
> > the manifest classpath of the client.
> >
> > I have the ibatis*.jar files in the EAR on WebSphere and have no
> > troubles - but the different module's classpaths do need to be setup
> > properly.
> >
> > Jeff Butler
> >
> >
> >  On 4/7/06, Alexander Sack <pisymbol@gmail.com > wrote:
> > >
> > > Hello iBatis Folks,
> > >
> > > I have this problem when using iBatis within in an EAR (I posted this
> > > in the JBoss Forum but so far no solution):
> > >
> > > my.ear
> > > my.jar
> > > my.jar/META-INF/MANIFEST.MF
> > > lib/ibatis*.jar
> > > my.jar/com/blah/blah/mapfile.xml
> > >
> > > The MANIFEST.MF file has Class-Path: lib/ibatis*.jar etc.  When the
> > > EAR gets deployed, the getResourceReader() can not find the map files within
> > > the my.jar file!  It seems that getResourceReader("com/blah /balh")
> > > can't find it in the current classpath.  I noticed that the iBatis Resource
> > > object is using the current thread's context classloader which I'm not sure
> > > seems right to me for this scenario.
> > >
> > > If I set the currentThread.setContextClassLoader() to my objects class
> > > loader, it can then find the map files witin the JAR but then can't find a
> > > typeHandler class in a common library outside the EAR (EARs are scoped).  So
> > > this isn't going to work for me.
> > >
> > > Any clue on how to solve this or how I should load map files witin a
> > > module in an EAR deployment?  What's the best practices regarding iBatis and
> > > EAR files?
> > >
> > > Thanks!
> > >
> > > -aps
> > >
> > >
> > > --
> > > "What lies behind us and what lies in front of us is of little concern
> > > to what lies within us." -Ralph Waldo Emerson
> > >
> >
> >
>
>
> --
> "What lies behind us and what lies in front of us is of little concern to
> what lies within us." -Ralph Waldo Emerson
>

Mime
View raw message