You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by Armin Waibel <ar...@apache.org> on 2004/04/08 14:11:47 UTC
[Fwd: Oracle9i platform does not work in managed environment]
Hi all,
can some Oracle guys comment this post from the user list?
How can we fix this? Think this platform class couldn't be used in
managed environments.
regards,
Armin
-------- Original Message --------
Hi,
It looks like the current Oracle9i platform does not workin a managed
environment (e.g. WebLogic). The problem
occurs when the connection is intialized
PlatformOracle9iImpl.initializeJdbcConnection(JdbcConnectionDescriptor jcd,
Connection conn)
which tries to set up a statement cache. As WebLogic wraps the Oracle
connection an exception is thrown
saying you cannot set the statement cache size through a logical connection.
Is it possible to have a flag
to say if statement caching is enabled or not?
Dougall
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org
Re: [Fwd: Oracle9i platform does not work in managed environment]
Posted by Martin Kalén <mk...@apache.org>.
Armin Waibel wrote:
> wow! sounds great!
> It's an an amazing idea to unwrap the connections and statements on
> Platform level to support DB specific features.
Yes, when I modified the last connections factory (DBCP) to also call
initializeJdbcConnection this opens up for all plaform impls to do
similar stuff by overriding this method.
If it's used elsewhere we can move some of the simple unwrapping code,
eg to the platform impl abstract base-class.
It's a bit tricky though since I am getting feedback on the user list
that Oracle-connections under JBoss (even if unwrapped and assignable
from oracle.jdbc.OracleConnection) refuse to set Oracle-specific
statement caching. But as long as P6Spy and DBCP works and as long as
managed platforms allow large BLOB/CLOB for unwrapped
connections/statments I think it's fine to leave connection tuning to
the J2EE container.
However, the Oracle9i platform have (finally!) stopped throwing
exceptions if extensions can't be enabled so it should be more graceful
and still work in unknown environments.
It used to be that lots of tests failed with Oracle9i + P6Spy and
BlobTest failed with DBCP but now all of those combinations work. (The
most interesting thing to debug is when using both Oracle10g
JDBC-driver, DBCP *and* P6Spy when the connection has to be unwrapped 3
times.) :-)
I am not seeing any noticeable performance degradation caused by the
unwrapping when running the tests, although this has to be verified by
the users in real-world situations...
Regards,
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org
Re: [Fwd: Oracle9i platform does not work in managed environment]
Posted by Armin Waibel <ar...@apache.org>.
wow! sounds great!
It's an an amazing idea to unwrap the connections and statements on
Platform level to support DB specific features.
Armin
Martin Kalén wrote:
> Armin Waibel wrote:
>
>> can some Oracle guys comment this post from the user list?
>> How can we fix this? Think this platform class couldn't be used in
>> managed environments.
>> -------- Original Message --------
>> It looks like the current Oracle9i platform does not workin a managed
>> environment (e.g. WebLogic). The problem
>> occurs when the connection is intialized
>
>
> FYI: this is (should be) fixed now and the separate Oracle9i + WebLogic
> platform has been deprecated.
>
> I have tested the unwrapping stuff with Oracle10g JDBC driver, DBCP,
> P6Spy and DBCP+P6Spy.
>
> I will keep the old WLOracl9i impl in CVS until a user with WebLogic
> reports back that the standard platform works.
>
>
> When running under an unknown/unimplemented managed environment no
> exceptions should be thrown and there should be a more linear
> degradability (extensions/large LOB support disabled instead of
> full-stop with exception).
>
> Regards,
> Martin
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-dev-help@db.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org
Re: [Fwd: Oracle9i platform does not work in managed environment]
Posted by Martin Kalén <mk...@apache.org>.
Armin Waibel wrote:
> can some Oracle guys comment this post from the user list?
> How can we fix this? Think this platform class couldn't be used in
> managed environments.
> -------- Original Message --------
> It looks like the current Oracle9i platform does not workin a managed
> environment (e.g. WebLogic). The problem
> occurs when the connection is intialized
FYI: this is (should be) fixed now and the separate Oracle9i + WebLogic
platform has been deprecated.
I have tested the unwrapping stuff with Oracle10g JDBC driver, DBCP,
P6Spy and DBCP+P6Spy.
I will keep the old WLOracl9i impl in CVS until a user with WebLogic
reports back that the standard platform works.
When running under an unknown/unimplemented managed environment no
exceptions should be thrown and there should be a more linear
degradability (extensions/large LOB support disabled instead of
full-stop with exception).
Regards,
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org
Re: [Fwd: Oracle9i platform does not work in managed environment]
Posted by Martin Kalén <ma...@curalia.se>.
Martin Kalén wrote:
>> How can we fix this? Think this platform class couldn't be used in
>> managed environments.
>
> By not throwing exceptions.
...or by using Matthew's WebLogic-specific Oracle platform impl that
had passed me unnoticed in the extreme ojb-dev traffic of late. ;-)
Cheers,
Martin
--
Martin Kalén
Curalia AB Web: http://www.curalia.se
Orrspelsvägen 2B Mail: info@curalia.se
SE-182 79 Stocksund Tel: +46-8-410 064 40
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org
Re: [Fwd: Oracle9i platform does not work in managed environment]
Posted by Martin Kalén <ma...@curalia.se>.
Rearranging original comments a bit for readability...
Armin Waibel wrote:
>> -------- Original Message --------
>> It looks like the current Oracle9i platform does not workin a managed
>> environment (e.g. WebLogic). The problem
>> occurs when the connection is intialized
>
>
>> PlatformOracle9iImpl.initializeJdbcConnection(JdbcConnectionDescriptor jcd,
>> Connection conn)
>
>> which tries to set up a statement cache. As WebLogic wraps the Oracle
>> connection an exception is thrown
>> saying you cannot set the statement cache size through a logical
>> connection.
>
> can some Oracle guys comment this post from the user list?
Don't have WebLogic at hand, but it seems resonable. I had a look at the
Oracle-specific optimisations in the Oracle9i platform and they all throw
exceptions if reflection lookups are successful but method invokation fail.
(Oracle-specific statement caching, row prefetching etc)
> How can we fix this? Think this platform class couldn't be used in
> managed environments.
By not throwing exceptions. This will be like saying "bummer; we were
close to enabling platform-specific optimisations but failed at the
finish line -- reverting to default standard JDBC behaviour" which is OK.
When Scarab (or my ISP?) wakes up again ;-) I will file an issue+patch for this.
Regards,
Martin
--
Martin Kalén
Curalia AB Web: http://www.curalia.se
Orrspelsvägen 2B Mail: info@curalia.se
SE-182 79 Stocksund Tel: +46-8-410 064 40
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org