External Connection Pool - No Available Connections

I am using Toplink 9.0.4 in an application deployed on WebLogic 7. Toplink is configured to use an external connection pool.
Under heavy load we sometimes exhaust the connection pool. When this occurs we start to get failures when trying to acquire connections.
It appears that when Toplink tries to obtain a connection from the pool and none are available the attempt immediately fails with an exception. What we would prefer to happen is for the thread to block and wait for a connection to become available.
Do you know of any way to produce this behavior? Is there a way to configure Toplink so this occurs?
Alternatively is there a practical way to produce this behavior by implementing logic in a ServerSession exception handler? We have implemented an exception handler that handles dropped and stale database connections, but I'm not sure if this is the appropriate place to handle a failure retrieving a connection from the external pool.
Any suggestions are appreciated.

Well I have tried but I am unable to write an effective exception handler that can recover from an exception retrieving a connection from an external pool. I wrote the following handler and attached it to the ServerSession.
     public Object handleException(RuntimeException exception) throws DatabaseException{
          if(exception instanceof DatabaseException){
               DatabaseException dbex = (DatabaseException)exception;
               String exceptionMessage = dbex.getMessage();
               if(exceptionMessage != null && exceptionMessage.indexOf("No available connections in pool") >= 0){
                    try{
                         Thread.sleep(5000);                    
                    }catch(InterruptedException e){}
                    oracle.toplink.publicinterface.Session session = null;
                    session = serverSession.acquireClientSession();
                    dbex.setSession(session);
                    if(session != null){
                         DatabaseQuery query = dbex.getQuery();
                         if(query != null){
                              return session.executeQuery(query);
                         }else{
                              return null;
                    throw exception;
               }else{
                    throw exception;
          }else{
               throw exception;
It works sometimes but other times I get strange errors when executing the query. I know the mappings are good, the queries succeed under normal circumstances. The following error is commmon:
Exception Description: The parameter name [UNIQUE_ID] in the query's selection criteria does not match any parameter name defined in the query.
The other problem I have is the recursive nature of the exception handling. If calling ServerSession.acquireClientSession() in the exception handler causes an exception, I end up in another exception handler. It's not clear which instance should execute and return the query in this case.
Any suggestions or examples of exception handlers for this situation are appreciated.

Similar Messages

  • Difference between connection pooling and simple connection

    Anybody please tell me what is the Difference between connection pooling and simple connection and also where we define connection pooling and how.
    Thanks
    Please reply soon
    amitindia

    Creating and closing connection to the database is a relatively slow process. Equally connections use database resources so you can't just open as many as you want.
    A connection pool maintains a number of open connections throughout the lifetime of the application. Instead of opening and closing the connections your application just "borrows" them from the pool when they're needed.
    If the pool runs out of connections it will usually create new ones as needed until you reach some predefined upper limit.
    A good connection pool will also manage connections which have failed for any reason, and report code which fails to return connections to the pool (ie connection leaks).
    The number of connections created at startup is referred to as the "low water mark" and the maximum number that the pool will allow to be opened at any given time is the "high water mark". If no connections are available client code will generally block until one is released.
    If by "defined" you mean where can you get a working implementation then your database or application server vendor is likely to provide one. Also the Apache Jakarta Commons includes [url http://jakarta.apache.org/commons/dbcp/]an implementation which you can use with any JDBC driver.
    Dave.

  • "Get connected" wont detect available connection t...

    When I press the "Get connected Button", and click "next", an error appears and says "There is no available connection and therefore connection to the phone cannot be established. The wizard will exit". After this, another error will appear, "Failed to detect available connection types, please reinstall pc suite".
    Well, im using windows xp service pack 2, the usb cable that i have is the ca 53 (included in the n70 music edition box).
    Please Help! Thanks in advance!

    Same thing is happening here. Pc Suite used to connect perfectly happily. Went to use it today and it gave the error. Tried verifying the install. No change. Uninstalled it and it stuff my anit virus, sorted that out. Re installed Pc Suite still not working. PC spots phone being connected Ok and updates devices as expected. If I click on "Manage Connections" then I get the error, "Connection to Nokia PC Suite failed. Please reinstall nokia PC Suite. (Code: Init IMediaControl2)"
    Could this be related to the Microsoft Critical updates released during last week? I haven't used it since doing those but it could be a week or three since I did last connect the phone to the pc.

  • Weblogic 6.1 sp2 Connection Pool will not connect to oci901 driver

    ok, I am trying to get weblogic to connect to the connection pool in solaris. I created
    the pool in the console with the following:
    URL = jdbc:weblogic:oracle
    Driver Class Name = weblogic.jdbc.oci.Driver
    Properties = user=sa password=*****
    I also set the LD_LIBRARY PATH as directed.
    LD_LIBRARY_PATH=/usr/local/wlserver6.1/lib/solaris/oci901_8:ORACLE/lib
    Oracle is on a seperate box then the box that Weblogic is installed on so I think
    the problem is in my LD_LIBRARY_PATH. Here is the error I am getting. Any help
    would be appreciated.
    Starting Loading jDriver/Oracle .....
    <Jun 7, 2002 9:04:25 AM CDT> <Error> <JDBC> <Cannot startup connection pool "FargoPool"
    weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: System.loadLibrary(weblogicoci37) threw java.lang.UnsatisfiedLinkError:
    /usr/local/wlserver6.1/lib/solaris/oci901_8/libweblogicoci37.so: ld.so.1: /home/bea/jdk131/jre/bin/../bin/sparc/native_threads/java:
    fatal: libclntsh.so.9.0: open failed: No such file or directory
    at weblogic.jdbc.oci.Driver.loadLibraryIfNeeded(Driver.java:226)
    at weblogic.jdbc.oci.Driver.connect(Driver.java:76)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:193)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:134)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:491)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:361)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy8.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1516)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:895)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:295)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy17.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanAttribute.java:92)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:209)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:134)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.java:282)
    at weblogic.jdbc.common.internal.ConnectionPool.startup(ConnectionPool.java:623)
    at weblogic.jdbc.common.JDBCService.addDeployment(JDBCService.java:107)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
    at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
    at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:359)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:491)
    at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:361)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
    at $Proxy8.addDeployment(Unknown Source)
    at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1516)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:895)
    at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:847)
    at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:295)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1356)
    at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1331)
    at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:322)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:204)
    at $Proxy17.setTargets(Unknown Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.management.console.info.FilteredMBeanAttribute.doSet(FilteredMBeanAttribute.java:92)
    at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:135)
    at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:171)
    at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    "Tim" <[email protected]> wrote:
    >
    I have the following setup.
    For QA, 1 IIS Server (using plug-in from 6.1 SP2) forwarding all request
    to a
    cluster on the backend. (2 Physical Servers, 4 JVM's). I do have a firewall
    in
    between the IIS Server & the backend servers.
    According to the docs, the IIS plug-in is supposed to establish a connection
    pool
    to the backend. I do not see this behavior.
    I see a connection created/close per request.
    So , I have 2 questions:
    1. Does the IIS Plug-in use connection Pooling, Do you have to enable
    it ?
    2. How do I control the pool size ?
    Thanks in advance,
    TimDoes anyone from BEA monitor this newsgroup ?
    I have also opened up a case (1 week old) with tech support and still do not have
    an answer. This is very frustrating considering the cost of owning this environment.
    Tim

  • Connection pool fail

    Hi, guys
    I use instant client 11.2.0.3.0 OCCI to create a connection pool, when create a connection from pool, it supposed using the existing connection, but the code created anohter new connection to database, any ideas? appreciate your help.
    client side is running on Windows 7 32 bit, Database server is 10.2.05 on Solaris 10, development tool is MS VS 2010
    here is the code:
    Environment *env;
    Connection *conn;
    Statement *stmt;
    string sqlStmt;
    env = Environment::createEnvironment (Environment::THREADED_MUTEXED);
    const string poolUserName = "scott";
    const string poolPassword = "1234";
    const string connectString = "192.168.0.70/orcl";
    const string username = "scott";
    const string passWord = "1234";
    unsigned int maxConn =5;
    unsigned int minConn = 2;
    unsigned int incrConn = 1;
    ConnectionPool *connPool = env->createConnectionPool(poolUserName, poolPassword, connectString, minConn, maxConn, incrConn);
    try{
    if (connPool)
    cout << "SUCCESS - createConnectionPool" << endl;
    else
    cout << "FAILURE - createConnectionPool" << endl;
    conn = connPool->createConnection (username, passWord); _// after this code, connection increase to 3 from 2._*
    if (conn)
    cout << "SUCCESS - createConnection" << endl;
    else
    cout << "FAILURE - createConnection" << endl;
    }catch(SQLException ex)
    cout<<"Exception thrown for createConnectionPool"<<endl;
    cout<<"Error number: "<< ex.getErrorCode() << endl;
    cout<<ex.getMessage() << endl;
    ......

    Hi Nicolas,
    Have you tried to turn on testOnReserve setting of the coneection pool?
    Regards,
    "Nicolas Devos" <[email protected]> wrote in message
    news:3c5fa916$[email protected]..
    >
    Hi,
    I am using weblogic 6.1 and oracle 8.1.6, and experiences
    problems with connections pools and database crash.
    When the database server crashes during an EJB transactions,
    the connection used by that transaction seems to be lost and
    is never rebuilt when the database server restarts, therefore
    the number of connections within the pool shrinks thoroughly
    if I have several connections used while the database crashes
    or is shutdown for maintenance.
    If this db crash takes time to recover, all connections
    are destroyed and the pool become unusable.
    As soon as all connections have been 'destroyed' I have
    the following exception:
    'connection pool - none available' when trying to get
    a connection.
    When I restart the database server, the pool does not rebuilt
    itself.
    (I am using a test table to test the presence of the database
    with a frequency set to 60s)
    I did the same operation without EJB transactions and the pool
    could rebuilt itself after the database has been restarted.
    I had that problem with weblogic 6.0 already and in the
    release notes of 6.0_sp2, 2 issues are fixed concerning
    the pool fail-over: 044223 and 041793.
    I would like to know if these issues are fixed in 6.1 as well,
    and if they are related to my problem (Their description is
    quite short).
    Thank you
    Nicolas

  • Connection Pooling problem in Weblogic Server 6.1

    Hi
    We are using weblogic server 6.1 sp3. The server creates three database connection
    pools (details available in the attached config.xml).
    The database has a regular downtime every day for a few hours. We are running
    the server as a windows service. As per the "RefreshMinutes" property, the server
    should be able to get new fresh connections once the database comes up. But in
    our case it is not doing so. Once the database comes up after its regular downtime:
    -- Sometimes the server does not respond as in we are not able to open the console
    page.
    -- Any client that tries connecting to the database thru the server gets blocked
    and does not respond.
    -- The log file(weblogic.log) does not get updated after some time.
    Can someone suggest why the server is showing such a behaviour??
    Could it be anything related to the DBMS setting or to the local machine's settings
    ? Following is the thread dump after the server stops responding:
    Full thread dump:
    "ListenThread" prio=5 tid=0x14ffb570 nid=0x148c runnable [0x1685f000..0x1685fdbc]
         at java.net.PlainSocketImpl.socketAccept(Native Method)
         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:468)
         at java.net.ServerSocket.implAccept(ServerSocket.java:243)
         at java.net.ServerSocket.accept(ServerSocket.java:222)
         at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
         at weblogic.t3.srvr.ListenThread.run(ListenThread.java:260)
    "Thread-3" daemon prio=5 tid=0x14fb18b8 nid=0x12d4 waiting on monitor [0x167df000..0x167dfdbc]
         at java.lang.Thread.sleep(Native Method)
         at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-2" daemon prio=5 tid=0x14f21c68 nid=0xf08 waiting on monitor [0x1679f000..0x1679fdbc]
         at java.lang.Thread.sleep(Native Method)
         at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-1" daemon prio=5 tid=0x14fb97d8 nid=0xcac waiting on monitor [0x1675f000..0x1675fdbc]
         at java.lang.Thread.sleep(Native Method)
         at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e75a10
    nid=0x13ec waiting on monitor [0x1671f000..0x1671fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e74e58
    nid=0x1434 waiting on monitor [0x166df000..0x166dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e742a0
    nid=0x1154 waiting on monitor [0x1669f000..0x1669fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72ed0
    nid=0xfe4 waiting on monitor [0x1665f000..0x1665fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72318
    nid=0x9a4 waiting on monitor [0x1661f000..0x1661fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e717d8 nid=0xf38
    waiting on monitor [0x165df000..0x165dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70c98 nid=0xf68
    waiting on monitor [0x1659f000..0x1659fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70158 nid=0x1008
    waiting on monitor [0x1655f000..0x1655fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6f610 nid=0x1204
    waiting on monitor [0x1651f000..0x1651fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ead0 nid=0xef4
    waiting on monitor [0x164df000..0x164dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6dfa8 nid=0x12bc
    waiting on monitor [0x1649f000..0x1649fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6d5e8 nid=0xf70
    waiting on monitor [0x1645f000..0x1645fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ccb0 nid=0xf84
    waiting on monitor [0x1641f000..0x1641fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e67510 nid=0x1418
    waiting on monitor [0x163df000..0x163dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e64f60 nid=0x1228
    waiting on monitor [0x1639f000..0x1639fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x14e5c3f0 nid=0xf60 waiting on monitor [0x1635f000..0x1635fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x14e5b908 nid=0xf78 waiting on monitor [0x1631f000..0x1631fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x14e3ebe0 nid=0xfb4 waiting on monitor [0x162df000..0x162dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e35958
    nid=0x9e8 waiting on monitor [0x1629f000..0x1629fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e3ba30
    nid=0x5ac waiting on monitor [0x1625f000..0x1625fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e3af20
    nid=0xdc4 waiting on monitor [0x1621f000..0x1621fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e3a410
    nid=0x11ec waiting on monitor [0x161df000..0x161dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14bfdff0
    nid=0x1078 waiting on monitor [0x1619f000..0x1619fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14bfd4e0
    nid=0x43c waiting on monitor [0x1615f000..0x1615fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e32410
    nid=0xb64 waiting on monitor [0x1611f000..0x1611fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14c4ee68
    nid=0xe30 waiting on monitor [0x160df000..0x160dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14c4ec10
    nid=0x1140 waiting on monitor [0x1609f000..0x1609fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e33b18
    nid=0xfc0 waiting on monitor [0x1605f000..0x1605fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemon prio=5 tid=0x14e33968
    nid=0x718 waiting on monitor [0x1601f000..0x1601fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemon prio=5 tid=0x14e3c0a0
    nid=0x119c waiting on monitor [0x15fdf000..0x15fdfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfbce0 nid=0xb90 waiting on monitor
    [0x15f9f000..0x15f9fdbc]
         at java.lang.Object.wait(Native Method)
         at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
         at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
         at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '1' for queue: '_weblogic_dgc_queue'" daemon prio=5 tid=0x14e39758
    nid=0x11ac waiting on monitor [0x15f5f000..0x15f5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '_weblogic_dgc_queue'" daemon prio=5 tid=0x14e38898
    nid=0x1194 waiting on monitor [0x15f1f000..0x15f1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfc040 nid=0x10a8 waiting on monitor
    [0x15edf000..0x15edfdbc]
         at java.lang.Object.wait(Native Method)
         at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
         at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
         at java.lang.Thread.run(Thread.java:484)
    "SpinnerRandomSource" daemon prio=5 tid=0x14e30c40 nid=0x794 waiting on monitor
    [0x15e9f000..0x15e9fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource.java:57)
         at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '29' for queue: 'default'" daemon prio=5 tid=0x14e2fe20 nid=0xee8
    runnable [0x15e5f000..0x15e5fdbc]
         at java.net.SocketInputStream.socketRead(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:90)
         at oracle.net.ns.Packet.receive(Unknown Source)
         at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
         at oracle.net.ns.NetInputStream.read(Unknown Source)
         at oracle.net.ns.NetInputStream.read(Unknown Source)
         at oracle.net.ns.NetInputStream.read(Unknown Source)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:931)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
         at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:572)
         at weblogic.jdbc.pool.Statement.executeQuery(Statement.java:850)
         at tavant.platform.jdbc.JDBCTransaction.executeReadQuery(Unknown Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '28' for queue: 'default'" daemon prio=5 tid=0x14e2f268 nid=0x12f0
    runnable [0x15e1f000..0x15e1fdbc]
         at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
         at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '27' for queue: 'default'" daemon prio=5 tid=0x14be7af0 nid=0x11c4
    runnable [0x15ddf000..0x15ddfdbc]
         at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
         at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '26' for queue: 'default'" daemon prio=5 tid=0x14be7748 nid=0x6dc
    waiting for monitor entry [0x15d9f000..0x15d9fdbc]
         at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:681)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:520)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:405)
         at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:395)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:163)
         at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:117)
         at weblogic.jdbc.pool.Driver.connect(Driver.java:152)
         at java.sql.DriverManager.getConnection(DriverManager.java:517)
         at java.sql.DriverManager.getConnection(DriverManager.java:199)
         at tavant.platform.jdbc.JDBCTransaction.getConnection(Unknown Source)
         at tavant.platform.jdbc.JDBCTransaction.start(Unknown Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '25' for queue: 'default'" daemon prio=5 tid=0x14be6b90 nid=0x10f4
    waiting for monitor entry [0x15d5f000..0x15d5fdbc]
         at java.sql.DriverManager.println(DriverManager.java:424)
         at java.sql.SQLException.<init>(SQLException.java:44)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
         at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
         at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:197)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(ConnectionEnvFactory.java:270)
         at weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:919)
         at weblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.java:885)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:486)
         at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
         at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
         at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
         at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
         at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '24' for queue: 'default'" daemon prio=5 tid=0x14be5fd8 nid=0x10a4
    waiting on monitor [0x15d1f000..0x15d1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '23' for queue: 'default'" daemon prio=5 tid=0x14be5420 nid=0x11b0
    waiting on monitor [0x15cdf000..0x15cdfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '22' for queue: 'default'" daemon prio=5 tid=0x14be4868 nid=0x11bc
    waiting for monitor entry [0x15c9f000..0x15c9fdbc]
         at java.sql.DriverManager.println(DriverManager.java:424)
         at java.sql.SQLException.<init>(SQLException.java:44)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
         at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:758)
         at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:712)
         at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:977)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:470)
         at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
         at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
         at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
         at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
         at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '21' for queue: 'default'" daemon prio=5 tid=0x14be3cb0 nid=0x10e0
    waiting on monitor [0x15c5f000..0x15c5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '20' for queue: 'default'" daemon prio=5 tid=0x14be30f8 nid=0x620
    waiting on monitor [0x15c1f000..0x15c1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '19' for queue: 'default'" daemon prio=5 tid=0x14be2540 nid=0x350
    waiting on monitor [0x15bdf000..0x15bdfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '18' for queue: 'default'" daemon prio=5 tid=0x14be1988 nid=0x104c
    waiting on monitor [0x15b9f000..0x15b9fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '17' for queue: 'default'" daemon prio=5 tid=0x14c4db30 nid=0xff0
    waiting on monitor [0x15b5f000..0x15b5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '16' for queue: 'default'" daemon prio=5 tid=0x14c4cf78 nid=0x1148
    waiting on monitor [0x15b1f000..0x15b1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '15' for queue: 'default'" daemon prio=5 tid=0x14c4c3c0 nid=0x1118
    waiting on monitor [0x15adf000..0x15adfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '14' for queue: 'default'" daemon prio=5 tid=0x14c4b808 nid=0x684
    waiting on monitor [0x15a9f000..0x15a9fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '13' for queue: 'default'" daemon prio=5 tid=0x14c4ac50 nid=0xd7c
    waiting on monitor [0x15a5f000..0x15a5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0x14c4a098 nid=0xdb4
    waiting on monitor [0x15a1f000..0x15a1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '11' for queue: 'default'" daemon prio=5 tid=0x14c49588 nid=0x114c
    waiting on monitor [0x159df000..0x159dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '10' for queue: 'default'" daemon prio=5 tid=0x14bdf540 nid=0x90c
    waiting on monitor [0x1599f000..0x1599fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: 'default'" daemon prio=5 tid=0x14bdea00 nid=0x11cc
    waiting on monitor [0x1595f000..0x1595fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: 'default'" daemon prio=5 tid=0x14bdded8 nid=0x12f8
    waiting on monitor [0x1591f000..0x1591fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: 'default'" daemon prio=5 tid=0x14ba0420 nid=0x1350
    waiting on monitor [0x158df000..0x158dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x14bfae20 nid=0x11d8
    waiting on monitor [0x1589f000..0x1589fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: 'default'" daemon prio=5 tid=0x14b9e6a8 nid=0x134c
    waiting on monitor [0x1585f000..0x1585fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: 'default'" daemon prio=5 tid=0x14b9e430 nid=0x10bc
    waiting on monitor [0x1581f000..0x1581fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: 'default'" daemon prio=5 tid=0x14bdbc00 nid=0x1090
    waiting on monitor [0x157df000..0x157dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420

    Hi Joseph,
    Thanks for your useful suggestion.
    BTW, I am attaching the config.xml for your
    convenience.
    Please go through and let us know if anything
    to be tuned.
    Regards.
    Kunal
    Joseph Weinstein <[email protected]> wrote:
    >
    >
    Kunal Jain wrote:
    Hi
    We are using weblogic server 6.1 sp3. The server creates three databaseconnection
    pools (details available in the attached config.xml).
    The database has a regular downtime every day for a few hours. We arerunning
    the server as a windows service. As per the "RefreshMinutes" property,the server
    should be able to get new fresh connections once the database comesup. But in
    our case it is not doing so. Once the database comes up after its regulardowntime:
    -- Sometimes the server does not respond as in we are not able toopen the console
    page.
    -- Any client that tries connecting to the database thru the servergets blocked
    and does not respond.
    -- The log file(weblogic.log) does not get updated after some time.
    Can someone suggest why the server is showing such a behaviour??
    Could it be anything related to the DBMS setting or to the local machine'ssettings
    ? Following is the thread dump after the server stops responding:Hi. I do see a problem in the thread dump. The application code is calling
    java.sql.DriverManager
    calls, which are a serious problem in multithreaded applications like
    weblogic, because
    DriverManager calls are all class-synchronized! All JDBC drivers and
    the SQLException constructor
    call DriverManager calls all the time, so a single long-running call
    to DriverManager.getConnection()
    can stop all other JDBC in the whole JVM. One problem you can fix is
    at:
    at tavant.platform.jdbc.JDBCTransaction.getConnection(Unknown Source)
    at tavant.platform.jdbc.JDBCTransaction.start(Unknown Source)
    The getConnection() method should be altered to instantiate a Driver
    object and
    call Driver.connect() directly to make a pool connection, avoiding the
    DriverManager
    call:
    Driver d = (Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
    Connection c = d.connect("jdbc:weblogic:pool:" + myPoolName, null );
    Let me know if you can make this application change and whether it fixes
    the
    problem or not.
    I could also help if I could see the config.xml, but you seem to have
    attached the
    startup script.
    Joe Weinstein
    Full thread dump:
    "ListenThread" prio=5 tid=0x14ffb570 nid=0x148c runnable [0x1685f000..0x1685fdbc]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:468)
    at java.net.ServerSocket.implAccept(ServerSocket.java:243)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:260)
    "Thread-3" daemon prio=5 tid=0x14fb18b8 nid=0x12d4 waiting on monitor[0x167df000..0x167dfdbc]
    at java.lang.Thread.sleep(Native Method)
    at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-2" daemon prio=5 tid=0x14f21c68 nid=0xf08 waiting on monitor[0x1679f000..0x1679fdbc]
    at java.lang.Thread.sleep(Native Method)
    at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-1" daemon prio=5 tid=0x14fb97d8 nid=0xcac waiting on monitor[0x1675f000..0x1675fdbc]
    at java.lang.Thread.sleep(Native Method)
    at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e75a10
    nid=0x13ec waiting on monitor [0x1671f000..0x1671fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e74e58
    nid=0x1434 waiting on monitor [0x166df000..0x166dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e742a0
    nid=0x1154 waiting on monitor [0x1669f000..0x1669fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72ed0
    nid=0xfe4 waiting on monitor [0x1665f000..0x1665fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72318
    nid=0x9a4 waiting on monitor [0x1661f000..0x1661fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e717d8nid=0xf38
    waiting on monitor [0x165df000..0x165dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70c98nid=0xf68
    waiting on monitor [0x1659f000..0x1659fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70158nid=0x1008
    waiting on monitor [0x1655f000..0x1655fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6f610nid=0x1204
    waiting on monitor [0x1651f000..0x1651fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ead0nid=0xef4
    waiting on monitor [0x164df000..0x164dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6dfa8nid=0x12bc
    waiting on monitor [0x1649f000..0x1649fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6d5e8nid=0xf70
    waiting on monitor [0x1645f000..0x1645fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ccb0nid=0xf84
    waiting on monitor [0x1641f000..0x1641fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e67510nid=0x1418
    waiting on monitor [0x163df000..0x163dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e64f60nid=0x1228
    waiting on monitor [0x1639f000..0x1639fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5
    tid=0x14e5c3f0 nid=0xf60 waiting on monitor [0x1635f000..0x1635fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5
    tid=0x14e5b908 nid=0xf78 waiting on monitor [0x1631f000..0x1631fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5
    tid=0x14e3ebe0 nid=0xfb4 waiting on monitor [0x162df000..0x162dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e35958
    nid=0x9e8 waiting on monitor [0x1629f000..0x1629fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e3ba30
    nid=0x5ac waiting on monitor [0x1625f000..0x1625fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e3af20
    nid=0xdc4 waiting on monitor [0x1621f000..0x1621fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e3a410
    nid=0x11ec waiting on monitor [0x161df000..0x161dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14bfdff0
    nid=0x1078 waiting on monitor [0x1619f000..0x1619fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14bfd4e0
    nid=0x43c waiting on monitor [0x1615f000..0x1615fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e32410
    nid=0xb64 waiting on monitor [0x1611f000..0x1611fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14c4ee68
    nid=0xe30 waiting on monitor [0x160df000..0x160dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14c4ec10
    nid=0x1140 waiting on monitor [0x1609f000..0x1609fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e33b18
    nid=0xfc0 waiting on monitor [0x1605f000..0x1605fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemonprio=5 tid=0x14e33968
    nid=0x718 waiting on monitor [0x1601f000..0x1601fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemonprio=5 tid=0x14e3c0a0
    nid=0x119c waiting on monitor [0x15fdf000..0x15fdfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfbce0 nid=0xb90 waitingon monitor
    [0x15f9f000..0x15f9fdbc]
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '1' for queue: '_weblogic_dgc_queue'" daemon prio=5tid=0x14e39758
    nid=0x11ac waiting on monitor [0x15f5f000..0x15f5fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '_weblogic_dgc_queue'" daemon prio=5tid=0x14e38898
    nid=0x1194 waiting on monitor [0x15f1f000..0x15f1fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfc040 nid=0x10a8 waitingon monitor
    [0x15edf000..0x15edfdbc]
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "SpinnerRandomSource" daemon prio=5 tid=0x14e30c40 nid=0x794 waitingon monitor
    [0x15e9f000..0x15e9fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource.java:57)
    at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '29' for queue: 'default'" daemon prio=5 tid=0x14e2fe20nid=0xee8
    runnable [0x15e5f000..0x15e5fdbc]
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at oracle.net.ns.Packet.receive(Unknown Source)
    at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:931)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:572)
    at weblogic.jdbc.pool.Statement.executeQuery(Statement.java:850)
    at tavant.platform.jdbc.JDBCTransaction.executeReadQuery(UnknownSource)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '28' for queue: 'default'" daemon prio=5 tid=0x14e2f268nid=0x12f0
    runnable [0x15e1f000..0x15e1fdbc]
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '27' for queue: 'default'" daemon prio=5 tid=0x14be7af0nid=0x11c4
    runnable [0x15ddf000..0x15ddfdbc]
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '26' for queue: 'default'" daemon prio=5 tid=0x14be7748nid=0x6dc
    waiting for monitor entry [0x15d9f000..0x15d9fdbc]
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:681)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:520)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:405)
    at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:395)
    at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:163)
    at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:117)
    at weblogic.jdbc.pool.Driver.connect(Driver.java:152)
    at java.sql.DriverManager.getConnection(DriverManager.java:517)
    at java.sql.DriverManager.getConnection(DriverManager.java:199)
    at tavant.platform.jdbc.JDBCTransaction.getConnection(UnknownSource)
    at tavant.platform.jdbc.JDBCTransaction.start(Unknown Source)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '25' for queue: 'default'" daemon prio=5 tid=0x14be6b90nid=0x10f4
    waiting for monitor entry [0x15d5f000..0x15d5fdbc]
    at java.sql.DriverManager.println(DriverManager.java:424)
    at java.sql.SQLException.<init>(SQLException.java:44)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:197)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(ConnectionEnvFactory.java:270)
    at weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:919)
    at weblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.java:885)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:486)
    at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
    at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '24' for queue: 'default'" daemon prio=5 tid=0x14be5fd8nid=0x10a4
    waiting on monitor [0x15d1f000..0x15d1fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '23' for queue: 'default'" daemon prio=5 tid=0x14be5420nid=0x11b0
    waiting on monitor [0x15cdf000..0x15cdfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '22' for queue: 'default'" daemon prio=5 tid=0x14be4868nid=0x11bc
    waiting for monitor entry [0x15c9f000..0x15c9fdbc]
    at java.sql.DriverManager.println(DriverManager.java:424)
    at java.sql.SQLException.<init>(SQLException.java:44)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
    at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:758)
    at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:712)
    at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:977)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:470)
    at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
    at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '21' for queue: 'default'" daemon prio=5 tid=0x14be3cb0nid=0x10e0
    waiting on monitor [0x15c5f000..0x15c5fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '20' for queue: 'default'" daemon prio=5 tid=0x14be30f8nid=0x620
    waiting on monitor [0x15c1f000..0x15c1fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '19' for queue: 'default'" daemon prio=5 tid=0x14be2540nid=0x350
    waiting on monitor [0x15bdf000..0x15bdfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '18' for queue: 'default'" daemon prio=5 tid=0x14be1988nid=0x104c
    waiting on monitor [0x15b9f000..0x15b9fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '17' for queue: 'default'" daemon prio=5 tid=0x14c4db30nid=0xff0
    waiting on monitor [0x15b5f000..0x15b5fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at webl

  • [原创] 有关Weblogic Connection Pool 连接恢复的问题

    这是一个古老的问题,一直困扰我,这里既然碰到了,就看看能不能解决。
    环境描述:
    WEBLOGIC版本是8.1 SP2,数据库是SQL SERVER 2000,分别部署在两个服务器上。
    第一步:
    问题描述:
    数据库服务器重新启动,导致WEBLOGIC 的CONNECTION POOL中的连接中断,EJB无法获得连接,导致应用出错。
    解决方法:
    进入WEBLOGIC ADMIN CONSOLE,
    Services->JDBC->Connection Pools->Config->Connections, 点开Advanced Options.
    打开 Test Reserved Connections ,Test Created Connections,Test Released Connections这三个选项。
    将Test Table Name属性设置为:sysproperties(SQL Server系统表,即使自己的应用不存在,这个表也存在,而且默认的内部没有数据)
    根据如下解释:
    Connections that fail the test are closed and reopened to re-establish a valid physical database connection.
    (You must specify a Test Table Name below.)
    每次调用首先进行测试连接,如果测试失败连接将重新建立。
    测试结果:
    WEBLOGIC启动后,关闭数据库SQL SERVER,应用服务器前端调用此时失败。
    重新启动SQL SERVER后,WEBLOGIC端略做等待,前端应用恢复正常。
    第二步:
    问题描述:
    进一步测试,如果WEBLOGIC先启动,启动完成后再启动数据库。
    在WEBLOGIC CONSOLE得到如下输出:
    <2006-3-22 上午11时50分08秒 GMT+08:00> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for p
    ool "MyJDBC Connection Pool": [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.>
    <2006-3-22 上午11时50分10秒 GMT+08:00> <Error> <JDBC> <BEA-001150> <Connection Pool "MyJDBC Connection Pool" deployment
    failed with the following error: 0:Could not create pool connection. The DBMS driver exception was: [Microsoft][SQLServe
    r 2000 Driver for JDBC]Error establishing socket..>
    <2006-3-22 上午11时50分10秒 GMT+08:00> <Error> <JDBC> <BEA-001151> <Data Source "MyJDBC Data Source" deployment failed w
    ith the following error: DataSource(jdbc/OMSEIITxDS) can't be created with non-existent Pool (connection or multi) (MyJD
    BC Connection Pool).>
    Unable to deploy EJB: XXXXXXX from XXXXXXX.jar:
    [EJB:011028]The DataSource with the JNDI name: jdbc/XXXXXX could not be located. Please ensure that the DataSource h
    as been deployed successfully and that the JNDI name in your EJB Deployment descriptor is correct.
    1、在默认初始化打开的连接一一失败以后,连接池发现可用的连接为0,郁闷的宣布自己部署失败。
    2、接着数据源发现没有可用的连接池,自己也宣布部署失败。
    3、下面所有的EJB发现不了数据源的JNDI名,部署也全部失败。
    应用启动完成后,大部分EJB的状态为INACTIVE。前端应用无法使用,此时启动数据库,前端应用无法使用。
    手动重新部署 EJB失败,错误还是找不到JNDI,前端应用无法使用。
    手动重新部署 连接池,数据源后,部署EJB 依然失败。前端应用无法使用。
    解决方法:
    进入WEBLOGIC ADMIN CONSOLE,
    Services->JDBC->Connection Pools->Config->Connections, 点开Advanced Options.

    Connection Creation Retry Frequency 参数设置为 60。
    ConnectionCreationRetryFrequencySeconds含义:
    当创建数据库连接时,如果数据库不可用(如数据库没启动),隔多长时间试着重新创建该连接,
    WLS8.1会每隔ConnectionCreationRetryFrequencySeconds秒重试一次.直到JDBC POOL创建成功
    参考:http://dev2dev.bea.com.cn/techdoc/20030469.html,‘JDBC Connect Pool’部分。
    英文解释可以直接控制台上看到,或者edocs查。
    测试结果:
    将数据库关闭,WEBLOGIC重新启动。
    在WEBLOGIC CONSOLE得到如下输出:
    打开Connection Creation Retry Frequency 参数后,连接池在第一轮尝试失败以后,就成功部署了,数据源也成功部署。
    EJB部署会失败,但是提示也与先前的不同:
    Unable to deploy EJB: XXXXXXX from XXXXXXX.jar:
    weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool MyJDBC Connection Pool to
    allocate to applications, please increase the size of the pool and retry..
    每隔一段时间会看到,CONNECTION POOL不断的重新进行连接:
    <2006-3-22 下午12时17分56秒 GMT+08:00> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for p
    ool "MyJDBC Connection Pool": [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.>
    在WEBLOGIC启动完成后,所有EJB为INACTIVE状态。
    启动数据库服务器,稍后,手动重新部署所有的EJB,EJB可以部署成功,前端应用可以正常使用。
    此时,此问题已经基本解决,仍需要手动部署EJB。
    第三步:
    问题描述:
    解决方法:
    有关部署次序的问题,首先查阅WEBLOGIC文档,http://edocs.bea.com/wls/docs81/faq/deploy.html#744900,得到
    WebLogic Server deploys server-level resources (first JDBC and then JMS) before deploying applications.
    Applications are deployed in this order: connectors, then EJBs, then Web Applications.
    If the application is an EAR, the individual components are loaded in the order in which they are declared
    in the application.xml deployment descriptor.
    WEBLOGIC先部署服务器端资源,JDBC -> JMS....,然后部署我们的应用,EJB->WEB APPLICATION。
    实际从WEBLOGIC启动日志来看,即使打开了Connection Creation Retry Frequency,如果当时数据库不是可用的,CONNECTION POOL
    会不断的调度CONNECTION进行重新连接。但是此时,EJB的部署也同时在进行。个人猜测这应该是两个不同的线程(组)分别调度的任务。
    现在考虑的是能不能用StartupClass截住EJB的部署过程,粗略的说是如果DATASOURCE没有连接好,或者没有可用的连接池,
    就不往下进行EJB部署的过程。
    参考:http://edocs.bea.com/wls/docs81/config_xml/EJBComponent.html#DeploymentOrder
    DeploymentOrder:
    A priority that the server uses to determine when it deploys an item. The priority is relative to other deployable
    items of the same type. For example, the server prioritizes and deploys all EJBs before it prioritizes and
    deploys startup classes.Items with the lowest Deployment Order value are deployed first.
    There is no guarantee on the order of deployments with equal Deployment Order values.
    There is no guarantee of ordering across clusters. Default: 1000 Minimum: 0 Maximum: 2N31-1
    在部署同一类应用时,按照 DEPLOYMENT LOADER的数值决定,数值越小越先。(EJB的参数在ADMIN CONSOLE界面上叫做LOAD ORDER)
    而且上面看来服务器是先部署EJB,再部署STARTUP CLASS,遗憾了。
    好在STARTUP CLASS上有两个选项,
    Run Before Application Deployments
    Run Before Application Activations
    这两个选项分别可以设置StartupClass分别在系统资源部署之前,以及在系统资源部署和用户应用部署之间启动。
    选上Run Before Application Activations。
    现在可以了,我写了一个STARTUP CLASS,思路见下:
    主代码:
    private void testConnection(){
    while (!isTimeout() && !getConnection()){
    try{
    Thread.sleep(testInterval*1000);
    }catch(Exception ignor){}
    log("DBConnectHolder job finished with following status:");
    log("Timeout:"+isTimeout +",Connection OK:"+isConnected);
    测试结果:
    只要配置的等待时间足够长,应用服务器先行启动的情况下,等待数据库启动后才进行EJB等等的部署。
    (主要考虑如果数据库连接不OK,EJB启动了也没有太大用,还得手工重新部署。)算是比较完满的解决了问题。
    另外一个思路是是否可行? 通过MBean, 在CONNECTION 建立起来以后通知一把,进行EJB的重新部署。
    没来得及研究,请有经验的同学帮我补充完善。
    结论:
    其实也没什么结论,只是把自己遇到问题,解决问题的思路写了一下。短时间内阅读的文献有限,可能采用了一些苯方法
    ,或者走了弯路,也请大家拍砖。
    在WL8版本上,数据库连接进行恢复和重新连接的时候,上面提出的几个参数应该是比较重要的,我再次强调一下。
    Services->JDBC->Connection Pools->Config->Connections, 点开Advanced Options.
    Test Reserved Connections
    Test Created Connections
    Test Released Connections
    Test Table Name
    Connection Creation Retry Frequency

    在第一个情景中应该只需要打开Test Reserved Connections 就可以了。
    Test Created Connections表示创建连接后放到pool之前进行测试看连接是否可用
    Test Released Connections表示释放连接回到pool之前进行测试看连接是否可用
    I think so!

  • Oc4j connection pool: too much INACTIVE connections

    I am publishing an application - developed using Eclipse and previously published in Tomcat (where it works perfectly for a long time) - within corporate servers using Oc4j version 10.1.3. The database server is Oracle 9g.
    After the deployment operation, the application seems to work, but that happens during the work by users, there are still many connections whith status "INACTIVE", until to complete all the available connections.
    The datasource is set as follows:
    <connection-pool name="ConnectionPoolRichiestaPubblicazione">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="REDAZIONE"
    password="password"
    url="jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)
         (ADDRESS_LIST=(LOAD_BALANCE=ON)
         (ADDRESS=(PROTOCOL=TCP)
         (HOST=10.146.2.86)(PORT=1521))
         (ADDRESS=(PROTOCOL=TCP)(HOST=10.146.2.86)(PORT=1521)))
         (CONNECT_DATA=
    (SERVER=DEDICATED)
    (SERVICE_NAME=XE)
    (FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))">
    </connection-factory>
    </connection-pool>
    <managed-data-source
    jndi-name="jdbc/RichiestaPubblicazioneDS"
    name="RichiestaPubblicazioneDS"
    connection-pool-name="ConnectionPoolRichiestaPubblicazione" />
    The java code to establish a connection is as follows:
    private Connection creaConnessioneDataSource(String nomedatasource) throws ConnessioneException{
              LOGGER.debug("START");
              try {
                   InitialContext context = new InitialContext();
                   DataSource ds = (DataSource)context.lookup(nomedatasource);
                   LOGGER.debug("URL DATASOURCE : " + ds.getConnection().getMetaData().getURL());
                   LOGGER.debug("USERNAME : " + ds.getConnection().getMetaData().getUserName());
                   this.conn = ds.getConnection();
              catch( Exception e ) {
                   LOGGER.error("Errore nella connessione tramite datasource : " + StringUtils.getCustomStackTrace(e));
              LOGGER.debug("END");
              return this.conn;
    Connections and statements are closed using the following methods:
         public boolean chiudi(Connection conn){
              LOGGER.debug("START");
              boolean esito = false;
              if (conn != null){
                   try {
                        conn.close();
                        esito = true;
                        LOGGER.debug("Connessione chiusa");
                   catch (SQLException e) {
                        LOGGER.error("Eccezione nella chiusura della connessione : " + e);
              LOGGER.debug("END");
              return esito;
         public boolean chiudi(Statement stmt){
              LOGGER.debug("START");
              boolean esito = false;
              if (stmt != null){
                   try {
                        stmt.close();
                        esito = true;
                        LOGGER.debug("Statement chiuso");
                   } catch (SQLException e) {
                        LOGGER.error("Eccezione nella chiusura dello statement : " + e);
                        e.printStackTrace();
              LOGGER.debug("END");
              return esito;
    Here are a couple of examples of code that interact with the database:
         public List<StatoRichiestaSintesi> getElencoStatiRichieste() throws ConnessioneException{
              LOGGER.debug("START");
              List<StatoRichiestaSintesi> listaStati=new LinkedList<StatoRichiestaSintesi>();
              LOGGER.debug("Apriamo connessione e statement");
              Connection conn = databaseManager.creaConnessioneDataSource(datasource);
              Statement stmt = databaseManager.creaStatement(conn, false);
              String sql="SELECT * FROM STATORICHIESTA";
              try {
                   ResultSet rs = stmt.executeQuery(sql);
                   while(rs.next()){
                        StatoRichiestaSintesi temp=new StatoRichiestaSintesi();
                        temp.setIdStato(rs.getString(1));
                        temp.setDescrizioneStato(rs.getString(2));
                        listaStati.add(temp);
                   LOGGER.debug("Numero record trovati : " + listaStati.size());
              } catch (SQLException e) {
                   LOGGER.error("Eccezione di tipo SQL : " + StringUtils.getCustomStackTrace(e));
              finally{
                   LOGGER.debug("Chiusura di statement e connessione");
                   databaseManager.chiudi(stmt);
                   databaseManager.chiudi(conn);
              LOGGER.debug("END");
              return listaStati;
    Below is another example using PreparedStatement:
         private synchronized void aggiungiIndicazioneProgetto(String idprogetto, String idrichiesta) {
              LOGGER.debug("START");
              LOGGER.debug("Creo un oggetto di tipo connessione");
              Connection conn = databaseManager.creaConnessioneDataSource(datasource);
              LOGGER.debug("Definisco una query sql");
              String sql = "INSERT INTO RICHIESTAPROGETTO (IDRICHIESTA,IDPROGETTO) VALUES (?,?)";
              LOGGER.debug("Dichiaro un oggetto di tipo preparedstatement");
              PreparedStatement stmt = null;
              try {
                   LOGGER.debug("Istanzio l'oggetto statement");
                   stmt = conn.prepareStatement(sql);
                   LOGGER.debug("Imposto i segnalibri della query");
                   stmt.setString(1, idrichiesta);
                   stmt.setString(2, idprogetto);
                   LOGGER.debug("Eseguo la query di inserimento del progetto");
                   stmt.executeUpdate();
              } catch (SQLException e) {
                   LOGGER.error("Eccezione di tipo SQL : " + StringUtils.getCustomStackTrace(e));
              finally {
                   LOGGER.debug("Chiusura di statement e connessione");
                   databaseManager.chiudi(stmt);
                   databaseManager.chiudi(conn);
              LOGGER.debug("END");
         Which may be the cause for the described behavior?
         I hope someone help me..

    My problem is the following.
    If I deploy my application with the illustred datasource in my local OC4J (10.1.3 in a Standalone Environment) all work fine.
    The application creates a reasonable number of connections (in ORACLE - 10g Enterprise Edition Release 10.2.0.4.0 - db I run the query verification "select count(*) from v$session where username='MYAPPLICATION'"), and overall performance is very good.
    If, however, to deploy on the production machine of corporate (always 10.1.3, but obviously in Oracle Application Server Environment) the
    number of connections (status 'INACTIVE') grows massively, and this is saturated in a short time.
    The exception that at the end from the application is that:
    java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux Error: 2: No such file or directory
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:277)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:243)
    oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:304)
    oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:430)
    oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
    oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:218)
    oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:114)
    oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:77)
    oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1361)
    oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:441)
    oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:336)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:286)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:179)
    oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:159)
    oracle.oc4j.sql.DataSourceConnectionPoolDataSource.getPooledConnection(DataSourceConnectionPoolDataSource.java:57)
    oracle.oc4j.sql.xa.EmulatedXADataSource.getXAConnection(EmulatedXADataSource.java:92)
    oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createXAConnection(ManagedConnectionFactoryImpl.java:211)
    oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:170)
    com.evermind.server.connector.ApplicationConnectionManager.createManagedConnection(ApplicationConnectionManager.java:1377)
    oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnectionFromFactory(ConnectionPoolImpl.java:327)
    oracle.j2ee.connector.ConnectionPoolImpl.access$800(ConnectionPoolImpl.java:98)
    also I add the other attributes of Connection Pool of the Datasource:
    Connections:
    Initial size of Connection Cache = 0     
    Minimum Number of Connections = 0
    Maximum Number of Connections = -1
    Connection Retry Interval (seconds) = 1
    Maximum Connection Attempts = 3
    Maximum Number of Statements Cached = 0     
    Lower Threshold Limit On Pool (%)= 20     
    Validate Connection = False
    What I can do?
    many thanks..

  • Java Connection Pooling issue with Oracle 10g Express Edition

    Hello
    I have a Java based web application that uses the Oracle 10g Express Edition database. I am using a connection pool to get connections to the database.
    I use the NetBeans IDE and run my web application on the bundled Tomcat server(5.5.7) that comes with the IDE. Though when I initially run the application from the IDE, the connection pool is set up fine, when I recompile my java code and try to run the application again, I get the following error each time:
    Listener refused the connection with the following error:
    ORA-12516, TNS:listener could not find available handler with the
    matching protocol stack.
    The logs before the error shows up, indicate that the connection pool object is fine and gives me the number of available connections and the number of active connections and so on, which I have printed from the constructor of the Connection Pool class:
    For e.g.:
    Cache size = 17
    Available Connections = 17
    Cache Limit = 1000
    Active size = 0
    However, if I kill my Tomcat server process and run the application again, it works fine with no error.
    I looked around for possible causes and solutions and all I could find
    was increasing the processes parameter value in the init.ora file. I have increased the parameter value to from 100 to 20000 now, in increments of 500/1000 each time but it hasnt worked so far.
    Someone else suggested that I increase the size of my connection pool; I initially had it set to a minimum limit of 5, an initial limit of 10 and a maximum limit of 1000. However if I set the Initial Limit to anything above 17 connections, I see the following log on the Bundled Tomcat log and my application doesn't run at all:
    Log: Loading JDBC Driver : class=oracle.jdbc.driver.OracleDriver ...
    Log: Loaded JDBC Driver
    Log: Connection with URL=jdbc:oracle:thin:@localhost:1521:xe as username/password
    Error code not handled : 0
    Exception Message :java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12519, TNS: no appropriate service handler found
    The Connection descriptor used by the client was:
    localhost:1521:xe
    // End of log
    And the Bundled Tomcat server automatically shuts down.
    Again the System.out statements from the Connection Pool class constructor show that the cache has been initialized and that currently there are free connections available in the pool.
    E.g.
    Cache size = 18
    Available Connections = 18
    Cache Limit = 1000
    Active size = 0
    Has anyone faced anything similar? Could someone please suggest what I'm doing wrong here and what I should do to set right this problem?
    Swetha

    hello, please pardon me, my english is basic. i do of my best. i had the same problem until reading the pdf documentation 2 days for java devvelloper.it is simple, follow this way.
    try {OracleDataSource ds;
         Connection conn;
      ds = new OracleDataSource();
      ds.setURL("jdbc:oracle:thin:@localhost");
      conn = ds.getConnection("userid","password");
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    don't forget to Dowload the user client of oracle Express Edition. do the rest of your program and it will work. take a look to the documentation pdf for java develloper. all it is explained.  good look                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • A strang problem about Resin database connection pool

    I am a beginner&#65292;hope somebody can help me.
    my web site occured a strange problem after I used the Resin database connection pool instead of
    connecting directly
    the error message as follows:java.lang.IllegalArgumentException: Request cannot be null
    at javax.servlet.ServletRequestWrapper.<init>(ServletRequestWrapper.java:100)
    at javax.servlet.http.HttpServletRequestWrapper.<init>(HttpServletRequestWrapper.java:92)
    at com.caucho.server.connection.RequestAdapter.<init>(RequestAdapter.java:96)
    at com.caucho.server.webapp.DispatchRequest.<init>(DispatchRequest.java:97)
    at com.caucho.server.webapp.IncludeDispatchRequest.<init>(IncludeDispatchRequest.java:77)
    at com.caucho.server.webapp.IncludeDispatchRequest.createDispatch(IncludeDispatchRequest.java:87)
    at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:389)
    at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:345)
    at com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:807)
    at _jsp._intro__jsp._jspService(/intro.jsp:60)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
    at com.caucho.jsp.Page.pageservice(Page.java:571)
    at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:155)
    at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:211)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:177)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:221)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:331)
    at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:464)
    at com.caucho.util.ThreadPool.run(ThreadPool.java:408)
    at java.lang.Thread.run(Thread.java:595)

    <!--
    - Resin 3.0 configuration file.
    -->
    <resin xmlns="http://caucho.com/ns/resin"
    xmlns:resin="http://caucho.com/ns/resin/core">
    <!--
    - Logging configuration for the JDK logging API.
    -->
    <log name='' level='info' path='stdout:' timestamp='[%H:%M:%S.%s] '/>
    <log name='com.caucho.java' level='config' path='stdout:'
    timestamp='[%H:%M:%S.%s] '/>
    <log name='com.caucho.loader' level='config' path='stdout:'
    timestamp='[%H:%M:%S.%s] '/>
    <!--
    - For production sites, change dependency-check-interval to something
    - like 600s, so it only checks for updates every 10 minutes.
    -->
    <dependency-check-interval>2s</dependency-check-interval>
    <!--
    - You can change the compiler to "javac" or jikes.
    - The default is "internal" only because it's the most
    - likely to be available.
    -->
    <javac compiler="internal" args=""/>
    <!-- Security providers.
    - <security-provider>
    - com.sun.net.ssl.internal.ssl.Provider
    - </security-provider>
    -->
    <!--
    - If starting bin/resin as root on Unix, specify the user name
    - and group name for the web server user.
    - <user-name>resin</user-name>
    - <group-name>resin</group-name>
    -->
    <!--
    - Configures threads shared among all HTTP and SRUN ports.
    -->
    <thread-pool>
    <!-- Maximum number of threads. -->
    <thread-max>128</thread-max>
    <!-- Minimum number of spare connection threads. -->
    <spare-thread-min>25</spare-thread-min>
    </thread-pool>
    <!--
    - Configures the minimum free memory allowed before Resin
    - will force a restart.
    -->
    <min-free-memory>1M</min-free-memory>
    <server>
    <!-- adds all .jar files under the resin/lib directory -->
    <class-loader>
    <tree-loader path="$resin-home/lib"/>
    </class-loader>
    <!-- Configures the keepalive -->
    <keepalive-max>500</keepalive-max>
    <keepalive-timeout>120s</keepalive-timeout>
    <!-- The http port -->
    <http server-id="" host="*" port="8080"/>
    <!--
    - SSL port configuration:
    - <http port="8443">
    - <openssl>
    - <certificate-file>keys/gryffindor.crt</certificate-file>
    - <certificate-key-file>keys/gryffindor.key</certificate-key-file>
    - <password>test123</password>
    - </openssl>
    - </http>
    -->
    <!--
    - The local cluster, used for load balancing and distributed
    - backup.
    -->
    <cluster>
    <srun server-id="" host="127.0.0.1" port="6802" index="1"/>
    </cluster>
    <!--
    - Enables/disables exceptions when the browser closes a connection.
    -->
    <ignore-client-disconnect>true</ignore-client-disconnect>
    <!--
    - Enables the cache
    -->
    <cache path="cache" memory-size="10M"/>
    <!--
    - Enables periodic checking of the server status.
    - With JDK 1.5, this will ask the JDK to check for deadlocks.
    - All servers can add <url>s to be checked.
    -->
    <ping>
    <!-- <url>http://localhost:8080/test-ping.jsp</url> -->
    </ping>
    <!--
    - Defaults applied to each web-app.
    -->
    <web-app-default>
    <!--
    - Sets timeout values for cacheable pages, e.g. static pages.
    -->
    <cache-mapping url-pattern="/" expires="5s"/>
    <cache-mapping url-pattern="*.gif" expires="60s"/>
    <cache-mapping url-pattern="*.jpg" expires="60s"/>
    <!--
    - Servlet to use for directory display.
    -->
    <servlet servlet-name="directory"
    servlet-class="com.caucho.servlets.DirectoryServlet"/>
    </web-app-default>
    <!--DataSource jndi configuration-->
    <database>
    <jndi-name>jdbc/artunion</jndi-name>
    <driver type="org.gjt.mm.mysql.Driver">
    <url>jdbc:mysql://localhost:3306/union</url>
    <user>as</user>
    <password>as</password>
    </driver>
    <prepared-statement-cache-size>8</prepared-statement-cache-size>
    <max-connections>20</max-connections>
    <max-idle-time>30s</max-idle-time>
    </database>
    <!--
    - Default host configuration applied to all virtual hosts.
    -->
    <host-default>
    <class-loader>
    <compiling-loader path='webapps/WEB-INF/classes'/>
    <library-loader path='webapps/WEB-INF/lib'/>
    </class-loader>
    <!--
    - With another web server, like Apache, this can be commented out
    - because the web server will log this information.
    -->
    <access-log path='logs/access.log'
    format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
    rollover-period='1W'/>
    <!-- creates the webapps directory for .war expansion -->
    <web-app-deploy path='webapps'/>
    <!-- creates the deploy directory for .ear expansion -->
    <ear-deploy path='deploy'>
    <ear-default>
    <!-- Configure this for the ejb server
    - <ejb-server>
    - <config-directory>WEB-INF</config-directory>
    - <data-source>jdbc/test</data-source>
    - </ejb-server>
    -->
    </ear-default>
    </ear-deploy>
    <!-- creates the deploy directory for .rar expansion -->
    <resource-deploy path='deploy'/>
    <!-- creates a second deploy directory for .war expansion -->
    <web-app-deploy path='deploy'/>
    </host-default>
    <!-- includes the web-app-default for default web-app behavior -->
    <resin:import path="${resinHome}/conf/app-default.xml"/>
    <!-- configures the default host, matching any host name -->
    <host id=''>
    <document-directory>D:/artunion</document-directory>
    <!-- configures the root web-app -->
    <web-app id='/'>
    <!-- adds xsl to the search path -->
    <class-loader>
    <simple-loader path="$host-root/xsl"/>
    </class-loader>
    <servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>
    </web-app>
    </host>
    </server>
    </resin>
    Thank you!

  • Can anyone tell me about Connection Pools???

    Hi,
    Is there a freely downloadable Connection Pool implementation available on the net? I need it specifically for Oracle databases... This is for a prod environment and am looking for a stable implementation... Any good information/links is most appreciated.
    Thanks
    Prowzen

    Hi,
    I actually implemented it long time back. This is a best case to implement the Singleton Pattern. Just to give an idea, here is how it goes. I'll try to post the code too but cannot guarantee it right now.
    Basically the Pool information like the database, userid, password, SID etc. should be configurable through a properties file as you are saying that it is a production environment.
    1. Implement your Connection Pool as a Singleton class that has methods like init, getConnection, releaseConnection, createConnection etc. Have private member - a java.util.Vector of java.sql.Connection objects.
    2. Anyone who wants to use the connection pool gets an instance with the getInstance method which will call init method.
    3. The init should read the properties file and get the necessary details. Then create required number of connections and put them in the Vector of connections (pool). You are good to go now. Ideally this should all be done at the startup of the whole Application.
    4. Each client will call the getConnection method of the Singleton. The getConnection should Synchronize the Vector and remove the connection at index 0 of the pool (vector) and return it.
    i.e. public java.sql.Connection getConnection ()
    //wait until someone notifies me after returning a connection back to the pool
    if(connectionPool_.size() == 0)
    wait();
    Connection con = null;
    synchronized(connectionPool_)
    con = (Connection)connectionPool_.elementAt(0);
    connectionPool_.removeElementAt(0);
    return con;
    5. Each client SHOULD call the releaseConnection method of the Singleton once it is done using the connection. The releaseConnection should Synchronize the Vector and add the connection back to the pool.
    So, basically the connections in the pool will be used in a Round-Robin Fashion.
    i.e. public void releaseConnection (java.util.Connection con)
    connectionPool_.addElement(con);
    //Notify all the waiting Clients. Let JVM decide who gets the connection.
    notifyAll();
    return con;
    This is the core logic of what I had written. But there are lot of other cases that you need to consider to write robust code like Lost Connections, when you need to throw that connection away from the pool and add a new one. This is more so significant in busy databases configured to timeout inactive connections. I used to have a low priority thread kicked off at the start along with this main pool that would wake up around 4 or 5 in the night and replenish all the connections in the pool so that it will be good to go for one more day before it gets replenished again. Of course, in such a case, the clients have to have a retry mechanism in case you don't respond in reasonable amount of time while replenishing the connection pool.
    Hope this helps.
    Amar.

  • Multiple sources in a single Connection Pool

    Hi Folks,
    I have a requirement to import data from two diffrent data sources( for example : Two diffrent database of Oracle in two diffrent servers) using a single connection pool to the physical layers of OBIEE RPD. Can anyone please suggest whether this is possible or not? If yes please provide the steps.

    DB Links is an Oracle feature, not an OBIEE. You have to create your DB link in one of the schemas in DB1 so you can connect from there to DB2. Then you can simply create a query that joins data from both DBs:
    SELECT * FROM DUAL d1, DUAL@DB2 d2
    WHERE d1.dummy = d2.dummy
    Search on Google as this is a very popular and simple feature to use. It will allow you to use one connection pool that's connection to two DBs.

  • Problem with the JDBC URL while creating a new connection pool

    Hi,
    I am trying to install soademo application in my desktop and was unable to create a connection pool. Test connection fails even though I have provided the correct values (I confirmed these values with tnsnames.ora file).
    Anyone has experienced this before and resolved it then please let me know it.
    Thanks in advance,
    Sateesh

    I was trying to create a connection pool from Cluster Topology > Application Server: CRMSOA.PC000121 > OC4J: home > JDBC Resources > Create a button in the connection pool section
    The values which I have given are:
    Driver Type: ThinOCI
    DB Host Name: PC000121
    DB Listener Port: 1521
    DB Identifier Type: Service NameSID
    SID/Service Name: XE
    And the Error message is:
    Error
    Unable to establish connection. Error message: Exception occurred testing connection. Exception: java.sql.SQLException: invalid arguments in call.
    Thanks,
    Sateesh.R

  • Sun Java Systems Application Server 9 connection-pool ping error

    Hi folks, I tried creating a javax.sql.DataSource MSSQL database connection pool with the jdts type 4 driver I got from sourceforge, and each ping operation I tried gave me the following error message:
    Operation 'pingConnectionPool' failed in 'resources' Config MBean.
    Target exception message: No PasswordCredential found.
    My connection properties are:
    user = sa
    port = 1433
    databaseName = FlyMyWayDB
    serverName = digitanx-chalu
    What does this exception mean, what are the possible causes, and how do I go about resolving it.
    I will really appreciate any help, thanks.

    As long as the JDBC Driver (jar file) for the connection pool(s) you want to create are in the app server's lib directory, you shouldn't have a problem creating both those and the JDBC Resources from the admin console (web app). So far, I am able to bundle my connection pools and resource connections inside my ejb module under "Server Resources" within my enterprise (.ear) application in Netbeans 5.5. When I deploy it, the whole thing works pretty sweet. I haven't gotten to the stage where I will want to migrate the jee application to my dedicated server yet, but I suspect that if my dedicated (remote) app server doesn't want to play nice with my netbeans when I try and set it up as a new server under my "Server Manager", then I'll likely try to simply deploy the .ear file from within the admin console, using the "browse" (for .ear) option (likely the better/preferred practice for production anyhow). Thanks for the dukes! My very first ones ever!

  • JDBC Version/connection pooling

    Hi all
    I am using JDK1.1.8 (this is device dependant so please don't suggest using a different JDK), and jTurbo1.22 as my driver. I have three questions:
    1. What version of JDBC does JDK1.1.8 support?
    2. Can I use Connection Pooling with this set up (driver + JDK)?
    3. If I can't use connection pooling, any suggestions on how to control more than one connection to a database?
    Thanks
    John

    1. What version of JDBC does JDK1.1.8 support?Version 1.
    2. Can I use Connection Pooling with this set up (driver + JDK)?Connection pooling is a interface to a driver. You can do it in any version of java. However, if you are asking about a specific implementation that is a different matter.
    3. If I can't use connection pooling, any suggestions on how to control more than one connection to a database?
    Control it? Connection pooling requires keeping connections fresh. If you aren't using the connection then something, especially with Oracle, has to do this.
    So you solutions are:
    -Find a connection pool
    -Write your own minimalistic one and deal with keeping the connections fresh.
    -Close the connections when you are done with them.

Maybe you are looking for

  • How to change Payment Terms in multiple orders at same time?

    How to change Payment Terms in multiple orders at same time? I have got 10,000 Order, I need to change the payment terms for all these Orders. Can I Know the way out for this. Regards, Dantham Conpolwedson Edited by: Dantham Conpolwedson on Mar 25, 2

  • Can't find user account when trying to delete

    I'm using an iMac computer. And the problem I'm having is the following: I'm trying to delete an user account from my computer following the steps from apple.          http://docs.info.apple.com/article.html?path=Mac/10.5/nl/8163.html So at step 3 th

  • Avi files & Premiere Pro CS3

    I just picked up one of those little Flip Ultras. They produce avi files and the documentation and support from Flip says that dvds can be created in third party software by importing the avi files. So I did that with my CS3 version ... nada. I see l

  • Related documents or links on how to call webservices from WDJ

    Hi all i need documents & links on how to call webservices from Webdynpro for Java. if anybody send the documents on sample scenarios on the same then it is the great help to me... Thanks Sunil

  • Program execution trace

    Hi, does exist any tool how to trace whole path a program was going through ? Thank you. Marian,