Hi

Can't wait for your new JCA connector. I'm using connection pooling in
WebLogic.


-----Original Message-----
From: Matthew Baird [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 26, 2003 9:13 AM
To: OJB Users List
Subject: New Functionality: Oracle-style JDBC Batching

For all our Oracle 9i users out there:

Oracle has a special style of batching which is higher performance than
normal JDBC batching. See
http://technet.oracle.com/products/oracle9i/daily/jun07.html for more
information.

No special configurations are required, just make sure Batching is set to on
in your connection information (repository_database.xml)
ie. 
<jdbc-connection-descriptor
                jcd-alias="default"
                default-connection="true"
                platform="Oracle9i"
                jdbc-level="2.0"
                driver="oracle.jdbc.driver.OracleDriver"
                protocol="jdbc"
                subprotocol="oracle"
                dbalias="thin:@machine:1521:SID"
                username="user"
                password="password"
                eager-release="false"
                batch-mode="true"
                useAutoCommit="1"
                ignoreAutoCommitExceptions="false">

and use the new Oracle9i Platform setting in your build.properties
ie.

profile=oracle9i

The implementation in the PlatformOracle9iImpl uses reflection to try and
find the Oracle specific batching methods. It will degrade gracefully to use
the default JDBC batching if the methods are not found.

If your PreparedStatements are wrapped (ie you obtain connections from a
JDBC pool in JBOSS) the Oracle batching will not work, as it won't find the
methods. This will not be an issue after I check in the JCA connector, as
you will use a raw connection and raw preparedstatements rather than from
the app servers datasource (much easier to debug!). Just waiting for Thomas
to tell me how/when to check that stuff in :)

example results:

PersistenceBroker API with Oracle style Batching
[ojb] [performance] INFO: inserting 2500 Objects: 329 msec
[ojb] [performance] INFO: updating 2500 Objects: 406 msec
[ojb] [performance] INFO: deleting 2500 Objects: 391 msec
[ojb] [performance] INFO:
[ojb] [performance] INFO: inserting 2500 Objects: 344 msec
[ojb] [performance] INFO: updating 2500 Objects: 406 msec
[ojb] [performance] INFO: deleting 2500 Objects: 375 msec

Raw JDBC with no batching
[jdbc] [performance] INFO: inserting 2500 Objects: 1188 msec
[jdbc] [performance] INFO: updating 2500 Objects: 1187 msec
[jdbc] [performance] INFO: deleting 2500 Objects: 954 msec
[jdbc] [performance] INFO:
[jdbc] [performance] INFO: inserting 2500 Objects: 1203 msec
[jdbc] [performance] INFO: updating 2500 Objects: 1171 msec
[jdbc] [performance] INFO: deleting 2500 Objects: 954 msec

OJB is no slouch ;)

cheers,
Matthew

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to