2 Replies Latest reply on Apr 15, 2009 8:30 AM by Vicky Kak

    JBoss Connection Pooling Problem With Unisys DMS-II JDBC Dri

    André castanheira Newbie

      Hi, people.

      I tried to configure a datasource using Unisys DMS-II Jdbc Driver. I wrote the configuration below:


      <no-tx-datasource>
      <jndi-name>DmsiiMyDB-DS</jndi-name>
      <connection-url>jdbc:unisys:dmsql:Unisys.DMSII:resource=mydb;host=myHost;port=1111;</connection-url>
      <driver-class>com.unisys.jdbc.dmsql.Driver</driver-class>
      <user-name>MyUser</user-name>
      MyPassword
      <min-pool-size>1</min-pool-size>
      <max-pool-size>3</max-pool-size>
      <idle-timeout-minutes>1</idle-timeout-minutes>
      </no-tx-datasource>


      That´s the situation:
      1) My application invokes the first connection to DMS-II database; JBoss opens this connection and the application works fine;
      2) The application invokes the second and third connections, working fine;
      3) When the application tries to invoke the connection again it fails;
      4) At Unisys mainframe side the DMS-II query show 3 active connections.

      My theory is: JBoss is not managing correctly connection pooling with DMS-II Jdbc Driver. Every time a connection is requested JBoss establish it with DMS-II Database and do not release it after use. When the number of requests reaches its maximum value new connections are refused and the old connection are not release for reuse.

      I am use JBOSS 4.2.0-GA-SP2 , JDK 1.5.0.15 .

      Can anybody help me???

      Thanks !!!!

      Andre

        • 1. Re: JBoss Connection Pooling Problem With Unisys DMS-II JDBC
          Peter Johnson Master

          Are you sure the app is releasing the connection when it is done with it? Have you tracked the connection usage using the jboss.jca:service=ManagedConnectionPool,name=DmsiiMyDB-DS MBean? If the app does not release the connections, then yes when it attempt to get a fourth connection it will be blocked.

          Once all three connections have been established, those connections will remain active until they time out after being unused. And setting the timeout to 1 minute is not a good idea - usually 10-15 minutes is better.

          We have run the specjappserver benchmark against the DMSII JDBC driver and have not had issues with it releasing connections.

          I am going to assume that you have purchased support for JBoss from Unisys (I know you must have such support for DMSII). It might be better it you opened a trouble report with Unisys, then the guys who work on the JDBC driver can help you (it's been many years since I worked on that...)

          • 2. Re: JBoss Connection Pooling Problem With Unisys DMS-II JDBC
            Vicky Kak Master

             

            "acastanheira2001" wrote:

            My theory is: JBoss is not managing correctly connection pooling with DMS-II Jdbc Driver. Every time a connection is requested JBoss establish it with DMS-II Database and do not release it after use. When the number of requests reaches its maximum value new connections are refused and the old connection are not release for reuse.

            I am use JBOSS 4.2.0-GA-SP2 , JDK 1.5.0.15 .

            Can anybody help me???

            Thanks !!!!

            Andre


            I bet that your application is not releasing the connection back to the pool, you ready for the bet ;)
            Use listInUseConnections() operation of the CacheConnectionMBean to determine which part of the code is causing the connections to leak
            For more details refer this
            http://www.jboss.org/community/docs/DOC-9255