You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Jeff Hibbs <jh...@bop.gov> on 2009/04/03 16:15:07 UTC

Idle Threads - Glassfish/DB2

Hello All - 
 
Any help will be greatly appreciated...Thanks!!!
 
Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
z/OS with no problems.  When we migrated to Glassfish V2, the DB folks
noticed many idle threads coming from our application which uses iBATIS
2.1.5 (July 2005 Build).  Other (non-iBATIS) applications that use
straight JDBC (no ORM) on the same server, using the same connection
pool, were not causing idle threads.  Below is a sample what the DBA is
seeing:
 
—---------------------------------------------------------------------------------------------------------------------
  Primauth   Planname         name         ID              Status  
elapsed time       CPU time
 
xxxxxxxxx   DISTSERV   SYSLN100     SERVER    *DB2     5:23.78195      
0.000969
xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.67919     
 0.001146
xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.59251     
 0.000896
xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.40476     
 0.001567
xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.38349     
 0.001066
 
      
14.46.15 STC12568  DSNL028I  #J3P1 GAD00841.K6FE.C3F92EF69C21=157421 
914       
   914                        ACCESSING DATA FOR                       
        
   914                          LOCATION xx.xxx.x.xx                   
        
   914                          IPADDR xx.xxx.x.xx                     
        
14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH  561  
        
   561                        LUWID=GAD00840.PC1B.C3F92F10E401=157523  
        
   561                       
THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
   561                        RECEIVED ABEND=04E                       
        
   561                        FOR REASON=00D3003B                      
        
14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH  562  
        
   562                        LUWID=GAD00840.PC20.C3F92F1B5DDF=157544  
        
   562                       
THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
   562                        RECEIVED ABEND=04E                       
        
   562                        FOR REASON=00D3003B           
 
—-----------------------------------------------------------------------------------------------------------------------
 
I'm not going to pretend to know what all this means, but apparently
iBATIS/Glassfish is not releasing the threads after the SQL completes.  
Again, other non-iBATIS applications using the same connection pool are
not generating these ilde threads.  From a user's perspective the system
is running fine - the queries are returning quickly.  Also, we are not
exhausting the connections in the connection pool, but apparently some
resources in DB2 are incorrectly being left open.  I guess I'm not sure
of the difference between a "connection" and a "thread" from the DB2
perspective.
 
We have been able to replicate this in the Test env.  Here's what we
know so far: 
 
- Tried iBATIS 2.3.3.720: same results
- Used replaced glassfish with Tomcat and the problem went away
 
Obvious questions:
 
1.  Why are the iBATIS queries keeping idle threads open on DB2 while
the straight JDBC coded queries are not.
2.  Why does this only appear to happen with Glassfish?
 
Here's our iBATIS config:
 
 <settings 
        useStatementNamespaces="false"
        cacheModelsEnabled="true"
        enhancementEnabled="true"
    />
    
    <transactionManager type="JDBC" >
        <dataSource type="JNDI">
            <property name="DataSource"
value="java:comp/env/@isds.datasource.name@"/>
        </dataSource>
    </transactionManager>
 
.......
 
TEST Connection Pool Info:
 
 
Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
Resource Type:javax.sql.DataSource (prod same)

Pool Settings:
Initial and Minimum Pool Size:8 (prod = 0)
Maximum Pool Size: 32 (prod = 300)
Pool Resize Quantity: 2 (prod = 5)
Idle Timeout: 300 (prod = 15)
Max Wait Time:60000 (prod = 60000)

 
 
 
 
 
 
 
 

Re: Idle Threads - Glassfish/DB2

Posted by Jeff Hibbs <jh...@bop.gov>.
THANKS!!!!! ..... I just had to add the "commitRequired=true" option on the iBATIS  sqlMapconfig.xml....So it looks like:
 
<transactionManager type="JDBC" commitRequired="true">
 
As you mention, apparently DB2 requires commits on reads and the other connection pool implementations (non-GlassFish) take care of this for you.
 
Also thanks to Mario Briggs for helping me work thru this....
 
Jeff
 
 
>>> Stephen Boyd <sw...@gmail.com> 4/17/2009 11:36 AM >>>
I am not sure if you have this figured out already, but I use Websphere and DB2, and a couple years ago we were trying to understand if a read transaction needed to be committed. Apparently it does for the connection to be returned to the connection pool and Websphere does it implicitly as we later found out. Can you instruct or are you instructing the external transaction manager to issue a commit for reads?






Re: Idle Threads - Glassfish/DB2

Posted by Stephen Boyd <sw...@gmail.com>.
I am not sure if you have this figured out already, but I use Websphere and
DB2, and a couple years ago we were trying to understand if a read
transaction needed to be committed.  Apparently it does for the connection
to be returned to the connection pool and Websphere does it implicitly as we
later found out.  Can you instruct or are you instructing the external
transaction manager to issue a commit for reads?

Re: Idle Threads - Glassfish/DB2

Posted by Jeff Hibbs <jh...@bop.gov>.
Mario - 
 
I made the following changes to the GlassFish Connection pool:
 
"Initial and Minimum Pools Size": changed from 8 -> 0 
"Pool Resize Quantity": changed from 5 -> 1     (1 is the minimum that Glassfish allows)
 
Max Poll setting is 32 and hasn't changed....
 
Below is the log after making the change.  I've also included the same potion of the log before the change (which you've already seen).
 
Notice that after changing the connection pool settings, the log shows autoCommit being set to True, then the flush, etc?  Also, it's now reusing the connection for the next qry.  The only difference between the logs is the above connection pool settings.  Do you believe this is normal behavior?  
 
Before the changing the pool settings, it appears we get the "flush" only after we've run a number of queries that's equal to the "Initial and Minimum Pools Size" setting,   Then we started re-using connections.
 
Should the flush occur every time, regardless of these connection pool settings?  Possibly a problem with the Glassfish Pool implementation??
 
As stated on the original issue, we are never exhausting connections in the connection pool, and the queries are returning quickly.  The problem is that the DBA (DB2 Version 8, Zos) is seeing "IDLE Threads", which eventually time out and fill up his log. 
 
Again, thanks so much for you time.....Jeff
 
1.  After Changing GlassFish Connection Pool:  
 
[ibm][db2][jcc][Time:1239976589109][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] setTransactionIsolation (1) called
[ibm][db2][jcc][Time:1239976589109][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239976589109][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] getAutoCommit () returned true
[ibm][db2][jcc][Time:1239976589109][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] setAutoCommit (false) called
[ibm][db2][jcc][Time:1239976589125][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] prepareStatement (          SELECT b.INTKEY_EMPL, b.TYPE_EMPL, b.NAME_FIRST, b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a, J3TEST.EMPL b         WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND a.INTKEY_EMPL = b.INTKEY_EMPL     ) called
[ibm][db2][jcc][Time:1239976589140][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] prepareStatement () returned com.ibm.db2.jcc.a.lg@cfbe92
[ibm][db2][jcc][Time:1239976589515][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] setString (1, BOP1339) called
[ibm][db2][jcc][Time:1239976589515][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] execute () called
[ibm][db2][jcc] [t4][time:1239976589515][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: PRPSQLSTT              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0058D05100010052  200D00442113D1F3  .X.Q...R ..D!...  ..}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040  ..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040  ......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040  @@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005  @@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   2116F10005214604                    !....!F.          ..1.....        
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLATTR                (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   001ED05300010018  2450000000000E46  ...S....$P.....F  ..}......&......
[ibm][db2][jcc][t4] 0010   4F52205245414420  4F4E4C5920FF      OR READ ONLY .    |.......|+<...  
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLSTT                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   00EBD043000100E5  241400000000DB20  ...C....$......   ..}....V........
[ibm][db2][jcc][t4] 0010   2020202020202020  2053454C45435420           SELECT   ...........<....
[ibm][db2][jcc][t4] 0020   622E494E544B4559  5F454D504C2C2062  b.INTKEY_EMPL, b  ...+......(&<...
[ibm][db2][jcc][t4] 0030   2E545950455F454D  504C2C20622E4E41  .TYPE_EMPL, b.NA  ...&...(&<....+.
[ibm][db2][jcc][t4] 0040   4D455F4649525354  2C20622E4E414D45  ME_FIRST, b.NAME  (...........+.(.
[ibm][db2][jcc][t4] 0050   5F4D4944444C452C  20622E4E414D455F  _MIDDLE, b.NAME_  .(...<.....+.(..
[ibm][db2][jcc][t4] 0060   4C41535420202020  202020202046524F  LAST         FRO  <..............|
[ibm][db2][jcc][t4] 0070   4D204A3354455354  2E454E554D20612C  M J3TEST.ENUM a,  (.........+.(./.
[ibm][db2][jcc][t4] 0080   204A33544553542E  454D504C20622020   J3TEST.EMPL b    .........(&<....
[ibm][db2][jcc][t4] 0090   2020202020202057  4845524520612E4E         WHERE a.N  ............./.+
[ibm][db2][jcc][t4] 00A0   42525F454E554D20  3D203F20414E4420  BR_ENUM = ? AND   ....+.(......+..
[ibm][db2][jcc][t4] 00B0   612E434F44455F54  4E554D203D202755  a.CODE_TNUM = 'U  /..|....+.(.....
[ibm][db2][jcc][t4] 00C0   49442720414E4420  612E494E544B4559  ID' AND a.INTKEY  .....+../..+....
[ibm][db2][jcc][t4] 00D0   5F454D504C203D20  622E494E544B4559  _EMPL = b.INTKEY  ..(&<......+....
[ibm][db2][jcc][t4] 00E0   5F454D504C202020  2020FF            _EMPL     .       ..(&<......     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: DSCSQLSTT              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0410002004D  200800442113D1F3  .S.A...M ..D!...  ..}....(......J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040  ..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040  ......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040  @@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005  @@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   214601                              !F.               ...             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: OPNQRY                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   005BD05100030055  200C00442113D1F3  .[.Q...U ..D!...  .$}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040  ..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040  ......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040  @@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010008  @@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   211400007FFF0005  215D01            !.......!].       ...."....).     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLDTA                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0029D00300030023  2412001000100676  .).....#$......v  ..}.............
[ibm][db2][jcc][t4] 0010   D03F7FFF0671E4D0  0001000F147A0000  .?...q.......z..  }."...U}.....:..
[ibm][db2][jcc][t4] 0020   0007424F50313333  39                ..BOP1339         ...|&....       
[ibm][db2][jcc][t4] 
[ibm][db2][jcc] [t4][time:1239976589562][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0241D0430001023B  2411000000000030  .A.C...;$......0  ..}.............
[ibm][db2][jcc][t4] 0010   3030303044534E20  2020202000000000  0000DSN     ....  ......+.........
[ibm][db2][jcc][t4] 0020   0000000000000000  0141B473B4000000  .........A.s....  ................
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....             ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1            ................
[ibm][db2][jcc][t4] 0050   202000000000FF00  0000000000000000    ..............  ................
[ibm][db2][jcc][t4] 0060   0000000000044A33  5431000000000005  ......J3T1......  ................
[ibm][db2][jcc][t4] 0070   0000000000000000  0000000401F00000  ................  .............0..
[ibm][db2][jcc][t4] 0080   0000000000000B49  4E544B45595F454D  .......INTKEY_EM  ........+......(
[ibm][db2][jcc][t4] 0090   504C000000000000  0000FF0000000000  PL..............  &<..............
[ibm][db2][jcc][t4] 00A0   0002000000044A33  5431000000000000  ......J3T1......  ................
[ibm][db2][jcc][t4] 00B0   0004454D504C0000  00064A3354455354  ..EMPL....J3TEST  ...(&<..........
[ibm][db2][jcc][t4] 00C0   0000000B494E544B  45595F454D504C00  ....INTKEY_EMPL.  .....+......(&<.
[ibm][db2][jcc][t4] 00D0   0000000000000000  00000301C4002500  ..............%.  ............D...
[ibm][db2][jcc][t4] 00E0   0000000000095459  50455F454D504C00  ......TYPE_EMPL.  ........&...(&<.
[ibm][db2][jcc][t4] 00F0   00000000000000FF  0000000000000000  ................  ................
[ibm][db2][jcc][t4] 0100   0000044A33543100  0000000000000445  ...J3T1........E  ................
[ibm][db2][jcc][t4] 0110   4D504C000000064A  3354455354000000  MPL....J3TEST...  (&<.............
[ibm][db2][jcc][t4] 0120   09545950455F454D  504C000000000000  .TYPE_EMPL......  ...&...(&<......
[ibm][db2][jcc][t4] 0130   00000000000C01C4  0025000000000000  .........%......  .......D........
[ibm][db2][jcc][t4] 0140   0A4E414D455F4649  5253540000000000  .NAME_FIRST.....  .+.(............
[ibm][db2][jcc][t4] 0150   000000FF00000000  000000000000044A  ...............J  ................
[ibm][db2][jcc][t4] 0160   3354310000000000  000004454D504C00  3T1........EMPL.  ............(&<.
[ibm][db2][jcc][t4] 0170   0000064A33544553  540000000A4E414D  ...J3TEST....NAM  .............+.(
[ibm][db2][jcc][t4] 0180   455F464952535400  0000000000000000  E_FIRST.........  ................
[ibm][db2][jcc][t4] 0190   00000801C4002500  00000000000B4E41  ......%.......NA  ....D.........+.
[ibm][db2][jcc][t4] 01A0   4D455F4D4944444C  4500000000000000  ME_MIDDLE.......  (..(...<........
[ibm][db2][jcc][t4] 01B0   00FF000000000000  00000000044A3354  .............J3T  ................
[ibm][db2][jcc][t4] 01C0   3100000000000000  04454D504C000000  1........EMPL...  ..........(&<...
[ibm][db2][jcc][t4] 01D0   064A335445535400  00000B4E414D455F  .J3TEST....NAME_  ...........+.(..
[ibm][db2][jcc][t4] 01E0   4D4944444C450000  0000000000000000  MIDDLE..........  (...<...........
[ibm][db2][jcc][t4] 01F0   001801C400250000  00000000094E414D  .....%.......NAM  ...D.........+.(
[ibm][db2][jcc][t4] 0200   455F4C4153540000  000000000000FF00  E_LAST..........  ..<.............
[ibm][db2][jcc][t4] 0210   0000000000000000  00044A3354310000  ..........J3T1..  ................
[ibm][db2][jcc][t4] 0220   000000000004454D  504C000000064A33  ......EMPL....J3  .......(&<......
[ibm][db2][jcc][t4] 0230   5445535400000009  4E414D455F4C4153  TEST....NAME_LAS  ........+.(..<..
[ibm][db2][jcc][t4] 0240   54                                  T                 .               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD04300020029  2411FFFF00010000  ./.C...)$.......  ..}.............
[ibm][db2][jcc][t4] 0010   0000000000000000  001401C500250000  .............%..  ...........E....
[ibm][db2][jcc][t4] 0020   0000000000000000  0000000000FFFF    ...............   ............... 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: OPNQRYRM            (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD05200030029  2205000611490000  ./.R...)"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   0006210224170005  215001000C215B00  ..!.$...!P...![.  .........&....$.
[ibm][db2][jcc][t4] 0020   00000077FBE2C800  08215F00000000    ...w.....!_....   .....SH........ 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDSC              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0530003004D  241A077800050101  .S.S...M$..x....  ..}....(........
[ibm][db2][jcc][t4] 0010   300C705010000000  2501007FFF077800  0.pP....%.....x.  ...&......."....
[ibm][db2][jcc][t4] 0020   050201D01276D002  000450000350000C  .....v....P..P..  ...}..}...&..&..
[ibm][db2][jcc][t4] 0030   5000085000180778  00050301E00971E0  P..P...x......q.  &..&........\..\
[ibm][db2][jcc][t4] 0040   540001D000010778  00050401F00671F0  T......x......q.  ...}........0..0
[ibm][db2][jcc][t4] 0050   E00000                              ...               \..             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDTA              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0043D05300038008  241B00000035FF00  .C.S....$....5..  ..}.............
[ibm][db2][jcc][t4] 0010   0000003D404040E3  C1D4D4E840404040  ...=@@@.....@@@@  ....   XYZ   
[ibm][db2][jcc][t4] 0020   4040404040404040  404040D1C5E2D2C5  @@@@@@@@@@@.....             XYZ
[ibm][db2][jcc][t4] 0030   4040404040404040  4040404040404040  @@@@@@@@@@@@@@@@                  
[ibm][db2][jcc][t4] 0040   404040                              @@@                               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDQRYRM            (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0026D05200030020  220B000611490004  .&.R... "....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040  ..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   404040404040                        @@@@@@                            
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0057D00300030051  2408000000006430  .W.....Q$.....d0  ..}.............
[ibm][db2][jcc][t4] 0010   3230303044534E58  52464E2000FFFFFF  2000DSNXRFN ....  ......+...+.....
[ibm][db2][jcc][t4] 0020   9200000000000000  00FFFFFFFF000000  ................  k...............
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....             ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1            ................
[ibm][db2][jcc][t4] 0050   202000000000FF                        .....           .......         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][ResultSetMetaData@164d2b3] BEGIN TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@164d2b3] Result set meta data for statement Statement@cfbe92
[ibm][db2][jcc][ResultSetMetaData@164d2b3] Number of result set columns: 5
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@164d2b3] Column 1: { label=INTKEY_EMPL, name=INTKEY_EMPL, type name=INTEGER, type=4, nullable=0, precision=10, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496, sqlCcsid=0, sqlName=INTKEY_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=2, sqlxParmmode=0, sqlxCorname=null, sqlxName=INTKEY_EMPL, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@164d2b3] Column 2: { label=TYPE_EMPL, name=TYPE_EMPL, type name=CHAR, type=1, nullable=0, precision=3, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=3, sqlType=452, sqlCcsid=37, sqlName=TYPE_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=TYPE_EMPL, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@164d2b3] Column 3: { label=NAME_FIRST, name=NAME_FIRST, type name=CHAR, type=1, nullable=0, precision=12, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=12, sqlType=452, sqlCcsid=37, sqlName=NAME_FIRST, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_FIRST, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@164d2b3] Column 4: { label=NAME_MIDDLE, name=NAME_MIDDLE, type name=CHAR, type=1, nullable=0, precision=8, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=8, sqlType=452, sqlCcsid=37, sqlName=NAME_MIDDLE, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_MIDDLE, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@164d2b3] Column 5: { label=NAME_LAST, name=NAME_LAST, type name=CHAR, type=1, nullable=0, precision=24, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=24, sqlType=452, sqlCcsid=37, sqlName=NAME_LAST, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_LAST, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@164d2b3] { sqldHold=0, sqldReturn=0, sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0, sqldRdbnam=J3T1, sqldSchema=null }
[ibm][db2][jcc][ResultSetMetaData@164d2b3] END TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ParameterMetaData@451fee] BEGIN TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][ParameterMetaData@451fee] Parameter meta data for statement Statement@cfbe92
[ibm][db2][jcc][ParameterMetaData@451fee] Number of parameter columns: 1
isDescribed=true[ibm][db2][jcc][ParameterMetaData@451fee] Column 1: { label=1, name=1, type name=CHAR, type=1, nullable=1, precision=20, scale=0, schema name=, table name=, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=20, sqlType=453, sqlCcsid=37, sqlName=1, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=1, sqlxCorname=<null>, sqlxName=<null>, sqlxBasename=<null>, sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ParameterMetaData@451fee] { sqldHold=0, sqldReturn=0, sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0, sqldRdbnam=null, sqldSchema=null }
[ibm][db2][jcc][ParameterMetaData@451fee] END TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] execute () returned true
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] getResultSet () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] getResultSet () returned ResultSet@1022eb0
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getType () returned 1003
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] next () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] next () returned true
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getInt (INTKEY_EMPL) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getInt (1) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getInt () returned 61
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (TYPE_EMPL) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (2) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString () returned    
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (NAME_FIRST) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (3) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString () returned XYZ       
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (NAME_MIDDLE) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (4) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString () returned         
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (NAME_LAST) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString (5) called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] getString () returned XYZ                   
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] wasNull () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] next () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] next () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] getMoreResults () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] getMoreResults () returned false
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][ResultSet@1022eb0] close () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@cfbe92] close () called
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239976589593][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] setAutoCommit (true) called
[ibm][db2][jcc] [t4][time:1239976589593][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBCMM                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200E              ........ .        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc] [t4][time:1239976589640][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004  .+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040  ..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211501            @@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@1c3b761] DB2 LUWID: GA101042.C011.01AC87135629.0001
[ibm][db2][jcc][Time:1239976589640][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] getAutoCommit () returned true
[ibm][db2][jcc][Time:1239976589640][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] setAutoCommit (false) called
[ibm][db2][jcc][Time:1239976589640][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] prepareStatement (          SELECT DISTINCT CODE_REGN AS regions         FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239976589640][Thread:httpSSLWorkerThread-8080-0][Connection@1c3b761] prepareStatement () returned com.ibm.db2.jcc.a.lg@44e906
[ibm][db2][jcc][Time:1239976589640][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@44e906] setString (1, BOP) called
[ibm][db2][jcc][Time:
 
 
********************END OF SNIPPET*****************************
 
 
2.  Before Change to Connection Pool (You've already seen this:
 
[ibm][db2][jcc][t4]   DRDA manager levels: { SQLAM=7, AGENT=7, CMNTCPIP=5, RDB=7, SECMGR=7, XAMGR=0, SYNCPTMGR=0, RSYNCMGR=0 }
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@25e068] setTransactionIsolation (1) called
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@669c84] getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@669c84] getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@669c84] setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883478968][Thread:httpSSLWorkerThread-8080-0][Connection@669c84] prepareStatement (          SELECT b.INTKEY_EMPL, b.TYPE_EMPL, b.NAME_FIRST, b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a, J3TEST.EMPL b         WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND a.INTKEY_EMPL = b.INTKEY_EMPL     ) called
[ibm][db2][jcc][Time:1239883478984][Thread:httpSSLWorkerThread-8080-0][Connection@669c84] prepareStatement () returned com.ibm.db2.jcc.a.lg@1ff1855
[ibm][db2][jcc][Time:1239883479000][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] setString (1, BOP1339) called
[ibm][db2][jcc][Time:1239883479000][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] execute () called
[ibm][db2][jcc] [t4][time:1239883479015][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: PRPSQLSTT              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0058D05100010052  200D00442113D1F3  .X.Q...R ..D!...  ..}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040  ..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040  ......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040  @@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005  @@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   2116F10005214604                    !....!F.          ..1.....        
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLATTR                (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   001ED05300010018  2450000000000E46  ...S....$P.....F  ..}......&......
[ibm][db2][jcc][t4] 0010   4F52205245414420  4F4E4C5920FF      OR READ ONLY .    |.......|+<...  
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLSTT                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   00EBD043000100E5  241400000000DB20  ...C....$......   ..}....V........
[ibm][db2][jcc][t4] 0010   2020202020202020  2053454C45435420           SELECT   ...........<....
[ibm][db2][jcc][t4] 0020   622E494E544B4559  5F454D504C2C2062  b.INTKEY_EMPL, b  ...+......(&<...
[ibm][db2][jcc][t4] 0030   2E545950455F454D  504C2C20622E4E41  .TYPE_EMPL, b.NA  ...&...(&<....+.
[ibm][db2][jcc][t4] 0040   4D455F4649525354  2C20622E4E414D45  ME_FIRST, b.NAME  (...........+.(.
[ibm][db2][jcc][t4] 0050   5F4D4944444C452C  20622E4E414D455F  _MIDDLE, b.NAME_  .(...<.....+.(..
[ibm][db2][jcc][t4] 0060   4C41535420202020  202020202046524F  LAST         FRO  <..............|
[ibm][db2][jcc][t4] 0070   4D204A3354455354  2E454E554D20612C  M J3TEST.ENUM a,  (.........+.(./.
[ibm][db2][jcc][t4] 0080   204A33544553542E  454D504C20622020   J3TEST.EMPL b    .........(&<....
[ibm][db2][jcc][t4] 0090   2020202020202057  4845524520612E4E         WHERE a.N  ............./.+
[ibm][db2][jcc][t4] 00A0   42525F454E554D20  3D203F20414E4420  BR_ENUM = ? AND   ....+.(......+..
[ibm][db2][jcc][t4] 00B0   612E434F44455F54  4E554D203D202755  a.CODE_TNUM = 'U  /..|....+.(.....
[ibm][db2][jcc][t4] 00C0   49442720414E4420  612E494E544B4559  ID' AND a.INTKEY  .....+../..+....
[ibm][db2][jcc][t4] 00D0   5F454D504C203D20  622E494E544B4559  _EMPL = b.INTKEY  ..(&<......+....
[ibm][db2][jcc][t4] 00E0   5F454D504C202020  2020FF            _EMPL     .       ..(&<......     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: DSCSQLSTT              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0410002004D  200800442113D1F3  .S.A...M ..D!...  ..}....(......J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040  ..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040  ......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040  @@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005  @@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   214601                              !F.               ...             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: OPNQRY                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   005BD05100030055  200C00442113D1F3  .[.Q...U ..D!...  .$}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040  ..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040  ......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040  @@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010008  @@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   211400007FFF0005  215D01            !.......!].       ...."....).     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLDTA                 (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0029D00300030023  2412001000100676  .).....#$......v  ..}.............
[ibm][db2][jcc][t4] 0010   D03F7FFF0671E4D0  0001000F147A0000  .?...q.......z..  }."...U}.....:..
[ibm][db2][jcc][t4] 0020   0007424F50313333  39                ..BOP1339         ...|&....       
[ibm][db2][jcc][t4] 
[ibm][db2][jcc] [t4][time:1239883479078][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F   0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0241D0430001023B  2411000000000030  .A.C...;$......0  ..}.............
[ibm][db2][jcc][t4] 0010   3030303044534E20  2020202000000000  0000DSN     ....  ......+.........
[ibm][db2][jcc][t4] 0020   0000000000000000  0041B473B4000000  .........A.s....  ................
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....             ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1            ................
[ibm][db2][jcc][t4] 0050   202000000000FF00  0000000000000000    ..............  ................
[ibm][db2][jcc][t4] 0060   0000000000044A33  5431000000000005  ......J3T1......  ................
[ibm][db2][jcc][t4] 0070   0000000000000000  0000000401F00000  ................  .............0..
[ibm][db2][jcc][t4] 0080   0000000000000B49  4E544B45595F454D  .......INTKEY_EM  ........+......(
[ibm][db2][jcc][t4] 0090   504C000000000000  0000FF0000000000  PL..............  &<..............
[ibm][db2][jcc][t4] 00A0   0002000000044A33  5431000000000000  ......J3T1......  ................
[ibm][db2][jcc][t4] 00B0   0004454D504C0000  00064A3354455354  ..EMPL....J3TEST  ...(&<..........
[ibm][db2][jcc][t4] 00C0   0000000B494E544B  45595F454D504C00  ....INTKEY_EMPL.  .....+......(&<.
[ibm][db2][jcc][t4] 00D0   0000000000000000  00000301C4002500  ..............%.  ............D...
[ibm][db2][jcc][t4] 00E0   0000000000095459  50455F454D504C00  ......TYPE_EMPL.  ........&...(&<.
[ibm][db2][jcc][t4] 00F0   00000000000000FF  0000000000000000  ................  ................
[ibm][db2][jcc][t4] 0100   0000044A33543100  0000000000000445  ...J3T1........E  ................
[ibm][db2][jcc][t4] 0110   4D504C000000064A  3354455354000000  MPL....J3TEST...  (&<.............
[ibm][db2][jcc][t4] 0120   09545950455F454D  504C000000000000  .TYPE_EMPL......  ...&...(&<......
[ibm][db2][jcc][t4] 0130   00000000000C01C4  0025000000000000  .........%......  .......D........
[ibm][db2][jcc][t4] 0140   0A4E414D455F4649  5253540000000000  .NAME_FIRST.....  .+.(............
[ibm][db2][jcc][t4] 0150   000000FF00000000  000000000000044A  ...............J  ................
[ibm][db2][jcc][t4] 0160   3354310000000000  000004454D504C00  3T1........EMPL.  ............(&<.
[ibm][db2][jcc][t4] 0170   0000064A33544553  540000000A4E414D  ...J3TEST....NAM  .............+.(
[ibm][db2][jcc][t4] 0180   455F464952535400  0000000000000000  E_FIRST.........  ................
[ibm][db2][jcc][t4] 0190   00000801C4002500  00000000000B4E41  ......%.......NA  ....D.........+.
[ibm][db2][jcc][t4] 01A0   4D455F4D4944444C  4500000000000000  ME_MIDDLE.......  (..(...<........
[ibm][db2][jcc][t4] 01B0   00FF000000000000  00000000044A3354  .............J3T  ................
[ibm][db2][jcc][t4] 01C0   3100000000000000  04454D504C000000  1........EMPL...  ..........(&<...
[ibm][db2][jcc][t4] 01D0   064A335445535400  00000B4E414D455F  .J3TEST....NAME_  ...........+.(..
[ibm][db2][jcc][t4] 01E0   4D4944444C450000  0000000000000000  MIDDLE..........  (...<...........
[ibm][db2][jcc][t4] 01F0   001801C400250000  00000000094E414D  .....%.......NAM  ...D.........+.(
[ibm][db2][jcc][t4] 0200   455F4C4153540000  000000000000FF00  E_LAST..........  ..<.............
[ibm][db2][jcc][t4] 0210   0000000000000000  00044A3354310000  ..........J3T1..  ................
[ibm][db2][jcc][t4] 0220   000000000004454D  504C000000064A33  ......EMPL....J3  .......(&<......
[ibm][db2][jcc][t4] 0230   5445535400000009  4E414D455F4C4153  TEST....NAME_LAS  ........+.(..<..
[ibm][db2][jcc][t4] 0240   54                                  T                 .               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD04300020029  2411FFFF00010000  ./.C...)$.......  ..}.............
[ibm][db2][jcc][t4] 0010   0000000000000000  001401C500250000  .............%..  ...........E....
[ibm][db2][jcc][t4] 0020   0000000000000000  0000000000FFFF    ...............   ............... 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: OPNQRYRM            (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD05200030029  2205000611490000  ./.R...)"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   0006210224170005  215001000C215B00  ..!.$...!P...![.  .........&....$.
[ibm][db2][jcc][t4] 0020   000000789482C800  08215F00000000    ...x.....!_....   ....mbH........ 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDSC              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0530003004D  241A077800050101  .S.S...M$..x....  ..}....(........
[ibm][db2][jcc][t4] 0010   300C705010000000  2501007FFF077800  0.pP....%.....x.  ...&......."....
[ibm][db2][jcc][t4] 0020   050201D01276D002  000450000350000C  .....v....P..P..  ...}..}...&..&..
[ibm][db2][jcc][t4] 0030   5000085000180778  00050301E00971E0  P..P...x......q.  &..&........\..\
[ibm][db2][jcc][t4] 0040   540001D000010778  00050401F00671F0  T......x......q.  ...}........0..0
[ibm][db2][jcc][t4] 0050   E00000                              ...               \..             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDTA              (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0043D05300038008  241B00000035FF00  .C.S....$....5..  ..}.............
[ibm][db2][jcc][t4] 0010   0000003D404040E3  C1D4D4E840404040  ...=@@@.....@@@@  ....   XYZ    
[ibm][db2][jcc][t4] 0020   4040404040404040  404040D1C5E2D2C5  @@@@@@@@@@@.....             XYZ
[ibm][db2][jcc][t4] 0030   4040404040404040  4040404040404040  @@@@@@@@@@@@@@@@                  
[ibm][db2][jcc][t4] 0040   404040                              @@@                               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDQRYRM            (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0026D05200030020  220B000611490004  .&.R... "....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040  ..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   404040404040                        @@@@@@                            
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)           (EBCDIC)
[ibm][db2][jcc][t4] 0000   0057D00300030051  2408000000006430  .W.....Q$.....d0  ..}.............
[ibm][db2][jcc][t4] 0010   3230303044534E58  52464E2000FFFFFF  2000DSNXRFN ....  ......+...+.....
[ibm][db2][jcc][t4] 0020   9200000000000000  00FFFFFFFF000000  ................  k...............
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....             ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1            ................
[ibm][db2][jcc][t4] 0050   202000000000FF                        .....           .......         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][ResultSetMetaData@121b1f2] BEGIN TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Result set meta data for statement Statement@1ff1855
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Number of result set columns: 5
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 1: { label=INTKEY_EMPL, name=INTKEY_EMPL, type name=INTEGER, type=4, nullable=0, precision=10, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496, sqlCcsid=0, sqlName=INTKEY_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=2, sqlxParmmode=0, sqlxCorname=null, sqlxName=INTKEY_EMPL, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 2: { label=TYPE_EMPL, name=TYPE_EMPL, type name=CHAR, type=1, nullable=0, precision=3, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=3, sqlType=452, sqlCcsid=37, sqlName=TYPE_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=TYPE_EMPL, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 3: { label=NAME_FIRST, name=NAME_FIRST, type name=CHAR, type=1, nullable=0, precision=12, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=12, sqlType=452, sqlCcsid=37, sqlName=NAME_FIRST, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_FIRST, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 4: { label=NAME_MIDDLE, name=NAME_MIDDLE, type name=CHAR, type=1, nullable=0, precision=8, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=8, sqlType=452, sqlCcsid=37, sqlName=NAME_MIDDLE, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_MIDDLE, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 5: { label=NAME_LAST, name=NAME_LAST, type name=CHAR, type=1, nullable=0, precision=24, scale=0, schema name=J3TEST, table name=EMPL, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=24, sqlType=452, sqlCcsid=37, sqlName=NAME_LAST, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_LAST, sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] { sqldHold=0, sqldReturn=0, sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0, sqldRdbnam=J3T1, sqldSchema=null }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] END TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ParameterMetaData@1299f0a] BEGIN TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][ParameterMetaData@1299f0a] Parameter meta data for statement Statement@1ff1855
[ibm][db2][jcc][ParameterMetaData@1299f0a] Number of parameter columns: 1
isDescribed=true[ibm][db2][jcc][ParameterMetaData@1299f0a] Column 1: { label=1, name=1, type name=CHAR, type=1, nullable=1, precision=20, scale=0, schema name=, table name=, writable=false, sqlPrecision=0, sqlScale=0, sqlLength=20, sqlType=453, sqlCcsid=37, sqlName=1, sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=1, sqlxCorname=<null>, sqlxName=<null>, sqlxBasename=<null>, sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>, internal type=1, is locator parameter=false }
[ibm][db2][jcc][ParameterMetaData@1299f0a] { sqldHold=0, sqldReturn=0, sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0, sqldRdbnam=null, sqldSchema=null }
[ibm][db2][jcc][ParameterMetaData@1299f0a] END TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] execute () returned true
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] getResultSet () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] getResultSet () returned ResultSet@372f43
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getType () returned 1003
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] next () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] next () returned true
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getInt (INTKEY_EMPL) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getInt (1) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getInt () returned 61
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (TYPE_EMPL) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (2) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString () returned    
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (NAME_FIRST) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (3) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString () returned XYZ      
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (NAME_MIDDLE) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (4) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString () returned         
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (NAME_LAST) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString (5) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] getString () returned XYZ                   
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] wasNull () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] next () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] next () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] getMoreResults () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] getMoreResults () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43] close () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855] close () called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6] getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6] getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6] setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6] prepareStatement (          SELECT DISTINCT CODE_REGN AS regions         FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6] prepareStatement () returned com.ibm.db2.jcc.a.lg@255d
[ibm][db2][jcc][Time:
 
 
********************END OF SNIPPET*****************************

>>> Mario Ds Briggs <ma...@in.ibm.com> 4/17/2009 9:24 AM >>>
Jeff,

The autocommit is not the issue here - sorry to have confused you by
raising that, i wanted to highlight another point, but lets ignore that to
keep it simple.

The issue is that with Glassfish, the commit or rollback is not coming to
the JDBC driver, whereas with Simple/DBCP there is a rollback call. You
might want to look at how your is the txn management configured ? Becuase
this is a big diff to say the least :-) Are each of these queries intended
to be a separate txn ?

Thus my belief is that you are leaking connections here (given what proof
you have laid out) , which is why the you are seeing the idle connections
on the DB server.
Notice that in the case of glassfish, each query is executed using a
different connection (reason being the prev connection was not committed)

Connection@669c84 -  SELECT b.INTKEY_EMPL, b.TYPE_EMPL, b.NAME_FIRST,
b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a, J3TEST.EMPL b
WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND a.INTKEY_EMPL =
b.INTKEY_EMPL

[Connection@1331ce6] prepareStatement (          SELECT DISTINCT CODE_REGN
AS regions         FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?

Whereas with DBCP/Simple, the same connection is reused for the 2nd query
too.

Connection@1f68572   SELECT b.INTKEY_EMPL, b.TYPE_EMPL, b.NAME_FIRST,
b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a, J3TEST.EMPL b
WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND a.INTKEY_EMPL =
b.INTKEY_EMPL

Connection@1f68572] prepareStatement (          SELECT DISTINCT CODE_REGN
AS regions         FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     )

Mario



                                                                           
 

Re: Idle Threads - Glassfish/DB2

Posted by Mario Ds Briggs <ma...@in.ibm.com>.
Jeff,

The autocommit is not the issue here - sorry to have confused you by
raising that, i wanted to highlight another point, but lets ignore that to
keep it simple.

 The issue is that with Glassfish, the commit or rollback is not coming to
the JDBC driver, whereas with Simple/DBCP there is a rollback call. You
might want to look at how your is the txn management configured ? Becuase
this is a big diff to say the least :-) Are each of these queries intended
to be a separate txn ?

Thus my belief is that you are leaking connections here (given what proof
you have laid out) , which is why the you are seeing the idle connections
on the DB server.
Notice that in the case of glassfish, each query is executed using a
different connection (reason being the prev connection was not committed)

Connection@669c84 -  SELECT b.INTKEY_EMPL, b.TYPE_EMPL, b.NAME_FIRST,
b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a, J3TEST.EMPL b
WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND a.INTKEY_EMPL =
b.INTKEY_EMPL

[Connection@1331ce6] prepareStatement (          SELECT DISTINCT CODE_REGN
AS regions         FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?

Whereas with DBCP/Simple, the same connection is reused for the 2nd query
too.

Connection@1f68572   SELECT b.INTKEY_EMPL, b.TYPE_EMPL, b.NAME_FIRST,
b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a, J3TEST.EMPL b
WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND a.INTKEY_EMPL =
b.INTKEY_EMPL

Connection@1f68572] prepareStatement (          SELECT DISTINCT CODE_REGN
AS regions         FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     )

Mario



                                                                           
             "Jeff Hibbs"                                                  
             <jh...@bop.gov>                                              
                                                                        To 
             17/04/2009 17:57          <us...@ibatis.apache.org>       
                                                                        cc 
                                       "Shau-Chi Tse" <sx...@bop.gov>,     
             Please respond to         <ma...@in.ibm.com>           
             user-java@ibatis.                                     Subject 
                apache.org             Re: Idle Threads - Glassfish/DB2    
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi Mario -

Again, I really appreciate the help...

AutoCommit is set to true for the glassFish pool as well.  However, it
looks like it's forced to false before the qry.  This appears to be
consistent (being forced to false) with how autoCommit is being handled in
SIMPLE and DBCP. This is actual production code going against TEST data.
Below I've included more of the logs so you can see how autoCommit is being
handled before the qry.

Thanks!  Jeff

>>> Deleted by MARIO <<


>>> Mario Ds Briggs <ma...@in.ibm.com> 4/17/2009 4:04 AM >>>
Jeff,

For iBatis app with SimpleDatasource & DBCP, the transaction is getting
rolled back. (are u running a test case or something)
With Glassfish there is neither a commit or rollback being issued, which is
the problem, since AutoCommit is set to false.
With straight JDBC, i believe you are using auto-commit = true and hence
the implicit flush

Mario




             "Jeff Hibbs"
             <jh...@bop.gov>
                                                                        To
             16/04/2009 21:19
                                                                        cc
                                       "Shau-Chi Tse" <sx...@bop.gov>,
             Please respond to         <us...@ibatis.apache.org>
             user-java@ibatis.                                     Subject
                apache.org             Re: Idle Threads - Glassfish/DB2










Mario -

Thanks for your time.  There are some differences between the JCC logs.
One thing that looks suspect to me is that the "RECEIVE BUFFER: ENDUOWRM"
message is present after each qry when using the SIMPLE Data source pool
(as well as the Apache DBCP pool), but not always there while using the
GlassFish pool.  Also ran a non-iBATIS application, using the Glassfish
Pool and we did get the RECEIVE BUFFER: ENDUOWRM messages after each qry.
Here are what I Believe to be relevant parts of the JCC logs.  These
snippets start at the exact same place in the application.

NOTES:

- In iBATIS/Glassfish pool log, it goes right into the next qry after the "
PreparedStatement@1ff1855] close () called" statement, and does not contain
a big section (including the ENDUOWRM portion) that's included in the
SIMPLE log.

- In iBATIS/GlassFish pool log, the next qry is using a different
connection for the next qry, while the SIMPLE log is using the same
connection for the next qry.  This is not visible on the Glassfish pool log
because there are not any "close connection" statements from the first qry.


Again thanks for taking the time.  Any help would be greatly appreciated.
Please let me know if you want to see other parts of the log or have any
other question...

Jeff



1.  iBATIS app with SIMPLE Data Source:

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]

next () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]

next () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]

getMoreResults () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]

getMoreResults () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]

close () called

******THIS BELOW SECTION IS NOT PRESENT ON THE GLASSFISH POOL
LOG*************

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]

close () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

isClosed () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

isClosed () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

rollback () called
[ibm][db2][jcc]
[t4][time:1239883639750][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]


[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]


[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0001
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

isClosed () called
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

isClosed () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

rollback () called
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]


[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239883639828][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]


[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0002

*******************END OF MARKED SECTION************************

[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]

prepareStatement () returned
com.ibm.db2.jcc.a.lg@1fbfeae

—------------------------------------END OF
SNIPPET---------------------------------



2.  iBATIS app with GlassFish Connection Pool:

[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]

next () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]

next () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]

getMoreResults () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]

getMoreResults () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]

close () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]

close () called
****new QRY ****
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]

getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]

getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]

setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]

prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]

prepareStatement () returned
com.ibm.db2.jcc.a.lg@255d
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]

setString (1, BOP) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]

execute () called

—------------------------------------END OF
SNIPPET---------------------------------


3. iBTIS app with the DBCP Commons Pool:

[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]

next () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]

next () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]

getMoreResults () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]

getMoreResults () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]

close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]

close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

isClosed () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

isClosed () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

isReadOnly () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

rollback () called
[ibm][db2][jcc]
[t4][time:1239888889968][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]


[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239888890015][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]


[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@3e0c6] DB2 LUWID:
GA101042.A707.018146133451.0001
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

clearWarnings () called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

setAutoCommit (true) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

setAutoCommit (false) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]

prepareStatement () returned
com.ibm.db2.jcc.a.lg@176ade8
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@176ade8]

setString (1, BOP) called

—------------------------------------END OF
SNIPPET---------------------------------



4.  non-iBATIS (straight JDBC coding) application with Glassfish Connection
pool


[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]

next () returned true
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]

getString (SUFFIX_USER) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]

getString (1) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]

getString () returned
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]

close () called
[ibm][db2][jcc]
[t4][time:1239886497015][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]


[ibm][db2][jcc][t4]        SEND BUFFER: RDBCMM                 (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200E              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239886497046][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]


[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211501            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1aa7618] DB2 LUWID:
GA101042.C506.0188C6125455.0002
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1969fa5]

close () called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]

prepareStatement (SELECT DISTINCT CODE_REGN FROM J3TEST.REGN WHERE
REGN_FK_AGEN = ?) called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]

prepareStatement () returned
com.ibm.db2.jcc.a.lg@15db23e
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@15db23e]

clearParameters () called
[ibm][db2][jcc][Time:12398864970

—------------------------------------END OF
SNIPPET---------------------------------







>>> Mario Ds Briggs <ma...@in.ibm.com> 4/15/2009 7:07 AM >>>
Did you do a compare of the JCC log for the same application run with
  a - the glassfish connection pool
  b - the ibatis SIMPLE datasource

thanks
Mario




             "Jeff Hibbs"
             <jh...@bop.gov>
                                                                        To
             10/04/2009 22:20          <us...@ibatis.apache.org>
                                                                        cc

             Please respond to                                     Subject
             user-java@ibatis.         Re: Idle Threads - Glassfish/DB2
                apache.org









Hi Nathan -

Thanks for the suggestion...as you suspected, it works fine in the test env
with the SIMPLE datasource that comes with ibatis.  While this does give us
more information, at this point I still have to use the Glassfish
connection pools in production, as ours is one of many apps that reside on
these (cluster) servers, and we must conform to the standard Connection
Pools.

Any additional insight into these questions would be greatly
appreciated....

1. Why are the iBATIS queries keeping idle threads open on DB2 while the
straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish Connection Pools?
Again, thanks for you help!  Jeff

>>> Nathan Maves <na...@gmail.com> 4/3/2009 10:29 AM >>>
Jeff,

Not to state the obvious but it does not seem like an ibatis issue. It
sounds more like the connection pool implementation of Glassfish. As a test
you might try creating your own connection pool using the SIMPLE datasource
type in ibatis just to ensure that it is an issue with Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:
   Hello All -
   Any help will be greatly appreciated...Thanks!!!
   Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
   z/OS with no problems. When we migrated to Glassfish V2, the DB folks
   noticed many idle threads coming from our application which uses iBATIS
   2.1.5 (July 2005 Build). Other (non-iBATIS) applications that use
   straight JDBC (no ORM) on the same server, using the same connection
   pool, were not causing idle threads. Below is a sample what the DBA is
   seeing:

—---------------------------------------------------------------------------------------------------------------------


   Primauth Planname name ID Status elapsed time CPU time
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.78195 0.000969
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.67919 0.001146
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.59251 0.000896
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.40476 0.001567
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.38349 0.001066

   14.46.15 STC12568 DSNL028I #J3P1 GAD00841.K6FE.C3F92EF69C21=157421 914
   914 ACCESSING DATA FOR
   914 LOCATION xx.xxx.x.xx
   914 IPADDR xx.xxx.x.xx
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 561
   561 LUWID=GAD00840.PC1B.C3F92F10E401=157523
   561 THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
   561 RECEIVED ABEND=04E
   561 FOR REASON=00D3003B
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 562
   562 LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
   562 THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
   562 RECEIVED ABEND=04E
   562 FOR REASON=00D3003B

—-----------------------------------------------------------------------------------------------------------------------


   I'm not going to pretend to know what all this means, but apparently
   iBATIS/Glassfish is not releasing the threads after the SQL completes.
   Again, other non-iBATIS applications using the same connection pool are
   not generating these ilde threads. From a user's perspective the system
   is running fine - the queries are returning quickly. Also, we are not
   exhausting the connections in the connection pool, but apparently some
   resources in DB2 are incorrectly being left open. I guess I'm not sure
   of the difference between a "connection" and a "thread" from the DB2
   perspective.
   We have been able to replicate this in the Test env. Here's what we know
   so far:
   - Tried iBATIS 2.3.3.720: same results
   - Used replaced glassfish with Tomcat and the problem went away
   Obvious questions:
   1. Why are the iBATIS queries keeping idle threads open on DB2 while the
   straight JDBC coded queries are not.
   2. Why does this only appear to happen with Glassfish?
   Here's our iBATIS config:
   <settings
   useStatementNamespaces="false"
   cacheModelsEnabled="true"
   enhancementEnabled="true"
   />

   <transactionManager type="JDBC" >
   <dataSource type="JNDI">
   <property name="DataSource" value="java:comp/env/@isds.datasource.name
   @"/>
   </dataSource>
   </transactionManager>
   .......
   TEST Connection Pool Info:
   Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
   Resource Type:javax.sql.DataSource (prod same)

   Pool Settings:
   Initial and Minimum Pool Size:8 (prod = 0)
   Maximum Pool Size: 32 (prod = 300)
   Pool Resize Quantity: 2 (prod = 5)
   Idle Timeout: 300 (prod = 15)
   Max Wait Time:60000 (prod = 60000)

Re: Idle Threads - Glassfish/DB2

Posted by Jeff Hibbs <jh...@bop.gov>.
Hi Mario - 
 
Again, I really appreciate the help...
 
AutoCommit is set to true for the glassFish pool as well.  However, it
looks like it's forced to false before the qry.  This appears to be
consistent (being forced to false) with how autoCommit is being handled
in SIMPLE and DBCP. This is actual production code going against TEST
data.  Below I've included more of the logs so you can see how
autoCommit is being handled before the qry.
 
Thanks!  Jeff
 
 
1.  Here's a larger snippet of the iBATIS/Glassfish Pool Log.
 
 
[ibm][db2][jcc][t4]   DRDA manager levels: { SQLAM=7, AGENT=7,
CMNTCPIP=5, RDB=7, SECMGR=7, XAMGR=0, SYNCPTMGR=0, RSYNCMGR=0 }
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@25e068]
setTransactionIsolation (1) called
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@669c84]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@669c84]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883478953][Thread:httpSSLWorkerThread-8080-0][Connection@669c84]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883478968][Thread:httpSSLWorkerThread-8080-0][Connection@669c84]
prepareStatement (          SELECT b.INTKEY_EMPL, b.TYPE_EMPL,
b.NAME_FIRST, b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a,
J3TEST.EMPL b         WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND
a.INTKEY_EMPL = b.INTKEY_EMPL     ) called
[ibm][db2][jcc][Time:1239883478984][Thread:httpSSLWorkerThread-8080-0][Connection@669c84]
prepareStatement () returned com.ibm.db2.jcc.a.lg@1ff1855
[ibm][db2][jcc][Time:1239883479000][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
setString (1, BOP1339) called
[ibm][db2][jcc][Time:1239883479000][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
execute () called
[ibm][db2][jcc]
[t4][time:1239883479015][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: PRPSQLSTT              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0058D05100010052  200D00442113D1F3  .X.Q...R
..D!...  ..}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040 
@@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   2116F10005214604                    !....!F.
         ..1.....        
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLATTR                (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   001ED05300010018  2450000000000E46 
...S....$P.....F  ..}......&......
[ibm][db2][jcc][t4] 0010   4F52205245414420  4F4E4C5920FF      OR READ
ONLY .    |.......|+<...  
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLSTT                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   00EBD043000100E5  241400000000DB20 
...C....$......   ..}....V........
[ibm][db2][jcc][t4] 0010   2020202020202020  2053454C45435420          
SELECT   ...........<....
[ibm][db2][jcc][t4] 0020   622E494E544B4559  5F454D504C2C2062 
b.INTKEY_EMPL, b  ...+......(&<...
[ibm][db2][jcc][t4] 0030   2E545950455F454D  504C2C20622E4E41 
.TYPE_EMPL, b.NA  ...&...(&<....+.
[ibm][db2][jcc][t4] 0040   4D455F4649525354  2C20622E4E414D45 
ME_FIRST, b.NAME  (...........+.(.
[ibm][db2][jcc][t4] 0050   5F4D4944444C452C  20622E4E414D455F  _MIDDLE,
b.NAME_  .(...<.....+.(..
[ibm][db2][jcc][t4] 0060   4C41535420202020  202020202046524F  LAST    
    FRO  <..............|
[ibm][db2][jcc][t4] 0070   4D204A3354455354  2E454E554D20612C  M
J3TEST.ENUM a,  (.........+.(./.
[ibm][db2][jcc][t4] 0080   204A33544553542E  454D504C20622020  
J3TEST.EMPL b    .........(&<....
[ibm][db2][jcc][t4] 0090   2020202020202057  4845524520612E4E        
WHERE a.N  ............./.+
[ibm][db2][jcc][t4] 00A0   42525F454E554D20  3D203F20414E4420  BR_ENUM
= ? AND   ....+.(......+..
[ibm][db2][jcc][t4] 00B0   612E434F44455F54  4E554D203D202755 
a.CODE_TNUM = 'U  /..|....+.(.....
[ibm][db2][jcc][t4] 00C0   49442720414E4420  612E494E544B4559  ID' AND
a.INTKEY  .....+../..+....
[ibm][db2][jcc][t4] 00D0   5F454D504C203D20  622E494E544B4559  _EMPL =
b.INTKEY  ..(&<......+....
[ibm][db2][jcc][t4] 00E0   5F454D504C202020  2020FF            _EMPL   
 .       ..(&<......     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: DSCSQLSTT              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0410002004D  200800442113D1F3  .S.A...M
..D!...  ..}....(......J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040 
@@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   214601                              !F.     
         ...             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: OPNQRY                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   005BD05100030055  200C00442113D1F3  .[.Q...U
..D!...  .$}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3D5F1  F0F0404040404040 
@@........@@@@@@    SYSLN100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010008 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   211400007FFF0005  215D01           
!.......!].       ...."....).     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLDTA                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0029D00300030023  2412001000100676 
.).....#$......v  ..}.............
[ibm][db2][jcc][t4] 0010   D03F7FFF0671E4D0  0001000F147A0000 
.?...q.......z..  }."...U}.....:..
[ibm][db2][jcc][t4] 0020   0007424F50313333  39               
..BOP1339         ...|&....       
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239883479078][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0241D0430001023B  2411000000000030 
.A.C...;$......0  ..}.............
[ibm][db2][jcc][t4] 0010   3030303044534E20  2020202000000000  0000DSN 
   ....  ......+.........
[ibm][db2][jcc][t4] 0020   0000000000000000  0041B473B4000000 
.........A.s....  ................
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....   
         ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1  
         ................
[ibm][db2][jcc][t4] 0050   202000000000FF00  0000000000000000   
..............  ................
[ibm][db2][jcc][t4] 0060   0000000000044A33  5431000000000005 
......J3T1......  ................
[ibm][db2][jcc][t4] 0070   0000000000000000  0000000401F00000 
................  .............0..
[ibm][db2][jcc][t4] 0080   0000000000000B49  4E544B45595F454D 
.......INTKEY_EM  ........+......(
[ibm][db2][jcc][t4] 0090   504C000000000000  0000FF0000000000 
PL..............  &<..............
[ibm][db2][jcc][t4] 00A0   0002000000044A33  5431000000000000 
......J3T1......  ................
[ibm][db2][jcc][t4] 00B0   0004454D504C0000  00064A3354455354 
..EMPL....J3TEST  ...(&<..........
[ibm][db2][jcc][t4] 00C0   0000000B494E544B  45595F454D504C00 
....INTKEY_EMPL.  .....+......(&<.
[ibm][db2][jcc][t4] 00D0   0000000000000000  00000301C4002500 
..............%.  ............D...
[ibm][db2][jcc][t4] 00E0   0000000000095459  50455F454D504C00 
......TYPE_EMPL.  ........&...(&<.
[ibm][db2][jcc][t4] 00F0   00000000000000FF  0000000000000000 
................  ................
[ibm][db2][jcc][t4] 0100   0000044A33543100  0000000000000445 
...J3T1........E  ................
[ibm][db2][jcc][t4] 0110   4D504C000000064A  3354455354000000 
MPL....J3TEST...  (&<.............
[ibm][db2][jcc][t4] 0120   09545950455F454D  504C000000000000 
.TYPE_EMPL......  ...&...(&<......
[ibm][db2][jcc][t4] 0130   00000000000C01C4  0025000000000000 
.........%......  .......D........
[ibm][db2][jcc][t4] 0140   0A4E414D455F4649  5253540000000000 
.NAME_FIRST.....  .+.(............
[ibm][db2][jcc][t4] 0150   000000FF00000000  000000000000044A 
...............J  ................
[ibm][db2][jcc][t4] 0160   3354310000000000  000004454D504C00 
3T1........EMPL.  ............(&<.
[ibm][db2][jcc][t4] 0170   0000064A33544553  540000000A4E414D 
...J3TEST....NAM  .............+.(
[ibm][db2][jcc][t4] 0180   455F464952535400  0000000000000000 
E_FIRST.........  ................
[ibm][db2][jcc][t4] 0190   00000801C4002500  00000000000B4E41 
......%.......NA  ....D.........+.
[ibm][db2][jcc][t4] 01A0   4D455F4D4944444C  4500000000000000 
ME_MIDDLE.......  (..(...<........
[ibm][db2][jcc][t4] 01B0   00FF000000000000  00000000044A3354 
.............J3T  ................
[ibm][db2][jcc][t4] 01C0   3100000000000000  04454D504C000000 
1........EMPL...  ..........(&<...
[ibm][db2][jcc][t4] 01D0   064A335445535400  00000B4E414D455F 
.J3TEST....NAME_  ...........+.(..
[ibm][db2][jcc][t4] 01E0   4D4944444C450000  0000000000000000 
MIDDLE..........  (...<...........
[ibm][db2][jcc][t4] 01F0   001801C400250000  00000000094E414D 
.....%.......NAM  ...D.........+.(
[ibm][db2][jcc][t4] 0200   455F4C4153540000  000000000000FF00 
E_LAST..........  ..<.............
[ibm][db2][jcc][t4] 0210   0000000000000000  00044A3354310000 
..........J3T1..  ................
[ibm][db2][jcc][t4] 0220   000000000004454D  504C000000064A33 
......EMPL....J3  .......(&<......
[ibm][db2][jcc][t4] 0230   5445535400000009  4E414D455F4C4153 
TEST....NAME_LAS  ........+.(..<..
[ibm][db2][jcc][t4] 0240   54                                  T       
         .               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD04300020029  2411FFFF00010000 
./.C...)$.......  ..}.............
[ibm][db2][jcc][t4] 0010   0000000000000000  001401C500250000 
.............%..  ...........E....
[ibm][db2][jcc][t4] 0020   0000000000000000  0000000000FFFF   
...............   ............... 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: OPNQRYRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD05200030029  2205000611490000 
./.R...)"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   0006210224170005  215001000C215B00 
..!.$...!P...![.  .........&....$.
[ibm][db2][jcc][t4] 0020   000000789482C800  08215F00000000   
...x.....!_....   ....mbH........ 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDSC              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0530003004D  241A077800050101 
.S.S...M$..x....  ..}....(........
[ibm][db2][jcc][t4] 0010   300C705010000000  2501007FFF077800 
0.pP....%.....x.  ...&......."....
[ibm][db2][jcc][t4] 0020   050201D01276D002  000450000350000C 
.....v....P..P..  ...}..}...&..&..
[ibm][db2][jcc][t4] 0030   5000085000180778  00050301E00971E0 
P..P...x......q.  &..&........\..\
[ibm][db2][jcc][t4] 0040   540001D000010778  00050401F00671F0 
T......x......q.  ...}........0..0
[ibm][db2][jcc][t4] 0050   E00000                              ...     
         \..             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDTA              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0043D05300038008  241B00000035FF00 
.C.S....$....5..  ..}.............
[ibm][db2][jcc][t4] 0010   0000003D404040E3  C1D4D4E840404040 
...=@@@.....@@@@  ....   XYZ    
[ibm][db2][jcc][t4] 0020   4040404040404040  404040D1C5E2D2C5 
@@@@@@@@@@@.....             XYZ
[ibm][db2][jcc][t4] 0030   4040404040404040  4040404040404040 
@@@@@@@@@@@@@@@@                  
[ibm][db2][jcc][t4] 0040   404040                              @@@     
                         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDQRYRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0026D05200030020  220B000611490004  .&.R...
"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   404040404040                        @@@@@@  
                         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0057D00300030051  2408000000006430 
.W.....Q$.....d0  ..}.............
[ibm][db2][jcc][t4] 0010   3230303044534E58  52464E2000FFFFFF 
2000DSNXRFN ....  ......+...+.....
[ibm][db2][jcc][t4] 0020   9200000000000000  00FFFFFFFF000000 
................  k...............
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....   
         ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1  
         ................
[ibm][db2][jcc][t4] 0050   202000000000FF                        ..... 
         .......         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][ResultSetMetaData@121b1f2] BEGIN
TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Result set meta data for
statement Statement@1ff1855
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Number of result set
columns: 5
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 1: {
label=INTKEY_EMPL, name=INTKEY_EMPL, type name=INTEGER, type=4,
nullable=0, precision=10, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496,
sqlCcsid=0, sqlName=INTKEY_EMPL, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=2,
sqlxParmmode=0, sqlxCorname=null, sqlxName=INTKEY_EMPL,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 2: { label=TYPE_EMPL,
name=TYPE_EMPL, type name=CHAR, type=1, nullable=0, precision=3,
scale=0, schema name=J3TEST, table name=EMPL, writable=false,
sqlPrecision=0, sqlScale=0, sqlLength=3, sqlType=452, sqlCcsid=37,
sqlName=TYPE_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>,
sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0,
sqlxCorname=null, sqlxName=TYPE_EMPL, sqlxBasename=EMPL,
sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is
locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 3: {
label=NAME_FIRST, name=NAME_FIRST, type name=CHAR, type=1, nullable=0,
precision=12, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=12, sqlType=452,
sqlCcsid=37, sqlName=NAME_FIRST, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0,
sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_FIRST,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 4: {
label=NAME_MIDDLE, name=NAME_MIDDLE, type name=CHAR, type=1, nullable=0,
precision=8, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=8, sqlType=452,
sqlCcsid=37, sqlName=NAME_MIDDLE, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0,
sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_MIDDLE,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] Column 5: { label=NAME_LAST,
name=NAME_LAST, type name=CHAR, type=1, nullable=0, precision=24,
scale=0, schema name=J3TEST, table name=EMPL, writable=false,
sqlPrecision=0, sqlScale=0, sqlLength=24, sqlType=452, sqlCcsid=37,
sqlName=NAME_LAST, sqlLabel=null, sqlUnnamed=0, sqlComment=null,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>,
sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0,
sqlxCorname=null, sqlxName=NAME_LAST, sqlxBasename=EMPL,
sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is
locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] { sqldHold=0, sqldReturn=0,
sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0,
sqldRdbnam=J3T1, sqldSchema=null }
[ibm][db2][jcc][ResultSetMetaData@121b1f2] END
TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ParameterMetaData@1299f0a] BEGIN
TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][ParameterMetaData@1299f0a] Parameter meta data for
statement Statement@1ff1855
[ibm][db2][jcc][ParameterMetaData@1299f0a] Number of parameter columns:
1
isDescribed=true[ibm][db2][jcc][ParameterMetaData@1299f0a] Column 1: {
label=1, name=1, type name=CHAR, type=1, nullable=1, precision=20,
scale=0, schema name=, table name=, writable=false, sqlPrecision=0,
sqlScale=0, sqlLength=20, sqlType=453, sqlCcsid=37, sqlName=1,
sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>,
sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>,
sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=1,
sqlxCorname=<null>, sqlxName=<null>, sqlxBasename=<null>,
sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>, internal
type=1, is locator parameter=false }
[ibm][db2][jcc][ParameterMetaData@1299f0a] { sqldHold=0, sqldReturn=0,
sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0,
sqldRdbnam=null, sqldSchema=null }
[ibm][db2][jcc][ParameterMetaData@1299f0a] END
TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
execute () returned true
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getResultSet () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getResultSet () returned ResultSet@372f43
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getType () returned 1003
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () returned true
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getInt (INTKEY_EMPL) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getInt (1) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getInt () returned 61
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (TYPE_EMPL) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (2) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString () returned    
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (NAME_FIRST) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (3) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString () returned XYZ      
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (NAME_MIDDLE) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (4) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString () returned         
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () returned false
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (NAME_LAST) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString (5) called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
getString () returned XYZ                   
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () called
[ibm][db2][jcc][Time:1239883479156][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
wasNull () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getMoreResults () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
close () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
close () called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions        
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
prepareStatement () returned com.ibm.db2.jcc.a.lg@255d
[ibm][db2][jcc][Time:
 
************************END OF SNIPPET***************
 
 
2.  Here's a larger snippet of the iBATIS/SIMPLE Pool Log.
 
[ibm][db2][jcc][t4]   DRDA manager levels: { SQLAM=7, AGENT=7,
CMNTCPIP=5, RDB=7, SECMGR=7, XAMGR=0, SYNCPTMGR=0, RSYNCMGR=0 }
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883639625][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement (          SELECT b.INTKEY_EMPL, b.TYPE_EMPL,
b.NAME_FIRST, b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a,
J3TEST.EMPL b         WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND
a.INTKEY_EMPL = b.INTKEY_EMPL     ) called
[ibm][db2][jcc][Time:1239883639640][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement () returned com.ibm.db2.jcc.a.lg@4d0ca0
[ibm][db2][jcc][Time:1239883639656][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
setString (1, BOP1339) called
[ibm][db2][jcc][Time:1239883639656][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
execute () called
[ibm][db2][jcc]
[t4][time:1239883639656][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: PRPSQLSTT              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0058D05100010052  200D00442113D1F3  .X.Q...R
..D!...  ..}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3C8F2  F0F0404040404040 
@@........@@@@@@    SYSLH200      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   2116F10005214604                    !....!F.
         ..1.....        
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLATTR                (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   001ED05300010018  2450000000000E46 
...S....$P.....F  ..}......&......
[ibm][db2][jcc][t4] 0010   4F52205245414420  4F4E4C5920FF      OR READ
ONLY .    |.......|+<...  
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLSTT                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   00EBD043000100E5  241400000000DB20 
...C....$......   ..}....V........
[ibm][db2][jcc][t4] 0010   2020202020202020  2053454C45435420          
SELECT   ...........<....
[ibm][db2][jcc][t4] 0020   622E494E544B4559  5F454D504C2C2062 
b.INTKEY_EMPL, b  ...+......(&<...
[ibm][db2][jcc][t4] 0030   2E545950455F454D  504C2C20622E4E41 
.TYPE_EMPL, b.NA  ...&...(&<....+.
[ibm][db2][jcc][t4] 0040   4D455F4649525354  2C20622E4E414D45 
ME_FIRST, b.NAME  (...........+.(.
[ibm][db2][jcc][t4] 0050   5F4D4944444C452C  20622E4E414D455F  _MIDDLE,
b.NAME_  .(...<.....+.(..
[ibm][db2][jcc][t4] 0060   4C41535420202020  202020202046524F  LAST    
    FRO  <..............|
[ibm][db2][jcc][t4] 0070   4D204A3354455354  2E454E554D20612C  M
J3TEST.ENUM a,  (.........+.(./.
[ibm][db2][jcc][t4] 0080   204A33544553542E  454D504C20622020  
J3TEST.EMPL b    .........(&<....
[ibm][db2][jcc][t4] 0090   2020202020202057  4845524520612E4E        
WHERE a.N  ............./.+
[ibm][db2][jcc][t4] 00A0   42525F454E554D20  3D203F20414E4420  BR_ENUM
= ? AND   ....+.(......+..
[ibm][db2][jcc][t4] 00B0   612E434F44455F54  4E554D203D202755 
a.CODE_TNUM = 'U  /..|....+.(.....
[ibm][db2][jcc][t4] 00C0   49442720414E4420  612E494E544B4559  ID' AND
a.INTKEY  .....+../..+....
[ibm][db2][jcc][t4] 00D0   5F454D504C203D20  622E494E544B4559  _EMPL =
b.INTKEY  ..(&<......+....
[ibm][db2][jcc][t4] 00E0   5F454D504C202020  2020FF            _EMPL   
 .       ..(&<......     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: DSCSQLSTT              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0410002004D  200800442113D1F3  .S.A...M
..D!...  ..}....(......J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3C8F2  F0F0404040404040 
@@........@@@@@@    SYSLH200      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   214601                              !F.     
         ...             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: OPNQRY                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   005BD05100030055  200C00442113D1F3  .[.Q...U
..D!...  .$}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3C8F2  F0F0404040404040 
@@........@@@@@@    SYSLH200      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010008 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   211400007FFF0005  215D01           
!.......!].       ...."....).     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLDTA                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0029D00300030023  2412001000100676 
.).....#$......v  ..}.............
[ibm][db2][jcc][t4] 0010   D03F7FFF0671E4D0  0001000F147A0000 
.?...q.......z..  }."...U}.....:..
[ibm][db2][jcc][t4] 0020   0007424F50313333  39               
..BOP1339         ...|&....       
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239883639718][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0241D0430001023B  2411000000000030 
.A.C...;$......0  ..}.............
[ibm][db2][jcc][t4] 0010   3030303044534E20  2020202000000000  0000DSN 
   ....  ......+.........
[ibm][db2][jcc][t4] 0020   0000000000000000  0041B473B4000000 
.........A.s....  ................
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....   
         ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1  
         ................
[ibm][db2][jcc][t4] 0050   202000000000FF00  0000000000000000   
..............  ................
[ibm][db2][jcc][t4] 0060   0000000000044A33  5431000000000005 
......J3T1......  ................
[ibm][db2][jcc][t4] 0070   0000000000000000  0000000401F00000 
................  .............0..
[ibm][db2][jcc][t4] 0080   0000000000000B49  4E544B45595F454D 
.......INTKEY_EM  ........+......(
[ibm][db2][jcc][t4] 0090   504C000000000000  0000FF0000000000 
PL..............  &<..............
[ibm][db2][jcc][t4] 00A0   0002000000044A33  5431000000000000 
......J3T1......  ................
[ibm][db2][jcc][t4] 00B0   0004454D504C0000  00064A3354455354 
..EMPL....J3TEST  ...(&<..........
[ibm][db2][jcc][t4] 00C0   0000000B494E544B  45595F454D504C00 
....INTKEY_EMPL.  .....+......(&<.
[ibm][db2][jcc][t4] 00D0   0000000000000000  00000301C4002500 
..............%.  ............D...
[ibm][db2][jcc][t4] 00E0   0000000000095459  50455F454D504C00 
......TYPE_EMPL.  ........&...(&<.
[ibm][db2][jcc][t4] 00F0   00000000000000FF  0000000000000000 
................  ................
[ibm][db2][jcc][t4] 0100   0000044A33543100  0000000000000445 
...J3T1........E  ................
[ibm][db2][jcc][t4] 0110   4D504C000000064A  3354455354000000 
MPL....J3TEST...  (&<.............
[ibm][db2][jcc][t4] 0120   09545950455F454D  504C000000000000 
.TYPE_EMPL......  ...&...(&<......
[ibm][db2][jcc][t4] 0130   00000000000C01C4  0025000000000000 
.........%......  .......D........
[ibm][db2][jcc][t4] 0140   0A4E414D455F4649  5253540000000000 
.NAME_FIRST.....  .+.(............
[ibm][db2][jcc][t4] 0150   000000FF00000000  000000000000044A 
...............J  ................
[ibm][db2][jcc][t4] 0160   3354310000000000  000004454D504C00 
3T1........EMPL.  ............(&<.
[ibm][db2][jcc][t4] 0170   0000064A33544553  540000000A4E414D 
...J3TEST....NAM  .............+.(
[ibm][db2][jcc][t4] 0180   455F464952535400  0000000000000000 
E_FIRST.........  ................
[ibm][db2][jcc][t4] 0190   00000801C4002500  00000000000B4E41 
......%.......NA  ....D.........+.
[ibm][db2][jcc][t4] 01A0   4D455F4D4944444C  4500000000000000 
ME_MIDDLE.......  (..(...<........
[ibm][db2][jcc][t4] 01B0   00FF000000000000  00000000044A3354 
.............J3T  ................
[ibm][db2][jcc][t4] 01C0   3100000000000000  04454D504C000000 
1........EMPL...  ..........(&<...
[ibm][db2][jcc][t4] 01D0   064A335445535400  00000B4E414D455F 
.J3TEST....NAME_  ...........+.(..
[ibm][db2][jcc][t4] 01E0   4D4944444C450000  0000000000000000 
MIDDLE..........  (...<...........
[ibm][db2][jcc][t4] 01F0   001801C400250000  00000000094E414D 
.....%.......NAM  ...D.........+.(
[ibm][db2][jcc][t4] 0200   455F4C4153540000  000000000000FF00 
E_LAST..........  ..<.............
[ibm][db2][jcc][t4] 0210   0000000000000000  00044A3354310000 
..........J3T1..  ................
[ibm][db2][jcc][t4] 0220   000000000004454D  504C000000064A33 
......EMPL....J3  .......(&<......
[ibm][db2][jcc][t4] 0230   5445535400000009  4E414D455F4C4153 
TEST....NAME_LAS  ........+.(..<..
[ibm][db2][jcc][t4] 0240   54                                  T       
         .               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD04300020029  2411FFFF00010000 
./.C...)$.......  ..}.............
[ibm][db2][jcc][t4] 0010   0000000000000000  001401C500250000 
.............%..  ...........E....
[ibm][db2][jcc][t4] 0020   0000000000000000  0000000000FFFF   
...............   ............... 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: OPNQRYRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0034D0520003002E  2205000611490000 
.4.R...."....I..  ..}.............
[ibm][db2][jcc][t4] 0010   0006210224170005  211FF10005215001 
..!.$...!....!P.  ..........1...&.
[ibm][db2][jcc][t4] 0020   000C215B00000000  78A552C80008215F 
..![....x.R...!_  ...$.....v.H....
[ibm][db2][jcc][t4] 0030   00000000                            ....    
         ....            
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDSC              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0530003004D  241A077800050101 
.S.S...M$..x....  ..}....(........
[ibm][db2][jcc][t4] 0010   300C705010000000  2501007FFF077800 
0.pP....%.....x.  ...&......."....
[ibm][db2][jcc][t4] 0020   050201D01276D002  000450000350000C 
.....v....P..P..  ...}..}...&..&..
[ibm][db2][jcc][t4] 0030   5000085000180778  00050301E00971E0 
P..P...x......q.  &..&........\..\
[ibm][db2][jcc][t4] 0040   540001D000010778  00050401F00671F0 
T......x......q.  ...}........0..0
[ibm][db2][jcc][t4] 0050   E00000                              ...     
         \..             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDTA              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0043D05300038008  241B00000035FF00 
.C.S....$....5..  ..}.............
[ibm][db2][jcc][t4] 0010   0000003D404040E3  C1D4D4E840404040 
...=@@@.....@@@@  ....   XYZ    
[ibm][db2][jcc][t4] 0020   4040404040404040  404040D1C5E2D2C5 
@@@@@@@@@@@.....             XYZ
[ibm][db2][jcc][t4] 0030   4040404040404040  4040404040404040 
@@@@@@@@@@@@@@@@                  
[ibm][db2][jcc][t4] 0040   404040                              @@@     
                         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDQRYRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0026D05200030020  220B000611490004  .&.R...
"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   404040404040                        @@@@@@  
                         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0057D00300030051  2408000000006430 
.W.....Q$.....d0  ..}.............
[ibm][db2][jcc][t4] 0010   3230303044534E58  52464E2000FFFFFF 
2000DSNXRFN ....  ......+...+.....
[ibm][db2][jcc][t4] 0020   9200000000000000  00FFFFFFFF000000 
................  k...............
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....   
         ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1  
         ................
[ibm][db2][jcc][t4] 0050   202000000000FF                        ..... 
         .......         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] BEGIN
TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Result set meta data for
statement Statement@4d0ca0
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Number of result set
columns: 5
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Column 1: {
label=INTKEY_EMPL, name=INTKEY_EMPL, type name=INTEGER, type=4,
nullable=0, precision=10, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496,
sqlCcsid=0, sqlName=INTKEY_EMPL, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=2,
sqlxParmmode=0, sqlxCorname=null, sqlxName=INTKEY_EMPL,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Column 2: { label=TYPE_EMPL,
name=TYPE_EMPL, type name=CHAR, type=1, nullable=0, precision=3,
scale=0, schema name=J3TEST, table name=EMPL, writable=false,
sqlPrecision=0, sqlScale=0, sqlLength=3, sqlType=452, sqlCcsid=37,
sqlName=TYPE_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>,
sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0,
sqlxCorname=null, sqlxName=TYPE_EMPL, sqlxBasename=EMPL,
sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is
locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Column 3: {
label=NAME_FIRST, name=NAME_FIRST, type name=CHAR, type=1, nullable=0,
precision=12, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=12, sqlType=452,
sqlCcsid=37, sqlName=NAME_FIRST, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0,
sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_FIRST,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Column 4: {
label=NAME_MIDDLE, name=NAME_MIDDLE, type name=CHAR, type=1, nullable=0,
precision=8, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=8, sqlType=452,
sqlCcsid=37, sqlName=NAME_MIDDLE, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0,
sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_MIDDLE,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] Column 5: { label=NAME_LAST,
name=NAME_LAST, type name=CHAR, type=1, nullable=0, precision=24,
scale=0, schema name=J3TEST, table name=EMPL, writable=false,
sqlPrecision=0, sqlScale=0, sqlLength=24, sqlType=452, sqlCcsid=37,
sqlName=NAME_LAST, sqlLabel=null, sqlUnnamed=0, sqlComment=null,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>,
sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0,
sqlxCorname=null, sqlxName=NAME_LAST, sqlxBasename=EMPL,
sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is
locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] { sqldHold=0, sqldReturn=0,
sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0,
sqldRdbnam=J3T1, sqldSchema=null }
[ibm][db2][jcc][ResultSetMetaData@1d1cd0d] END
TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ParameterMetaData@ed21d3] BEGIN
TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][ParameterMetaData@ed21d3] Parameter meta data for
statement Statement@4d0ca0
[ibm][db2][jcc][ParameterMetaData@ed21d3] Number of parameter columns:
1
isDescribed=true[ibm][db2][jcc][ParameterMetaData@ed21d3] Column 1: {
label=1, name=1, type name=CHAR, type=1, nullable=1, precision=20,
scale=0, schema name=, table name=, writable=false, sqlPrecision=0,
sqlScale=0, sqlLength=20, sqlType=453, sqlCcsid=37, sqlName=1,
sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>,
sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>,
sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=1,
sqlxCorname=<null>, sqlxName=<null>, sqlxBasename=<null>,
sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>, internal
type=1, is locator parameter=false }
[ibm][db2][jcc][ParameterMetaData@ed21d3] { sqldHold=0, sqldReturn=0,
sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0,
sqldRdbnam=null, sqldSchema=null }
[ibm][db2][jcc][ParameterMetaData@ed21d3] END
TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][Time:1239883639734][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
execute () returned true
[ibm][db2][jcc][Time:1239883639734][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getResultSet () called
[ibm][db2][jcc][Time:1239883639734][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getResultSet () returned ResultSet@de43f3
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getType () returned 1003
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () returned true
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getInt (INTKEY_EMPL) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getInt (1) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getInt () returned 61
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (TYPE_EMPL) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (2) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString () returned    
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (NAME_FIRST) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (3) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString () returned XYZ      
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (NAME_MIDDLE) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (4) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString () returned         
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (NAME_LAST) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString (5) called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
getString () returned XYZ                   
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
wasNull () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getMoreResults () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
close () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
close () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
rollback () called
[ibm][db2][jcc]
[t4][time:1239883639750][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0001
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
rollback () called
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239883639828][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0002
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions        
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement () returned com.ibm.db2.jcc.a.lg@1fbfeae
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1fbfeae]
setString (1, BOP) called
 
************************END OF SNIPPET***************
 
 
 
2.  Here's a larger snippet of the iBATIS/DBCP Pool Log.
 
 
[ibm][db2][jcc][t4]   DRDA manager levels: { SQLAM=7, AGENT=7,
CMNTCPIP=5, RDB=7, SECMGR=7, XAMGR=0, SYNCPTMGR=0, RSYNCMGR=0 }
[ibm][db2][jcc][Time:1239888889843][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888889843][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getTransactionIsolation () returned 2
[ibm][db2][jcc][Time:1239888889843][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setTransactionIsolation (1) called
[ibm][db2][jcc][Time:1239888889843][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888889843][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239888889843][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement (          SELECT b.INTKEY_EMPL, b.TYPE_EMPL,
b.NAME_FIRST, b.NAME_MIDDLE, b.NAME_LAST         FROM J3TEST.ENUM a,
J3TEST.EMPL b         WHERE a.NBR_ENUM = ? AND a.CODE_TNUM = 'UID' AND
a.INTKEY_EMPL = b.INTKEY_EMPL     ) called
[ibm][db2][jcc][Time:1239888889859][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement () returned com.ibm.db2.jcc.a.lg@594008
[ibm][db2][jcc][Time:1239888889875][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
setString (1, BOP1339) called
[ibm][db2][jcc][Time:1239888889875][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
execute () called
[ibm][db2][jcc]
[t4][time:1239888889890][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: PRPSQLSTT              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0058D05100010052  200D00442113D1F3  .X.Q...R
..D!...  ..}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3C8F1  F0F0404040404040 
@@........@@@@@@    SYSLH100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   2116F10005214604                    !....!F.
         ..1.....        
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLATTR                (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   001ED05300010018  2450000000000E46 
...S....$P.....F  ..}......&......
[ibm][db2][jcc][t4] 0010   4F52205245414420  4F4E4C5920FF      OR READ
ONLY .    |.......|+<...  
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLSTT                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   00EBD043000100E5  241400000000DB20 
...C....$......   ..}....V........
[ibm][db2][jcc][t4] 0010   2020202020202020  2053454C45435420          
SELECT   ...........<....
[ibm][db2][jcc][t4] 0020   622E494E544B4559  5F454D504C2C2062 
b.INTKEY_EMPL, b  ...+......(&<...
[ibm][db2][jcc][t4] 0030   2E545950455F454D  504C2C20622E4E41 
.TYPE_EMPL, b.NA  ...&...(&<....+.
[ibm][db2][jcc][t4] 0040   4D455F4649525354  2C20622E4E414D45 
ME_FIRST, b.NAME  (...........+.(.
[ibm][db2][jcc][t4] 0050   5F4D4944444C452C  20622E4E414D455F  _MIDDLE,
b.NAME_  .(...<.....+.(..
[ibm][db2][jcc][t4] 0060   4C41535420202020  202020202046524F  LAST    
    FRO  <..............|
[ibm][db2][jcc][t4] 0070   4D204A3354455354  2E454E554D20612C  M
J3TEST.ENUM a,  (.........+.(./.
[ibm][db2][jcc][t4] 0080   204A33544553542E  454D504C20622020  
J3TEST.EMPL b    .........(&<....
[ibm][db2][jcc][t4] 0090   2020202020202057  4845524520612E4E        
WHERE a.N  ............./.+
[ibm][db2][jcc][t4] 00A0   42525F454E554D20  3D203F20414E4420  BR_ENUM
= ? AND   ....+.(......+..
[ibm][db2][jcc][t4] 00B0   612E434F44455F54  4E554D203D202755 
a.CODE_TNUM = 'U  /..|....+.(.....
[ibm][db2][jcc][t4] 00C0   49442720414E4420  612E494E544B4559  ID' AND
a.INTKEY  .....+../..+....
[ibm][db2][jcc][t4] 00D0   5F454D504C203D20  622E494E544B4559  _EMPL =
b.INTKEY  ..(&<......+....
[ibm][db2][jcc][t4] 00E0   5F454D504C202020  2020FF            _EMPL   
 .       ..(&<......     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: DSCSQLSTT              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0410002004D  200800442113D1F3  .S.A...M
..D!...  ..}....(......J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3C8F1  F0F0404040404040 
@@........@@@@@@    SYSLH100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010005 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   214601                              !F.     
         ...             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: OPNQRY                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   005BD05100030055  200C00442113D1F3  .[.Q...U
..D!...  .$}...........J3
[ibm][db2][jcc][t4] 0010   E3F1404040404040  4040404040404040 
..@@@@@@@@@@@@@@  T1              
[ibm][db2][jcc][t4] 0020   D5E4D3D3C9C44040  4040404040404040 
......@@@@@@@@@@  NULLID          
[ibm][db2][jcc][t4] 0030   4040E2E8E2D3C8F1  F0F0404040404040 
@@........@@@@@@    SYSLH100      
[ibm][db2][jcc][t4] 0040   404040405359534C  564C303100010008 
@@@@SYSLVL01....      ...<.<......
[ibm][db2][jcc][t4] 0050   211400007FFF0005  215D01           
!.......!].       ...."....).     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        SEND BUFFER: SQLDTA                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0029D00300030023  2412001000100676 
.).....#$......v  ..}.............
[ibm][db2][jcc][t4] 0010   D03F7FFF0671E4D0  0001000F147A0000 
.?...q.......z..  }."...U}.....:..
[ibm][db2][jcc][t4] 0020   0007424F50313333  39               
..BOP1339         ...|&....       
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239888889937][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   0241D0430001023B  2411000000000030 
.A.C...;$......0  ..}.............
[ibm][db2][jcc][t4] 0010   3030303044534E20  2020202000000000  0000DSN 
   ....  ......+.........
[ibm][db2][jcc][t4] 0020   0000000000000000  0041B473B4000000 
.........A.s....  ................
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....   
         ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1  
         ................
[ibm][db2][jcc][t4] 0050   202000000000FF00  0000000000000000   
..............  ................
[ibm][db2][jcc][t4] 0060   0000000000044A33  5431000000000005 
......J3T1......  ................
[ibm][db2][jcc][t4] 0070   0000000000000000  0000000401F00000 
................  .............0..
[ibm][db2][jcc][t4] 0080   0000000000000B49  4E544B45595F454D 
.......INTKEY_EM  ........+......(
[ibm][db2][jcc][t4] 0090   504C000000000000  0000FF0000000000 
PL..............  &<..............
[ibm][db2][jcc][t4] 00A0   0002000000044A33  5431000000000000 
......J3T1......  ................
[ibm][db2][jcc][t4] 00B0   0004454D504C0000  00064A3354455354 
..EMPL....J3TEST  ...(&<..........
[ibm][db2][jcc][t4] 00C0   0000000B494E544B  45595F454D504C00 
....INTKEY_EMPL.  .....+......(&<.
[ibm][db2][jcc][t4] 00D0   0000000000000000  00000301C4002500 
..............%.  ............D...
[ibm][db2][jcc][t4] 00E0   0000000000095459  50455F454D504C00 
......TYPE_EMPL.  ........&...(&<.
[ibm][db2][jcc][t4] 00F0   00000000000000FF  0000000000000000 
................  ................
[ibm][db2][jcc][t4] 0100   0000044A33543100  0000000000000445 
...J3T1........E  ................
[ibm][db2][jcc][t4] 0110   4D504C000000064A  3354455354000000 
MPL....J3TEST...  (&<.............
[ibm][db2][jcc][t4] 0120   09545950455F454D  504C000000000000 
.TYPE_EMPL......  ...&...(&<......
[ibm][db2][jcc][t4] 0130   00000000000C01C4  0025000000000000 
.........%......  .......D........
[ibm][db2][jcc][t4] 0140   0A4E414D455F4649  5253540000000000 
.NAME_FIRST.....  .+.(............
[ibm][db2][jcc][t4] 0150   000000FF00000000  000000000000044A 
...............J  ................
[ibm][db2][jcc][t4] 0160   3354310000000000  000004454D504C00 
3T1........EMPL.  ............(&<.
[ibm][db2][jcc][t4] 0170   0000064A33544553  540000000A4E414D 
...J3TEST....NAM  .............+.(
[ibm][db2][jcc][t4] 0180   455F464952535400  0000000000000000 
E_FIRST.........  ................
[ibm][db2][jcc][t4] 0190   00000801C4002500  00000000000B4E41 
......%.......NA  ....D.........+.
[ibm][db2][jcc][t4] 01A0   4D455F4D4944444C  4500000000000000 
ME_MIDDLE.......  (..(...<........
[ibm][db2][jcc][t4] 01B0   00FF000000000000  00000000044A3354 
.............J3T  ................
[ibm][db2][jcc][t4] 01C0   3100000000000000  04454D504C000000 
1........EMPL...  ..........(&<...
[ibm][db2][jcc][t4] 01D0   064A335445535400  00000B4E414D455F 
.J3TEST....NAME_  ...........+.(..
[ibm][db2][jcc][t4] 01E0   4D4944444C450000  0000000000000000 
MIDDLE..........  (...<...........
[ibm][db2][jcc][t4] 01F0   001801C400250000  00000000094E414D 
.....%.......NAM  ...D.........+.(
[ibm][db2][jcc][t4] 0200   455F4C4153540000  000000000000FF00 
E_LAST..........  ..<.............
[ibm][db2][jcc][t4] 0210   0000000000000000  00044A3354310000 
..........J3T1..  ................
[ibm][db2][jcc][t4] 0220   000000000004454D  504C000000064A33 
......EMPL....J3  .......(&<......
[ibm][db2][jcc][t4] 0230   5445535400000009  4E414D455F4C4153 
TEST....NAME_LAS  ........+.(..<..
[ibm][db2][jcc][t4] 0240   54                                  T       
         .               
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLDARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   002FD04300020029  2411FFFF00010000 
./.C...)$.......  ..}.............
[ibm][db2][jcc][t4] 0010   0000000000000000  001401C500250000 
.............%..  ...........E....
[ibm][db2][jcc][t4] 0020   0000000000000000  0000000000FFFF   
...............   ............... 
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: OPNQRYRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0034D0520003002E  2205000611490000 
.4.R...."....I..  ..}.............
[ibm][db2][jcc][t4] 0010   0006210224170005  211FF10005215001 
..!.$...!....!P.  ..........1...&.
[ibm][db2][jcc][t4] 0020   000C215B00000000  78A0C2C80008215F 
..![....x.....!_  ...$......BH....
[ibm][db2][jcc][t4] 0030   00000000                            ....    
         ....            
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDSC              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0053D0530003004D  241A077800050101 
.S.S...M$..x....  ..}....(........
[ibm][db2][jcc][t4] 0010   300C705010000000  2501007FFF077800 
0.pP....%.....x.  ...&......."....
[ibm][db2][jcc][t4] 0020   050201D01276D002  000450000350000C 
.....v....P..P..  ...}..}...&..&..
[ibm][db2][jcc][t4] 0030   5000085000180778  00050301E00971E0 
P..P...x......q.  &..&........\..\
[ibm][db2][jcc][t4] 0040   540001D000010778  00050401F00671F0 
T......x......q.  ...}........0..0
[ibm][db2][jcc][t4] 0050   E00000                              ...     
         \..             
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: QRYDTA              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0043D05300038008  241B00000035FF00 
.C.S....$....5..  ..}.............
[ibm][db2][jcc][t4] 0010   0000003D404040E3  C1D4D4E840404040 
...=@@@.....@@@@  ....   XYZ    
[ibm][db2][jcc][t4] 0020   4040404040404040  404040D1C5E2D2C5 
@@@@@@@@@@@.....             XYZ
[ibm][db2][jcc][t4] 0030   4040404040404040  4040404040404040 
@@@@@@@@@@@@@@@@                  
[ibm][db2][jcc][t4] 0040   404040                              @@@     
                         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDQRYRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0026D05200030020  220B000611490004  .&.R...
"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   404040404040                        @@@@@@  
                         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   0057D00300030051  2408000000006430 
.W.....Q$.....d0  ..}.............
[ibm][db2][jcc][t4] 0010   3230303044534E58  52464E2000FFFFFF 
2000DSNXRFN ....  ......+...+.....
[ibm][db2][jcc][t4] 0020   9200000000000000  00FFFFFFFF000000 
................  k...............
[ibm][db2][jcc][t4] 0030   0000000000202020  2020202020202020  .....   
         ................
[ibm][db2][jcc][t4] 0040   00104A3354312020  2020202020202020  ..J3T1  
         ................
[ibm][db2][jcc][t4] 0050   202000000000FF                        ..... 
         .......         
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][ResultSetMetaData@122b302] BEGIN
TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ResultSetMetaData@122b302] Result set meta data for
statement Statement@594008
[ibm][db2][jcc][ResultSetMetaData@122b302] Number of result set
columns: 5
isDescribed=true[ibm][db2][jcc][ResultSetMetaData@122b302] Column 1: {
label=INTKEY_EMPL, name=INTKEY_EMPL, type name=INTEGER, type=4,
nullable=0, precision=10, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=4, sqlType=496,
sqlCcsid=0, sqlName=INTKEY_EMPL, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=2,
sqlxParmmode=0, sqlxCorname=null, sqlxName=INTKEY_EMPL,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=4, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@122b302] Column 2: { label=TYPE_EMPL,
name=TYPE_EMPL, type name=CHAR, type=1, nullable=0, precision=3,
scale=0, schema name=J3TEST, table name=EMPL, writable=false,
sqlPrecision=0, sqlScale=0, sqlLength=3, sqlType=452, sqlCcsid=37,
sqlName=TYPE_EMPL, sqlLabel=null, sqlUnnamed=0, sqlComment=null,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>,
sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0,
sqlxCorname=null, sqlxName=TYPE_EMPL, sqlxBasename=EMPL,
sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is
locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@122b302] Column 3: {
label=NAME_FIRST, name=NAME_FIRST, type name=CHAR, type=1, nullable=0,
precision=12, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=12, sqlType=452,
sqlCcsid=37, sqlName=NAME_FIRST, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0,
sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_FIRST,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@122b302] Column 4: {
label=NAME_MIDDLE, name=NAME_MIDDLE, type name=CHAR, type=1, nullable=0,
precision=8, scale=0, schema name=J3TEST, table name=EMPL,
writable=false, sqlPrecision=0, sqlScale=0, sqlLength=8, sqlType=452,
sqlCcsid=37, sqlName=NAME_MIDDLE, sqlLabel=null, sqlUnnamed=0,
sqlComment=null, sqludtxType=<null>, sqludtRdb=<null>,
sqludtSchema=<null>, sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0,
sqlxParmmode=0, sqlxCorname=null, sqlxName=NAME_MIDDLE,
sqlxBasename=EMPL, sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1,
internal type=1, is locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@122b302] Column 5: { label=NAME_LAST,
name=NAME_LAST, type name=CHAR, type=1, nullable=0, precision=24,
scale=0, schema name=J3TEST, table name=EMPL, writable=false,
sqlPrecision=0, sqlScale=0, sqlLength=24, sqlType=452, sqlCcsid=37,
sqlName=NAME_LAST, sqlLabel=null, sqlUnnamed=0, sqlComment=null,
sqludtxType=<null>, sqludtRdb=<null>, sqludtSchema=<null>,
sqludtName=<null>, sqlxKeymem=0, sqlxGenerated=0, sqlxParmmode=0,
sqlxCorname=null, sqlxName=NAME_LAST, sqlxBasename=EMPL,
sqlxUpdatable=0, sqlxSchema=J3TEST, sqlxRdbnam=J3T1, internal type=1, is
locator parameter=false }
[ibm][db2][jcc][ResultSetMetaData@122b302] { sqldHold=0, sqldReturn=0,
sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0,
sqldRdbnam=J3T1, sqldSchema=null }
[ibm][db2][jcc][ResultSetMetaData@122b302] END
TRACE_RESULT_SET_META_DATA
[ibm][db2][jcc][ParameterMetaData@1164bf6] BEGIN
TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][ParameterMetaData@1164bf6] Parameter meta data for
statement Statement@594008
[ibm][db2][jcc][ParameterMetaData@1164bf6] Number of parameter columns:
1
isDescribed=true[ibm][db2][jcc][ParameterMetaData@1164bf6] Column 1: {
label=1, name=1, type name=CHAR, type=1, nullable=1, precision=20,
scale=0, schema name=, table name=, writable=false, sqlPrecision=0,
sqlScale=0, sqlLength=20, sqlType=453, sqlCcsid=37, sqlName=1,
sqlLabel=null, sqlUnnamed=0, sqlComment=null, sqludtxType=<null>,
sqludtRdb=<null>, sqludtSchema=<null>, sqludtName=<null>,
sqlxKeymem=<null>, sqlxGenerated=<null>, sqlxParmmode=1,
sqlxCorname=<null>, sqlxName=<null>, sqlxBasename=<null>,
sqlxUpdatable=<null>, sqlxSchema=<null>, sqlxRdbnam=<null>, internal
type=1, is locator parameter=false }
[ibm][db2][jcc][ParameterMetaData@1164bf6] { sqldHold=0, sqldReturn=0,
sqldScroll=0, sqldSensitive=0, sqldFcode=0, sqldKeytype=0,
sqldRdbnam=null, sqldSchema=null }
[ibm][db2][jcc][ParameterMetaData@1164bf6] END
TRACE_PARAMETER_META_DATA
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
execute () returned true
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getResultSet () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getResultSet () returned ResultSet@b1164d
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getType () returned 1003
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () returned true
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getInt (INTKEY_EMPL) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getInt (1) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getInt () returned 61
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (TYPE_EMPL) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (2) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString () returned    
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (NAME_FIRST) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (3) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString () returned XYZ       
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (NAME_MIDDLE) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (4) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString () returned         
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (NAME_LAST) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString (5) called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
getString () returned XYZ                   
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
wasNull () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getMoreResults () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isClosed () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isClosed () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isReadOnly () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
rollback () called
[ibm][db2][jcc]
[t4][time:1239888889968][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239888890015][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@3e0c6] DB2 LUWID:
GA101042.A707.018146133451.0001
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
clearWarnings () called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (true) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions        
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement () returned com.ibm.db2.jcc.a.lg@176ade8
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@176ade8]
setString (1, BOP) called
 
************************END OF SNIPPET***************
 


>>> Mario Ds Briggs <ma...@in.ibm.com> 4/17/2009 4:04 AM >>>
Jeff,

For iBatis app with SimpleDatasource & DBCP, the transaction is
getting
rolled back. (are u running a test case or something)
With Glassfish there is neither a commit or rollback being issued,
which is
the problem, since AutoCommit is set to false.
With straight JDBC, i believe you are using auto-commit = true and
hence
the implicit flush

Mario



                                                                       
   
             "Jeff Hibbs"                                              
   
             <jh...@bop.gov>                                          
   
                                                                       
To 
             16/04/2009 21:19                                          
   
                                                                       
cc 
                                       "Shau-Chi Tse" <sx...@bop.gov>, 
   
             Please respond to         <us...@ibatis.apache.org>   
   
             user-java@ibatis.                                    
Subject 
                apache.org             Re: Idle Threads - Glassfish/DB2
   
                                                                       
   
                                                                       
   
                                                                       
   
                                                                       
   
                                                                       
   
                                                                       
   




Mario -

Thanks for your time.  There are some differences between the JCC
logs.
One thing that looks suspect to me is that the "RECEIVE BUFFER:
ENDUOWRM"
message is present after each qry when using the SIMPLE Data source
pool
(as well as the Apache DBCP pool), but not always there while using
the
GlassFish pool.  Also ran a non-iBATIS application, using the
Glassfish
Pool and we did get the RECEIVE BUFFER: ENDUOWRM messages after each
qry.
Here are what I Believe to be relevant parts of the JCC logs.  These
snippets start at the exact same place in the application.

NOTES:

- In iBATIS/Glassfish pool log, it goes right into the next qry after
the "
PreparedStatement@1ff1855] close () called" statement, and does not
contain
a big section (including the ENDUOWRM portion) that's included in the
SIMPLE log.

- In iBATIS/GlassFish pool log, the next qry is using a different
connection for the next qry, while the SIMPLE log is using the same
connection for the next qry.  This is not visible on the Glassfish pool
log
because there are not any "close connection" statements from the first
qry.


Again thanks for taking the time.  Any help would be greatly
appreciated.
Please let me know if you want to see other parts of the log or have
any
other question...

Jeff



1.  iBATIS app with SIMPLE Data Source:

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getMoreResults () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
close () called

******THIS BELOW SECTION IS NOT PRESENT ON THE GLASSFISH POOL
LOG*************

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
close () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
rollback () called
[ibm][db2][jcc]
[t4][time:1239883639750][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0001
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
rollback () called
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239883639828][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0002

*******************END OF MARKED SECTION************************

[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement () returned
com.ibm.db2.jcc.a.lg@1fbfeae

—------------------------------------END OF
SNIPPET---------------------------------



2.  iBATIS app with GlassFish Connection Pool:

[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getMoreResults () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
close () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
close () called
****new QRY ****
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
prepareStatement () returned
com.ibm.db2.jcc.a.lg@255d
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]
setString (1, BOP) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]
execute () called

—------------------------------------END OF
SNIPPET---------------------------------


3. iBTIS app with the DBCP Commons Pool:

[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getMoreResults () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isClosed () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isClosed () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isReadOnly () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
rollback () called
[ibm][db2][jcc]
[t4][time:1239888889968][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239888890015][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@3e0c6] DB2 LUWID:
GA101042.A707.018146133451.0001
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
clearWarnings () called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (true) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement () returned
com.ibm.db2.jcc.a.lg@176ade8
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@176ade8]
setString (1, BOP) called

—------------------------------------END OF
SNIPPET---------------------------------



4.  non-iBATIS (straight JDBC coding) application with Glassfish
Connection
pool


[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
next () returned true
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
getString (SUFFIX_USER) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
getString (1) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
getString () returned
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
close () called
[ibm][db2][jcc]
[t4][time:1239886497015][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBCMM                 (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200E              ........
.
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239886497046][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211501           
@@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1aa7618] DB2 LUWID:
GA101042.C506.0188C6125455.0002
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1969fa5]
close () called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]
prepareStatement (SELECT DISTINCT CODE_REGN FROM J3TEST.REGN WHERE
REGN_FK_AGEN = ?) called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]
prepareStatement () returned
com.ibm.db2.jcc.a.lg@15db23e
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@15db23e]
clearParameters () called
[ibm][db2][jcc][Time:12398864970

—------------------------------------END OF
SNIPPET---------------------------------







>>> Mario Ds Briggs <ma...@in.ibm.com> 4/15/2009 7:07 AM >>>
Did you do a compare of the JCC log for the same application run with
  a - the glassfish connection pool
  b - the ibatis SIMPLE datasource

thanks
Mario




             "Jeff Hibbs"
             <jh...@bop.gov>
                                                                       
To
             10/04/2009 22:20          <us...@ibatis.apache.org>
                                                                       
cc

             Please respond to                                    
Subject
             user-java@ibatis.         Re: Idle Threads -
Glassfish/DB2
                apache.org









Hi Nathan -

Thanks for the suggestion...as you suspected, it works fine in the test
env
with the SIMPLE datasource that comes with ibatis.  While this does
give us
more information, at this point I still have to use the Glassfish
connection pools in production, as ours is one of many apps that reside
on
these (cluster) servers, and we must conform to the standard
Connection
Pools.

Any additional insight into these questions would be greatly
appreciated....

1. Why are the iBATIS queries keeping idle threads open on DB2 while
the
straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish Connection
Pools?
Again, thanks for you help!  Jeff

>>> Nathan Maves <na...@gmail.com> 4/3/2009 10:29 AM >>>
Jeff,

Not to state the obvious but it does not seem like an ibatis issue. It
sounds more like the connection pool implementation of Glassfish. As a
test
you might try creating your own connection pool using the SIMPLE
datasource
type in ibatis just to ensure that it is an issue with Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:
   Hello All -
   Any help will be greatly appreciated...Thanks!!!
   Our iBatis-based application was running on Sun1 Server/DB2 Version
8 -
   z/OS with no problems. When we migrated to Glassfish V2, the DB
folks
   noticed many idle threads coming from our application which uses
iBATIS
   2.1.5 (July 2005 Build). Other (non-iBATIS) applications that use
   straight JDBC (no ORM) on the same server, using the same
connection
   pool, were not causing idle threads. Below is a sample what the DBA
is
   seeing:

—---------------------------------------------------------------------------------------------------------------------

   Primauth Planname name ID Status elapsed time CPU time
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.78195 0.000969
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.67919 0.001146
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.59251 0.000896
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.40476 0.001567
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.38349 0.001066

   14.46.15 STC12568 DSNL028I #J3P1 GAD00841.K6FE.C3F92EF69C21=157421
914
   914 ACCESSING DATA FOR
   914 LOCATION xx.xxx.x.xx
   914 IPADDR xx.xxx.x.xx
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 561
   561 LUWID=GAD00840.PC1B.C3F92F10E401=157523
   561 THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
   561 RECEIVED ABEND=04E
   561 FOR REASON=00D3003B
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 562
   562 LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
   562 THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
   562 RECEIVED ABEND=04E
   562 FOR REASON=00D3003B

—-----------------------------------------------------------------------------------------------------------------------

   I'm not going to pretend to know what all this means, but
apparently
   iBATIS/Glassfish is not releasing the threads after the SQL
completes.
   Again, other non-iBATIS applications using the same connection pool
are
   not generating these ilde threads. From a user's perspective the
system
   is running fine - the queries are returning quickly. Also, we are
not
   exhausting the connections in the connection pool, but apparently
some
   resources in DB2 are incorrectly being left open. I guess I'm not
sure
   of the difference between a "connection" and a "thread" from the
DB2
   perspective.
   We have been able to replicate this in the Test env. Here's what we
know
   so far:
   - Tried iBATIS 2.3.3.720: same results
   - Used replaced glassfish with Tomcat and the problem went away
   Obvious questions:
   1. Why are the iBATIS queries keeping idle threads open on DB2 while
the
   straight JDBC coded queries are not.
   2. Why does this only appear to happen with Glassfish?
   Here's our iBATIS config:
   <settings
   useStatementNamespaces="false"
   cacheModelsEnabled="true"
   enhancementEnabled="true"
   />

   <transactionManager type="JDBC" >
   <dataSource type="JNDI">
   <property name="DataSource"
value="java:comp/env/@isds.datasource.name 
   @"/>
   </dataSource>
   </transactionManager>
   .......
   TEST Connection Pool Info:
   Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
   Resource Type:javax.sql.DataSource (prod same)

   Pool Settings:
   Initial and Minimum Pool Size:8 (prod = 0)
   Maximum Pool Size: 32 (prod = 300)
   Pool Resize Quantity: 2 (prod = 5)
   Idle Timeout: 300 (prod = 15)
   Max Wait Time:60000 (prod = 60000)

Re: Idle Threads - Glassfish/DB2

Posted by Mario Ds Briggs <ma...@in.ibm.com>.
Jeff,

For iBatis app with SimpleDatasource & DBCP, the transaction is getting
rolled back. (are u running a test case or something)
With Glassfish there is neither a commit or rollback being issued, which is
the problem, since AutoCommit is set to false.
With straight JDBC, i believe you are using auto-commit = true and hence
the implicit flush

Mario



                                                                           
             "Jeff Hibbs"                                                  
             <jh...@bop.gov>                                              
                                                                        To 
             16/04/2009 21:19                                              
                                                                        cc 
                                       "Shau-Chi Tse" <sx...@bop.gov>,     
             Please respond to         <us...@ibatis.apache.org>       
             user-java@ibatis.                                     Subject 
                apache.org             Re: Idle Threads - Glassfish/DB2    
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Mario -

Thanks for your time.  There are some differences between the JCC logs.
One thing that looks suspect to me is that the "RECEIVE BUFFER: ENDUOWRM"
message is present after each qry when using the SIMPLE Data source pool
(as well as the Apache DBCP pool), but not always there while using the
GlassFish pool.  Also ran a non-iBATIS application, using the Glassfish
Pool and we did get the RECEIVE BUFFER: ENDUOWRM messages after each qry.
Here are what I Believe to be relevant parts of the JCC logs.  These
snippets start at the exact same place in the application.

NOTES:

- In iBATIS/Glassfish pool log, it goes right into the next qry after the "
PreparedStatement@1ff1855] close () called" statement, and does not contain
a big section (including the ENDUOWRM portion) that's included in the
SIMPLE log.

- In iBATIS/GlassFish pool log, the next qry is using a different
connection for the next qry, while the SIMPLE log is using the same
connection for the next qry.  This is not visible on the Glassfish pool log
because there are not any "close connection" statements from the first qry.


Again thanks for taking the time.  Any help would be greatly appreciated.
Please let me know if you want to see other parts of the log or have any
other question...

Jeff



1.  iBATIS app with SIMPLE Data Source:

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
 next () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
 next () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
 getMoreResults () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
 getMoreResults () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
 close () called

******THIS BELOW SECTION IS NOT PRESENT ON THE GLASSFISH POOL
LOG*************

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
 close () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 isClosed () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 isClosed () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 rollback () called
[ibm][db2][jcc]
[t4][time:1239883639750][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0001
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 isClosed () called
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 isClosed () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 rollback () called
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239883639828][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0002

*******************END OF MARKED SECTION************************

[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
 prepareStatement () returned
com.ibm.db2.jcc.a.lg@1fbfeae

—------------------------------------END OF
SNIPPET---------------------------------



2.  iBATIS app with GlassFish Connection Pool:

[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
 next () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
 next () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
 getMoreResults () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
 getMoreResults () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
 close () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
 close () called
****new QRY ****
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
 getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
 getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
 setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
 prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
 prepareStatement () returned
com.ibm.db2.jcc.a.lg@255d
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]
 setString (1, BOP) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]
 execute () called

—------------------------------------END OF
SNIPPET---------------------------------


3. iBTIS app with the DBCP Commons Pool:

[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
 next () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
 next () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
 getMoreResults () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
 getMoreResults () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
 close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
 close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 isClosed () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 isClosed () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 isReadOnly () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 rollback () called
[ibm][db2][jcc]
[t4][time:1239888889968][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239888890015][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211502            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@3e0c6] DB2 LUWID:
GA101042.A707.018146133451.0001
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 clearWarnings () called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 setAutoCommit (true) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 setAutoCommit (false) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 prepareStatement (          SELECT DISTINCT CODE_REGN AS regions
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
 prepareStatement () returned
com.ibm.db2.jcc.a.lg@176ade8
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@176ade8]
 setString (1, BOP) called

—------------------------------------END OF
SNIPPET---------------------------------



4.  non-iBATIS (straight JDBC coding) application with Glassfish Connection
pool


[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
 next () returned true
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
 getString (SUFFIX_USER) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
 getString (1) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
 getString () returned
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
 close () called
[ibm][db2][jcc]
[t4][time:1239886497015][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]

[ibm][db2][jcc][t4]        SEND BUFFER: RDBCMM                 (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200E              ........ .
..}.......
[ibm][db2][jcc][t4]
[ibm][db2][jcc]
[t4][time:1239886497046][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]

[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040
..!.....@@@@@@@@  ....J3T1
[ibm][db2][jcc][t4] 0020   4040404040400005  211501            @@@@@@..!..
.....
[ibm][db2][jcc][t4]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII)
(EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF            ........$..
..}........
[ibm][db2][jcc][t4]
[ibm][db2][jcc][Connection@1aa7618] DB2 LUWID:
GA101042.C506.0188C6125455.0002
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1969fa5]
 close () called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]
 prepareStatement (SELECT DISTINCT CODE_REGN FROM J3TEST.REGN WHERE
REGN_FK_AGEN = ?) called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]
 prepareStatement () returned
com.ibm.db2.jcc.a.lg@15db23e
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@15db23e]
 clearParameters () called
[ibm][db2][jcc][Time:12398864970

—------------------------------------END OF
SNIPPET---------------------------------







>>> Mario Ds Briggs <ma...@in.ibm.com> 4/15/2009 7:07 AM >>>
Did you do a compare of the JCC log for the same application run with
  a - the glassfish connection pool
  b - the ibatis SIMPLE datasource

thanks
Mario




             "Jeff Hibbs"
             <jh...@bop.gov>
                                                                        To
             10/04/2009 22:20          <us...@ibatis.apache.org>
                                                                        cc

             Please respond to                                     Subject
             user-java@ibatis.         Re: Idle Threads - Glassfish/DB2
                apache.org









Hi Nathan -

Thanks for the suggestion...as you suspected, it works fine in the test env
with the SIMPLE datasource that comes with ibatis.  While this does give us
more information, at this point I still have to use the Glassfish
connection pools in production, as ours is one of many apps that reside on
these (cluster) servers, and we must conform to the standard Connection
Pools.

Any additional insight into these questions would be greatly
appreciated....

1. Why are the iBATIS queries keeping idle threads open on DB2 while the
straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish Connection Pools?
Again, thanks for you help!  Jeff

>>> Nathan Maves <na...@gmail.com> 4/3/2009 10:29 AM >>>
Jeff,

Not to state the obvious but it does not seem like an ibatis issue. It
sounds more like the connection pool implementation of Glassfish. As a test
you might try creating your own connection pool using the SIMPLE datasource
type in ibatis just to ensure that it is an issue with Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:
   Hello All -
   Any help will be greatly appreciated...Thanks!!!
   Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
   z/OS with no problems. When we migrated to Glassfish V2, the DB folks
   noticed many idle threads coming from our application which uses iBATIS
   2.1.5 (July 2005 Build). Other (non-iBATIS) applications that use
   straight JDBC (no ORM) on the same server, using the same connection
   pool, were not causing idle threads. Below is a sample what the DBA is
   seeing:

—---------------------------------------------------------------------------------------------------------------------

   Primauth Planname name ID Status elapsed time CPU time
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.78195 0.000969
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.67919 0.001146
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.59251 0.000896
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.40476 0.001567
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.38349 0.001066

   14.46.15 STC12568 DSNL028I #J3P1 GAD00841.K6FE.C3F92EF69C21=157421 914
   914 ACCESSING DATA FOR
   914 LOCATION xx.xxx.x.xx
   914 IPADDR xx.xxx.x.xx
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 561
   561 LUWID=GAD00840.PC1B.C3F92F10E401=157523
   561 THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
   561 RECEIVED ABEND=04E
   561 FOR REASON=00D3003B
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 562
   562 LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
   562 THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
   562 RECEIVED ABEND=04E
   562 FOR REASON=00D3003B

—-----------------------------------------------------------------------------------------------------------------------

   I'm not going to pretend to know what all this means, but apparently
   iBATIS/Glassfish is not releasing the threads after the SQL completes.
   Again, other non-iBATIS applications using the same connection pool are
   not generating these ilde threads. From a user's perspective the system
   is running fine - the queries are returning quickly. Also, we are not
   exhausting the connections in the connection pool, but apparently some
   resources in DB2 are incorrectly being left open. I guess I'm not sure
   of the difference between a "connection" and a "thread" from the DB2
   perspective.
   We have been able to replicate this in the Test env. Here's what we know
   so far:
   - Tried iBATIS 2.3.3.720: same results
   - Used replaced glassfish with Tomcat and the problem went away
   Obvious questions:
   1. Why are the iBATIS queries keeping idle threads open on DB2 while the
   straight JDBC coded queries are not.
   2. Why does this only appear to happen with Glassfish?
   Here's our iBATIS config:
   <settings
   useStatementNamespaces="false"
   cacheModelsEnabled="true"
   enhancementEnabled="true"
   />

   <transactionManager type="JDBC" >
   <dataSource type="JNDI">
   <property name="DataSource" value="java:comp/env/@isds.datasource.name
   @"/>
   </dataSource>
   </transactionManager>
   .......
   TEST Connection Pool Info:
   Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
   Resource Type:javax.sql.DataSource (prod same)

   Pool Settings:
   Initial and Minimum Pool Size:8 (prod = 0)
   Maximum Pool Size: 32 (prod = 300)
   Pool Resize Quantity: 2 (prod = 5)
   Idle Timeout: 300 (prod = 15)
   Max Wait Time:60000 (prod = 60000)

Re: Idle Threads - Glassfish/DB2

Posted by Jeff Hibbs <jh...@bop.gov>.
Mario - 
 
Thanks for your time.  There are some differences between the JCC logs.
 One thing that looks suspect to me is that the "RECEIVE BUFFER:
ENDUOWRM" message is present after each qry when using the SIMPLE Data
source pool (as well as the Apache DBCP pool), but not always there
while using the GlassFish pool.  Also ran a non-iBATIS application,
using the Glassfish Pool and we did get the RECEIVE BUFFER: ENDUOWRM
messages after each qry. Here are what I Believe to be relevant parts of
the JCC logs.  These snippets start at the exact same place in the
application.  
 
NOTES:
 
- In iBATIS/Glassfish pool log, it goes right into the next qry after
the "PreparedStatement@1ff1855] close () called" statement, and does not
contain a big section (including the ENDUOWRM portion) that's included
in the SIMPLE log.  
 
- In iBATIS/GlassFish pool log, the next qry is using a different
connection for the next qry, while the SIMPLE log is using the same
connection for the next qry.  This is not visible on the Glassfish pool
log because there are not any "close connection" statements from the
first qry.  
 
 
Again thanks for taking the time.  Any help would be greatly
appreciated.  Please let me know if you want to see other parts of the
log or have any other question...
 
Jeff
 
 
 
1.  iBATIS app with SIMPLE Data Source:
 
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
next () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getMoreResults () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][ResultSet@de43f3]
close () called
 
******THIS BELOW SECTION IS NOT PRESENT ON THE GLASSFISH POOL
LOG************* 

[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@4d0ca0]
close () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639750][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
rollback () called
[ibm][db2][jcc]
[t4][time:1239883639750][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0001
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () called
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
isClosed () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639781][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
rollback () called
[ibm][db2][jcc]
[t4][time:1239883639781][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239883639828][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@1f68572] DB2 LUWID:
GA101042.H306.013A86120719.0002
 
*******************END OF MARKED SECTION************************

[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions        
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883639828][Thread:httpSSLWorkerThread-8080-0][Connection@1f68572]
prepareStatement () returned com.ibm.db2.jcc.a.lg@1fbfeae 
 
—------------------------------------END OF
SNIPPET---------------------------------
 
 
 
2.  iBATIS app with GlassFish Connection Pool:
 
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
next () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getMoreResults () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][ResultSet@372f43]
close () called
[ibm][db2][jcc][Time:1239883479171][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1ff1855]
close () called
****new QRY ****
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions        
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][Connection@1331ce6]
prepareStatement () returned com.ibm.db2.jcc.a.lg@255d
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]
setString (1, BOP) called
[ibm][db2][jcc][Time:1239883479187][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@255d]
execute () called
 
—------------------------------------END OF
SNIPPET---------------------------------
 
 
3. iBTIS app with the DBCP Commons Pool:
 
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
next () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getMoreResults () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
getMoreResults () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][ResultSet@b1164d]
close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@594008]
close () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isClosed () called
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isClosed () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
isReadOnly () returned false
[ibm][db2][jcc][Time:1239888889968][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
rollback () called
[ibm][db2][jcc]
[t4][time:1239888889968][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBRLLBCK              (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200F              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239888890015][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211502           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@3e0c6] DB2 LUWID:
GA101042.A707.018146133451.0001
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
clearWarnings () called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned false
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (true) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getTransactionIsolation () returned 1
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
getAutoCommit () returned true
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
setAutoCommit (false) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement (          SELECT DISTINCT CODE_REGN AS regions        
FROM J3TEST.REGN         WHERE REGN_FK_AGEN = ?     ) called
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][Connection@3e0c6]
prepareStatement () returned com.ibm.db2.jcc.a.lg@176ade8
[ibm][db2][jcc][Time:1239888890015][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@176ade8]
setString (1, BOP) called
 
—------------------------------------END OF
SNIPPET---------------------------------
 
 
 
4.  non-iBATIS (straight JDBC coding) application with Glassfish
Connection pool
 
 
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
next () returned true
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
getString (SUFFIX_USER) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
getString (1) called
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
getString () returned           
[ibm][db2][jcc][Time:1239886497015][Thread:httpSSLWorkerThread-8080-0][ResultSet@128cbd3]
close () called
[ibm][db2][jcc]
[t4][time:1239886497015][thread:httpSSLWorkerThread-8080-0][tracepoint:5][Request.flush]
[ibm][db2][jcc][t4]        SEND BUFFER: RDBCMM                 (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   000AD00100010004  200E              ........
.        ..}.......      
[ibm][db2][jcc][t4] 
[ibm][db2][jcc]
[t4][time:1239886497046][thread:httpSSLWorkerThread-8080-0][tracepoint:2][Reply.fill]
[ibm][db2][jcc][t4]        RECEIVE BUFFER: ENDUOWRM            (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4]        0 1 2 3 4 5 6 7   8 9 A B C D E F  
0123456789ABCDEF  0123456789ABCDEF
[ibm][db2][jcc][t4] 0000   002BD05200010025  220C000611490004 
.+.R...%"....I..  ..}.............
[ibm][db2][jcc][t4] 0010   00162110D1F3E3F1  4040404040404040 
..!.....@@@@@@@@  ....J3T1        
[ibm][db2][jcc][t4] 0020   4040404040400005  211501           
@@@@@@..!..             .....     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][t4]        RECEIVE BUFFER: SQLCARD             (ASCII) 
         (EBCDIC)
[ibm][db2][jcc][t4] 0000   000BD00300010005  2408FF           
........$..       ..}........     
[ibm][db2][jcc][t4] 
[ibm][db2][jcc][Connection@1aa7618] DB2 LUWID:
GA101042.C506.0188C6125455.0002
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@1969fa5]
close () called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]
prepareStatement (SELECT DISTINCT CODE_REGN FROM J3TEST.REGN WHERE
REGN_FK_AGEN = ?) called
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][Connection@1aa7618]
prepareStatement () returned com.ibm.db2.jcc.a.lg@15db23e
[ibm][db2][jcc][Time:1239886497062][Thread:httpSSLWorkerThread-8080-0][PreparedStatement@15db23e]
clearParameters () called
[ibm][db2][jcc][Time:12398864970
 
—------------------------------------END OF
SNIPPET---------------------------------
 
 
 
 
 


>>> Mario Ds Briggs <ma...@in.ibm.com> 4/15/2009 7:07 AM >>>
Did you do a compare of the JCC log for the same application run with
  a - the glassfish connection pool
  b - the ibatis SIMPLE datasource

thanks
Mario



                                                                       
   
             "Jeff Hibbs"                                              
   
             <jh...@bop.gov>                                          
   
                                                                       
To 
             10/04/2009 22:20          <us...@ibatis.apache.org>   
   
                                                                       
cc 
                                                                       
   
             Please respond to                                    
Subject 
             user-java@ibatis.         Re: Idle Threads - Glassfish/DB2
   
                apache.org                                             
   
                                                                       
   
                                                                       
   
                                                                       
   
                                                                       
   
                                                                       
   




Hi Nathan -

Thanks for the suggestion...as you suspected, it works fine in the test
env
with the SIMPLE datasource that comes with ibatis.  While this does
give us
more information, at this point I still have to use the Glassfish
connection pools in production, as ours is one of many apps that reside
on
these (cluster) servers, and we must conform to the standard
Connection
Pools.

Any additional insight into these questions would be greatly
appreciated....

1. Why are the iBATIS queries keeping idle threads open on DB2 while
the
straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish Connection
Pools?
Again, thanks for you help!  Jeff

>>> Nathan Maves <na...@gmail.com> 4/3/2009 10:29 AM >>>
Jeff,

Not to state the obvious but it does not seem like an ibatis issue. It
sounds more like the connection pool implementation of Glassfish. As a
test
you might try creating your own connection pool using the SIMPLE
datasource
type in ibatis just to ensure that it is an issue with Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:
   Hello All -
   Any help will be greatly appreciated...Thanks!!!
   Our iBatis-based application was running on Sun1 Server/DB2 Version
8 -
   z/OS with no problems. When we migrated to Glassfish V2, the DB
folks
   noticed many idle threads coming from our application which uses
iBATIS
   2.1.5 (July 2005 Build). Other (non-iBATIS) applications that use
   straight JDBC (no ORM) on the same server, using the same
connection
   pool, were not causing idle threads. Below is a sample what the DBA
is
   seeing:
  
—---------------------------------------------------------------------------------------------------------------------
   Primauth Planname name ID Status elapsed time CPU time
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.78195 0.000969
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.67919 0.001146
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.59251 0.000896
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.40476 0.001567
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.38349 0.001066

   14.46.15 STC12568 DSNL028I #J3P1 GAD00841.K6FE.C3F92EF69C21=157421
914
   914 ACCESSING DATA FOR
   914 LOCATION xx.xxx.x.xx
   914 IPADDR xx.xxx.x.xx
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 561
   561 LUWID=GAD00840.PC1B.C3F92F10E401=157523
   561 THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
   561 RECEIVED ABEND=04E
   561 FOR REASON=00D3003B
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 562
   562 LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
   562 THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
   562 RECEIVED ABEND=04E
   562 FOR REASON=00D3003B
  
—-----------------------------------------------------------------------------------------------------------------------
   I'm not going to pretend to know what all this means, but
apparently
   iBATIS/Glassfish is not releasing the threads after the SQL
completes.
   Again, other non-iBATIS applications using the same connection pool
are
   not generating these ilde threads. From a user's perspective the
system
   is running fine - the queries are returning quickly. Also, we are
not
   exhausting the connections in the connection pool, but apparently
some
   resources in DB2 are incorrectly being left open. I guess I'm not
sure
   of the difference between a "connection" and a "thread" from the
DB2
   perspective.
   We have been able to replicate this in the Test env. Here's what we
know
   so far:
   - Tried iBATIS 2.3.3.720: same results
   - Used replaced glassfish with Tomcat and the problem went away
   Obvious questions:
   1. Why are the iBATIS queries keeping idle threads open on DB2 while
the
   straight JDBC coded queries are not.
   2. Why does this only appear to happen with Glassfish?
   Here's our iBATIS config:
   <settings
   useStatementNamespaces="false"
   cacheModelsEnabled="true"
   enhancementEnabled="true"
   />

   <transactionManager type="JDBC" >
   <dataSource type="JNDI">
   <property name="DataSource"
value="java:comp/env/@isds.datasource.name 
   @"/>
   </dataSource>
   </transactionManager>
   .......
   TEST Connection Pool Info:
   Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
   Resource Type:javax.sql.DataSource (prod same)

   Pool Settings:
   Initial and Minimum Pool Size:8 (prod = 0)
   Maximum Pool Size: 32 (prod = 300)
   Pool Resize Quantity: 2 (prod = 5)
   Idle Timeout: 300 (prod = 15)
   Max Wait Time:60000 (prod = 60000)


Re: Idle Threads - Glassfish/DB2

Posted by Mario Ds Briggs <ma...@in.ibm.com>.
Did you do a compare of the JCC log for the same application run with
  a - the glassfish connection pool
  b - the ibatis SIMPLE datasource

thanks
Mario



                                                                           
             "Jeff Hibbs"                                                  
             <jh...@bop.gov>                                              
                                                                        To 
             10/04/2009 22:20          <us...@ibatis.apache.org>       
                                                                        cc 
                                                                           
             Please respond to                                     Subject 
             user-java@ibatis.         Re: Idle Threads - Glassfish/DB2    
                apache.org                                                 
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi Nathan -

Thanks for the suggestion...as you suspected, it works fine in the test env
with the SIMPLE datasource that comes with ibatis.  While this does give us
more information, at this point I still have to use the Glassfish
connection pools in production, as ours is one of many apps that reside on
these (cluster) servers, and we must conform to the standard Connection
Pools.

Any additional insight into these questions would be greatly
appreciated....

1. Why are the iBATIS queries keeping idle threads open on DB2 while the
straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish Connection Pools?
Again, thanks for you help!  Jeff

>>> Nathan Maves <na...@gmail.com> 4/3/2009 10:29 AM >>>
Jeff,

Not to state the obvious but it does not seem like an ibatis issue. It
sounds more like the connection pool implementation of Glassfish. As a test
you might try creating your own connection pool using the SIMPLE datasource
type in ibatis just to ensure that it is an issue with Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:
   Hello All -
   Any help will be greatly appreciated...Thanks!!!
   Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
   z/OS with no problems. When we migrated to Glassfish V2, the DB folks
   noticed many idle threads coming from our application which uses iBATIS
   2.1.5 (July 2005 Build). Other (non-iBATIS) applications that use
   straight JDBC (no ORM) on the same server, using the same connection
   pool, were not causing idle threads. Below is a sample what the DBA is
   seeing:
   —---------------------------------------------------------------------------------------------------------------------
   Primauth Planname name ID Status elapsed time CPU time
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.78195 0.000969
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.67919 0.001146
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.59251 0.000896
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.40476 0.001567
   xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.38349 0.001066

   14.46.15 STC12568 DSNL028I #J3P1 GAD00841.K6FE.C3F92EF69C21=157421 914
   914 ACCESSING DATA FOR
   914 LOCATION xx.xxx.x.xx
   914 IPADDR xx.xxx.x.xx
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 561
   561 LUWID=GAD00840.PC1B.C3F92F10E401=157523
   561 THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
   561 RECEIVED ABEND=04E
   561 FOR REASON=00D3003B
   14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 562
   562 LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
   562 THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
   562 RECEIVED ABEND=04E
   562 FOR REASON=00D3003B
   —-----------------------------------------------------------------------------------------------------------------------
   I'm not going to pretend to know what all this means, but apparently
   iBATIS/Glassfish is not releasing the threads after the SQL completes.
   Again, other non-iBATIS applications using the same connection pool are
   not generating these ilde threads. From a user's perspective the system
   is running fine - the queries are returning quickly. Also, we are not
   exhausting the connections in the connection pool, but apparently some
   resources in DB2 are incorrectly being left open. I guess I'm not sure
   of the difference between a "connection" and a "thread" from the DB2
   perspective.
   We have been able to replicate this in the Test env. Here's what we know
   so far:
   - Tried iBATIS 2.3.3.720: same results
   - Used replaced glassfish with Tomcat and the problem went away
   Obvious questions:
   1. Why are the iBATIS queries keeping idle threads open on DB2 while the
   straight JDBC coded queries are not.
   2. Why does this only appear to happen with Glassfish?
   Here's our iBATIS config:
   <settings
   useStatementNamespaces="false"
   cacheModelsEnabled="true"
   enhancementEnabled="true"
   />

   <transactionManager type="JDBC" >
   <dataSource type="JNDI">
   <property name="DataSource" value="java:comp/env/@isds.datasource.name
   @"/>
   </dataSource>
   </transactionManager>
   .......
   TEST Connection Pool Info:
   Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
   Resource Type:javax.sql.DataSource (prod same)

   Pool Settings:
   Initial and Minimum Pool Size:8 (prod = 0)
   Maximum Pool Size: 32 (prod = 300)
   Pool Resize Quantity: 2 (prod = 5)
   Idle Timeout: 300 (prod = 15)
   Max Wait Time:60000 (prod = 60000)


Re: Idle Threads - Glassfish/DB2

Posted by Jeff Hibbs <jh...@bop.gov>.
Hi Nathan - 
 
Thanks for the suggestion...as you suspected, it works fine in the test
env with the SIMPLE datasource that comes with ibatis.  While this does
give us more information, at this point I still have to use the
Glassfish connection pools in production, as ours is one of many apps
that reside on these (cluster) servers, and we must conform to the
standard Connection Pools.
 
Any additional insight into these questions would be greatly
appreciated....
  
1. Why are the iBATIS queries keeping idle threads open on DB2 while
the straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish Connection
Pools?
Again, thanks for you help!  Jeff

>>> Nathan Maves <na...@gmail.com> 4/3/2009 10:29 AM >>>
Jeff,

Not to state the obvious but it does not seem like an ibatis issue. It
sounds more like the connection pool implementation of Glassfish. As a
test you might try creating your own connection pool using the SIMPLE
datasource type in ibatis just to ensure that it is an issue with
Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:


Hello All - 
Any help will be greatly appreciated...Thanks!!!
Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
z/OS with no problems. When we migrated to Glassfish V2, the DB folks
noticed many idle threads coming from our application which uses iBATIS
2.1.5 (July 2005 Build). Other (non-iBATIS) applications that use
straight JDBC (no ORM) on the same server, using the same connection
pool, were not causing idle threads. Below is a sample what the DBA is
seeing:
—---------------------------------------------------------------------------------------------------------------------
Primauth Planname name ID Status elapsed time CPU time
xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.78195 0.000969
xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.67919 0.001146
xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:23.59251 0.000896
xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.40476 0.001567
xxxxxxxxx DISTSERV SYSLN100 SERVER *DB2 5:18.38349 0.001066

14.46.15 STC12568 DSNL028I #J3P1 GAD00841.K6FE.C3F92EF69C21=157421 914

914 ACCESSING DATA FOR 
914 LOCATION xx.xxx.x.xx 
914 IPADDR xx.xxx.x.xx 
14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 561 
561 LUWID=GAD00840.PC1B.C3F92F10E401=157523 
561 THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
561 RECEIVED ABEND=04E 
561 FOR REASON=00D3003B 
14.48.14 STC12568 DSNL027I #J3P1 SERVER DISTRIBUTED AGENT WITH 562 
562 LUWID=GAD00840.PC20.C3F92F1B5DDF=157544 
562 THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
562 RECEIVED ABEND=04E 
562 FOR REASON=00D3003B 
—-----------------------------------------------------------------------------------------------------------------------
I'm not going to pretend to know what all this means, but apparently
iBATIS/Glassfish is not releasing the threads after the SQL completes.
Again, other non-iBATIS applications using the same connection pool are
not generating these ilde threads. From a user's perspective the system
is running fine - the queries are returning quickly. Also, we are not
exhausting the connections in the connection pool, but apparently some
resources in DB2 are incorrectly being left open. I guess I'm not sure
of the difference between a "connection" and a "thread" from the DB2
perspective.
We have been able to replicate this in the Test env. Here's what we
know so far: 
- Tried iBATIS 2.3.3.720: same results
- Used replaced glassfish with Tomcat and the problem went away
Obvious questions:
1. Why are the iBATIS queries keeping idle threads open on DB2 while
the straight JDBC coded queries are not.
2. Why does this only appear to happen with Glassfish?
Here's our iBATIS config:
<settings 
useStatementNamespaces="false"
cacheModelsEnabled="true"
enhancementEnabled="true"
/>

<transactionManager type="JDBC" >
<dataSource type="JNDI">
<property name="DataSource"
value="java:comp/env/@isds.datasource.name@"/>
</dataSource>
</transactionManager>
.......
TEST Connection Pool Info:
Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
Resource Type:javax.sql.DataSource (prod same)

Pool Settings:
Initial and Minimum Pool Size:8 (prod = 0)
Maximum Pool Size: 32 (prod = 300)
Pool Resize Quantity: 2 (prod = 5)
Idle Timeout: 300 (prod = 15)
Max Wait Time:60000 (prod = 60000)




Re: Idle Threads - Glassfish/DB2

Posted by Nathan Maves <na...@gmail.com>.
Jeff,
Not to state the obvious but it does not seem like an ibatis issue.  It
sounds more like the connection pool implementation of Glassfish.  As a test
you might try creating your own connection pool using the SIMPLE datasource
type in ibatis just to ensure that it is an issue with Glassfish.

Nathan

On Fri, Apr 3, 2009 at 8:15 AM, Jeff Hibbs <jh...@bop.gov> wrote:

>  Hello All -
>
> Any help will be greatly appreciated...Thanks!!!
>
> Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
> z/OS with no problems.  When we migrated to Glassfish V2, the DB folks
> noticed many idle threads coming from our application which uses iBATIS
> 2.1.5 (July 2005 Build).  Other (non-iBATIS) applications that use straight
> JDBC (no ORM) on the same server, using the same connection pool, were not
> causing idle threads.  Below is a sample what the DBA is seeing:
>
>
> —---------------------------------------------------------------------------------------------------------------------
>   Primauth   Planname         name         ID              Status   elapsed
> time       CPU time
>
> xxxxxxxxx   DISTSERV   SYSLN100     SERVER    *DB2     5:23.78195
> 0.000969
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.67919
> 0.001146
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.59251
> 0.000896
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.40476
> 0.001567
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.38349
> 0.001066
>
>
> 14.46.15 STC12568  DSNL028I  #J3P1 GAD00841.K6FE.C3F92EF69C21=157421
> 914
>    914                        ACCESSING DATA
> FOR
>    914                          LOCATION
> xx.xxx.x.xx
>    914                          IPADDR
> xx.xxx.x.xx
> 14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH
> 561
>    561
> LUWID=GAD00840.PC1B.C3F92F10E401=157523
>    561
> THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
>    561                        RECEIVED
> ABEND=04E
>    561                        FOR
> REASON=00D3003B
> 14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH
> 562
>    562
> LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
>    562
> THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
>    562                        RECEIVED
> ABEND=04E
>    562                        FOR REASON=00D3003B
>
>
> —-----------------------------------------------------------------------------------------------------------------------
>
> I'm not going to pretend to know what all this means, but apparently
> iBATIS/Glassfish is not releasing the threads after the SQL completes.
> Again, other non-iBATIS applications using the same connection pool are not
> generating these ilde threads.  From a user's perspective the system is
> running fine - the queries are returning quickly.  Also, we are not
> exhausting the connections in the connection pool, but apparently some
> resources in DB2 are incorrectly being left open.  I guess I'm not sure of
> the difference between a "connection" and a "thread" from the DB2
> perspective.
>
> We have been able to replicate this in the Test env.  Here's what we know
> so far:
>
> - Tried iBATIS 2.3.3.720: same results
> - Used replaced glassfish with Tomcat and the problem went away
>
> Obvious questions:
>
> 1.  Why are the iBATIS queries keeping idle threads open on DB2 while the
> straight JDBC coded queries are not.
> 2.  Why does this only appear to happen with Glassfish?
>
> Here's our iBATIS config:
>
>  <settings
>         useStatementNamespaces="false"
>         cacheModelsEnabled="true"
>         enhancementEnabled="true"
>     />
>
>     <transactionManager type="JDBC" >
>         <dataSource type="JNDI">
>             <property name="DataSource" value="java:comp/env/@
> isds.datasource.name@"/>
>         </dataSource>
>     </transactionManager>
>
> .......
>
> TEST Connection Pool Info:
>
>
> Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
> Resource Type:javax.sql.DataSource (prod same)
>
> Pool Settings:
> Initial and Minimum Pool Size:8 (prod = 0)
> Maximum Pool Size: 32 (prod = 300)
> Pool Resize Quantity: 2 (prod = 5)
> Idle Timeout: 300 (prod = 15)
> Max Wait Time:60000 (prod = 60000)
>
>
>
>
>
>
>
>
>
>

Re: Idle Threads - Glassfish/DB2

Posted by Jeff Hibbs <jh...@bop.gov>.
Clinton - 
 
Thanks for taking the time.....This is a struts App.
 
Here are some snippets...Please let me know if you want anything
else.......Again, thanks for your time! 
 
Jeff Hibbs
 
Here's an example of a Read:
 
from within an action..instantiate the DAO:
 
    InmateDAO inmateDAO = new InmateDAO();
 
 
 //after other calls to the InmateDAO from within this action for other
data we have:
 
 // Build paramaterMap for SQL query 
        HashMap parameterMap = new HashMap();
        parameterMap.put("inmateKey", new
Integer(iform.getInmateKey()));        
        
        if(inmate.getPrimaryEmergencyContact() == null) {
            parameterMap.put("type",
Constants.EMERGENCY_CONTACT_PRIMARY);        
           
inmate.setPrimaryEmergencyContact(inmateDAO.getEmergencyContact(parameterMap));
        }
        
        if(inmate.getSecondaryEmergencyContact() == null) {
            parameterMap.put("type",
Constants.EMERGENCY_CONTACT_SECONDARY);        
           
inmate.setSecondaryEmergencyContact(inmateDAO.getEmergencyContact(parameterMap));
        }
 
Here's the DAO constructor:
 
 
public class InmateDAO {
 
    // Class logger
    private static Log log = LogFactory.getLog(InmateDAO.class);
    // Handle to IBatis sqlMap
    private SqlMapClient sqlMap;
 
    /**
     * Creates a new instance of the DAO
     *
     * @exception DAOException if sqlMap lookup fails
     */
    public InmateDAO() throws DAOException {
 
        try {
            sqlMap = ServiceLocator.getInstance().getSqlMapClient();
        } catch (ServiceLocatorException sle) {
            log.error("ServiceLocator lookup failed", sle);
            throw new DAOException(sle);
        }
    }
 
 
 
Here's the method within the DAO:
 
 public EmergencyContact getEmergencyContact(Map parameterMap) throws
DAOException {
        try {
            return (EmergencyContact)
sqlMap.queryForObject("getEmergencyContact", parameterMap);
        } catch (SQLException sqe) {
            log.error("getEmergencyContact() lookup error, inmateKey ["
+ parameterMap.get("inmateKey") + "]", sqe);
            throw new DAOException(sqe);
        }
    }
 
 
Here is the SQL Maps
 
<select id="getEmergencyContact" parameterClass="map"
resultMap="emergencyContactLookup">
        SELECT INTKEY_INMT, TYPE_CONTACT, STREET, CITY, STATE,
ZIP_CODE, 
               PHONE_AREACODE, PHONE_NUMBER, PHONE_EXT, NAME_POC,
POC_RELATION
        FROM @isds.db.schema.name@.IS_EMERGENCY_CONT
        WHERE INTKEY_INMT = #inmateKey# AND TYPE_CONTACT = #type#
 </select>
 
 
 <resultMap id="emergencyContactLookup" class="emergencyContact">
        <result property="inmateKey" column="INTKEY_INMT"/>
        <result property="type" column="TYPE_CONTACT"/>
        <result property="street" column="STREET"/>
        <result property="city" column="CITY"/>
        <result property="state" column="STATE"/>
        <result property="zip" column="ZIP_CODE"/>
        <result property="phoneArea" column="PHONE_AREACODE"/>
        <result property="phoneNumber" column="PHONE_NUMBER"/>
        <result property="phoneExt" column="PHONE_EXT"/>
        <result property="pocName" column="NAME_POC"/>
        <result property="pocRelation" column="POC_RELATION"/>
    </resultMap>
   
 
 
Here's an example of an insert and update:
 
 
in the action we instantiate the DAO and call the
saveEmergencyContact() method
 
        (new
InmateDAO()).saveEmergencyContact(formBean.isInsertRequired(),
formBean.getEmergencyContact());
 
 
here's the constructor of InmateDAO (same as above in the read
example):
 
 
public class InmateDAO {
 
    // Class logger
    private static Log log = LogFactory.getLog(InmateDAO.class);
    // Handle to IBatis sqlMap
    private SqlMapClient sqlMap;
 
    /**
     * Creates a new instance of the DAO
     *
     * @exception DAOException if sqlMap lookup fails
     */
    public InmateDAO() throws DAOException {
 
        try {
            sqlMap = ServiceLocator.getInstance().getSqlMapClient();
        } catch (ServiceLocatorException sle) {
            log.error("ServiceLocator lookup failed", sle);
            throw new DAOException(sle);
        }
    }
 
 
here's the method:
 
public void saveEmergencyContact(boolean insertRequired,
EmergencyContact emergencyContact) throws DAOException {
        try {
            if (insertRequired) {
                sqlMap.insert("insertEmergencyContact",
emergencyContact);
            } else {
                if (sqlMap.update("updateEmergencyContact",
emergencyContact) != 1) {
                    throw new SQLException("update failed");
                }
            }
        } catch (SQLException sqe) {
            log.error("saveEmergencyContact() error, inmateKey [" +
emergencyContact.getInmateKey() + "]", sqe);
            throw new DAOException(sqe);
        }
    }
 
Here are the SQL Maps:
 
 <insert id="insertEmergencyContact" parameterClass="emergencyContact">

        INSERT INTO @isds.db.schema.name@.IS_EMERGENCY_CONT
(INTKEY_INMT, TYPE_CONTACT, 
                    STREET, CITY, STATE, ZIP_CODE, PHONE_AREACODE, 
                    PHONE_NUMBER, PHONE_EXT, NAME_POC, POC_RELATION)
        VALUES (#inmateKey#, #type#, #street#, #city#, #state#, #zip#,
#phoneArea#, 
                #phoneNumber#, #phoneExt#, #pocName#, #pocRelation#)
    </insert>
    
    <update id="updateEmergencyContact"
parameterClass="emergencyContact"> 
        UPDATE @isds.db.schema.name@.IS_EMERGENCY_CONT
        SET STREET = #street#, CITY = #city#, STATE = #state#, ZIP_CODE
= #zip#, 
            PHONE_AREACODE = #phoneArea#, PHONE_NUMBER = #phoneNumber#,
PHONE_EXT = #phoneExt#, 
            NAME_POC = #pocName#, POC_RELATION = #pocRelation#
        WHERE INTKEY_INMT = #inmateKey# AND TYPE_CONTACT = #type#
    </update>
 
 
—---------------------------------------------------------

>>> Clinton Begin <cl...@gmail.com> 4/3/2009 11:11 AM >>>
Can you provide some example code from your application, showing some
crud operations?

Clinton

On 2009-04-03, Jeff Hibbs <jh...@bop.gov> wrote:
> Hello All -
>
> Any help will be greatly appreciated...Thanks!!!
>
> Our iBatis-based application was running on Sun1 Server/DB2 Version 8
-
> z/OS with no problems.  When we migrated to Glassfish V2, the DB
folks
> noticed many idle threads coming from our application which uses
iBATIS
> 2.1.5 (July 2005 Build).  Other (non-iBATIS) applications that use
> straight JDBC (no ORM) on the same server, using the same connection
> pool, were not causing idle threads.  Below is a sample what the DBA
is
> seeing:
>
>
—---------------------------------------------------------------------------------------------------------------------
>   Primauth   Planname         name         ID              Status
> elapsed time       CPU time
>
> xxxxxxxxx   DISTSERV   SYSLN100     SERVER    *DB2     5:23.78195
> 0.000969
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.67919
>  0.001146
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.59251
>  0.000896
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.40476
>  0.001567
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.38349
>  0.001066
>
>
> 14.46.15 STC12568  DSNL028I  #J3P1 GAD00841.K6FE.C3F92EF69C21=157421
> 914
>    914                        ACCESSING DATA FOR
>
>    914                          LOCATION xx.xxx.x.xx
>
>    914                          IPADDR xx.xxx.x.xx
>
> 14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH 
561
>
>    561                       
LUWID=GAD00840.PC1B.C3F92F10E401=157523
>
>    561
> THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
>    561                        RECEIVED ABEND=04E
>
>    561                        FOR REASON=00D3003B
>
> 14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH 
562
>
>    562                       
LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
>
>    562
> THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
>    562                        RECEIVED ABEND=04E
>
>    562                        FOR REASON=00D3003B
>
>
—-----------------------------------------------------------------------------------------------------------------------
>
> I'm not going to pretend to know what all this means, but apparently
> iBATIS/Glassfish is not releasing the threads after the SQL
completes.
> Again, other non-iBATIS applications using the same connection pool
are
> not generating these ilde threads.  From a user's perspective the
system
> is running fine - the queries are returning quickly.  Also, we are
not
> exhausting the connections in the connection pool, but apparently
some
> resources in DB2 are incorrectly being left open.  I guess I'm not
sure
> of the difference between a "connection" and a "thread" from the DB2
> perspective.
>
> We have been able to replicate this in the Test env.  Here's what we
> know so far:
>
> - Tried iBATIS 2.3.3.720: same results
> - Used replaced glassfish with Tomcat and the problem went away
>
> Obvious questions:
>
> 1.  Why are the iBATIS queries keeping idle threads open on DB2
while
> the straight JDBC coded queries are not.
> 2.  Why does this only appear to happen with Glassfish?
>
> Here's our iBATIS config:
>
>  <settings
>         useStatementNamespaces="false"
>         cacheModelsEnabled="true"
>         enhancementEnabled="true"
>     />
>
>     <transactionManager type="JDBC" >
>         <dataSource type="JNDI">
>             <property name="DataSource"
> value="java:comp/env/@isds.datasource.name@"/>
>         </dataSource>
>     </transactionManager>
>
> .......
>
> TEST Connection Pool Info:
>
>
> Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
> Resource Type:javax.sql.DataSource (prod same)
>
> Pool Settings:
> Initial and Minimum Pool Size:8 (prod = 0)
> Maximum Pool Size: 32 (prod = 300)
> Pool Resize Quantity: 2 (prod = 5)
> Idle Timeout: 300 (prod = 15)
> Max Wait Time:60000 (prod = 60000)
>
>
>
>
>
>
>
>
>
>

-- 
Sent from my mobile device

Re: Idle Threads - Glassfish/DB2

Posted by Clinton Begin <cl...@gmail.com>.
Can you provide some example code from your application, showing some
crud operations?

Clinton

On 2009-04-03, Jeff Hibbs <jh...@bop.gov> wrote:
> Hello All -
>
> Any help will be greatly appreciated...Thanks!!!
>
> Our iBatis-based application was running on Sun1 Server/DB2 Version 8 -
> z/OS with no problems.  When we migrated to Glassfish V2, the DB folks
> noticed many idle threads coming from our application which uses iBATIS
> 2.1.5 (July 2005 Build).  Other (non-iBATIS) applications that use
> straight JDBC (no ORM) on the same server, using the same connection
> pool, were not causing idle threads.  Below is a sample what the DBA is
> seeing:
>
> —---------------------------------------------------------------------------------------------------------------------
>   Primauth   Planname         name         ID              Status
> elapsed time       CPU time
>
> xxxxxxxxx   DISTSERV   SYSLN100     SERVER    *DB2     5:23.78195
> 0.000969
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.67919
>  0.001146
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:23.59251
>  0.000896
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.40476
>  0.001567
> xxxxxxxxx    DISTSERV   SYSLN100     SERVER    *DB2     5:18.38349
>  0.001066
>
>
> 14.46.15 STC12568  DSNL028I  #J3P1 GAD00841.K6FE.C3F92EF69C21=157421
> 914
>    914                        ACCESSING DATA FOR
>
>    914                          LOCATION xx.xxx.x.xx
>
>    914                          IPADDR xx.xxx.x.xx
>
> 14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH  561
>
>    561                        LUWID=GAD00840.PC1B.C3F92F10E401=157523
>
>    561
> THREAD-INFO=xxxxxx:genie4:xxxxxxx:db2jcc_applic
>    561                        RECEIVED ABEND=04E
>
>    561                        FOR REASON=00D3003B
>
> 14.48.14 STC12568  DSNL027I  #J3P1 SERVER DISTRIBUTED AGENT WITH  562
>
>    562                        LUWID=GAD00840.PC20.C3F92F1B5DDF=157544
>
>    562
> THREAD-INFO=xxxxxxx:genie4:xxxxxxx:db2jcc_applic
>    562                        RECEIVED ABEND=04E
>
>    562                        FOR REASON=00D3003B
>
> —-----------------------------------------------------------------------------------------------------------------------
>
> I'm not going to pretend to know what all this means, but apparently
> iBATIS/Glassfish is not releasing the threads after the SQL completes.
> Again, other non-iBATIS applications using the same connection pool are
> not generating these ilde threads.  From a user's perspective the system
> is running fine - the queries are returning quickly.  Also, we are not
> exhausting the connections in the connection pool, but apparently some
> resources in DB2 are incorrectly being left open.  I guess I'm not sure
> of the difference between a "connection" and a "thread" from the DB2
> perspective.
>
> We have been able to replicate this in the Test env.  Here's what we
> know so far:
>
> - Tried iBATIS 2.3.3.720: same results
> - Used replaced glassfish with Tomcat and the problem went away
>
> Obvious questions:
>
> 1.  Why are the iBATIS queries keeping idle threads open on DB2 while
> the straight JDBC coded queries are not.
> 2.  Why does this only appear to happen with Glassfish?
>
> Here's our iBATIS config:
>
>  <settings
>         useStatementNamespaces="false"
>         cacheModelsEnabled="true"
>         enhancementEnabled="true"
>     />
>
>     <transactionManager type="JDBC" >
>         <dataSource type="JNDI">
>             <property name="DataSource"
> value="java:comp/env/@isds.datasource.name@"/>
>         </dataSource>
>     </transactionManager>
>
> .......
>
> TEST Connection Pool Info:
>
>
> Datasource Classname: com.ibm.db2.jcc.DB2DataSource (prod same)
> Resource Type:javax.sql.DataSource (prod same)
>
> Pool Settings:
> Initial and Minimum Pool Size:8 (prod = 0)
> Maximum Pool Size: 32 (prod = 300)
> Pool Resize Quantity: 2 (prod = 5)
> Idle Timeout: 300 (prod = 15)
> Max Wait Time:60000 (prod = 60000)
>
>
>
>
>
>
>
>
>
>

-- 
Sent from my mobile device