Hi Parth,
So it works under JBoss, but not under Weblogic?
I have a few suspects - (1) some nested ClassLoader nastiness (Oracle
Clob implementation is loaded more than once), and (2) DataSource
wrapping objects, so that the java.sql.Clob available to Cayenne is
not a oracle.sql.CLOB. Another thing worth checking is that the Oracle
driver versions are the same on both app servers.
Anyways, I am inclined to believe that (2) is more likely. So I
reworked the algorithm to avoid using reflection for CLOB updates
under Oracle:
https://issues.apache.org/cayenne/browse/CAY-1085
This code is committed on trunk and should soon be available from the
Hudson server:
http://hudson.zones.apache.org/hudson/job/Cayenne-trunk/lastBuild/
http://hudson.zones.apache.org/hudson/job/Cayenne-trunk/lastBuild/org.apache.cayenne$cayenne-server/
(check the build info per link above; build # should be 175 or higher).
Let me know if that fixed the problem.
Thanks,
Andrus
On Jul 7, 2008, at 5:15 AM, Parth Pandya wrote:
Hi Guys,
I'm getting "java.lang.IllegalArgumentException: object is not an
instance of declaring class" in a webapplication. I think it's
something
to do with the way CLOB is handled in Cayenne 3.0M4. The full stack
trace is at the bottom. I tried the Jboss-Oracle combination and I
don't
get this exception on Jboss.
The environment details are:
Database - 10g
App server - Weblogic 9.2.2 on Solaris 10
Driver - Oracle Thin driver
Can you guys please advise on what are the likely cause of this?
Thanks a lot in advance.
Cheers,
Parth