Hey, thanks for the TONS of helpful replies I got to this question!  It's a
good thing this wasn't to solve an enterprise question or anything.  Oh,
wait...it was.

Signing off...

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Oracle v$session and iBatis
Leffingwell, Jonathan R CTR FRCSE, JAX 7.2.2
Tue, 14 Apr 2009 07:03:18 -0700

We are monitoring our web app through, among other things, looking at the
Oracle view v$session.  For testing purposes, we tested one user logging
into the system, doing a couple of transactions, then logging out.  The
number of "connections" (for lack of a better term) in v$session fluctuated
greatly, and when the user logged out of the application, the number of
"connections" went from 27...to 28!  Does it make sense for a user to log
out and INCREASE the number of connections?

Here's how my transaction manager is configured:

<sqlMapConfig>
  <settings
    cacheModelsEnabled="false"
    enhancementEnabled="false"
        lazyLoadingEnabled="false"
    maxSessions="64"
    maxTransactions="32"
    maxRequests="512"/>

  <transactionManager type="JDBC">
    <dataSource type="SIMPLE">
                <property name="DataSource" value="${datasource}"/>
                <property name="JDBC.Driver" value="${driver}"/>
            <property name="JDBC.ConnectionURL" value="${url}"/>
                <property name="JDBC.Username" value="${username}"/>
                <property name="JDBC.Password" value="${password}"/>
                <property name="JDBC.DefaultAutoCommit"
value="$(autocommit)"/>
                <property name="Pool.MaximumActiveConnections" value="10"/>
<!-- Default = 10 -->
                <property name="Pool.MaximumIdleConnections" value="5"/>
<!-- Default = 5  -->
                <property name="Pool.MaximumCheckoutTime" value="20000"/>
<!-- Default = 20000 milliseconds  -->
                <property name="Pool.TimeToWait" value="20000"/>
<!-- Default = 20000 milliseconds  -->
                <property name="Pool.PingEnabled" value="true"/>
<!-- Default = false  -->
                <property name="Pool.PingQuery" value="select 0 from dual"/>
<!-- No Default Query  -->
                <property name="Pool.PingConnectionsOlderThan"
value="7200000"/>               <!-- Default = 0 milliseconds  -->
                <property name="Pool.PingConnectionsNotUsedFor"
value="7200000"/>               <!-- No Default  -->
    </dataSource>
  </transactionManager>
  
  <sqlMap resource="folder/sql/ourSQL.xml"/>
 
</sqlMapConfig>

Can anyone tell me how connections are handled in a simple datasource in
iBatis, with respect to the v$session view?  Is connection pooling not
happening?  Any insight would be appreciated, and my apologies in advance if
I'm not clear.

Jonathan

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to