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