WAS Connection Pooling with Sybase - associating a connection with spid

We defined a datasource in our WAS 4.0 server (for Sybase) and configured it with a single login id/password. I'd like to know if it is possible to uniquely identify a database connection with a Sybase process (SPID). From Toplink's persspective, each connection is identified with a ServerSession ID and Connection ID. But from Sybase's perspective, it has N logins all using the same login ID (the Login ID specified in the WAS datasource). So if two connections are executing some SQL at the same time in my WAS app, is there a way to trace a Sybase process ID to a specific TOPLink connection ID?
Thanks, Matt

Don,
I created a subclass of SessionEventAdapter and implemented the postConnect method. In the postConnect method I was able to use the SessionEvent's result attribute (a DatabaseAccessor) and execute some SQL to retrieve the Sybase process ID. From what I could see, every connection has a unique DatabaseAccessor. I chose, therefore, to use the hash code of the DatabaseAccessor to store the SPID as a property on the ServerSession's DatabaseLogin object. Now, whenever I acquire a connection, I can query the DatabaseLogin object and have access to the SPID based upon the DatabaseAccessor being used.
Do you see any issues in doing it this way? I was concerned that the result attribute of the SessionEvent might not always be a DatabaseAccessor.
Thanks for your help,
Matt

Similar Messages

  • Cant create connection Pool for MS SQL Server 2000 with Microsoft Driver

    i am using bea weblogic server 6.1, i cant create connection pool while using MS
    SQL Server 2000. i have installed JDBC Driver SAP1 from microsoft website. when
    i give the following class name for JDBC driver and the connection url and click
    apply while selecting the available server, a number of exception appears in default
    server (that is the connection pool cannot be created..... cannot load the driver
    class).
    URL= jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MyDB
    Driver= com.microsoft.jdbc.sqlserver.SQLServerDriver
    when i use the above setting in a JDBC simple application in Jbuilder
    7.0 the application runs successfully and fetches the data deom MS SQL database
    but in at Bea connection Pool is not created with these settings. i do give appropriate
    username and password in properties field in connection pool. Thankx for any help!

    khabbab wrote:
    That was the original code part from "startweblogic" :
    :runWebLogic
    echo on
    set PATH=.\bin;%PATH%
    set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
    echo off
    and i changed it to :
    :runWebLogic
    echo on
    set PATH=.\bin;%PATH%
    set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;D:\Program Files\Microsoft
    SQL Server 2000 Driver for JDBC\lib\msbase.jar;D:\Program Files\Microsoft SQL
    Server 2000 Driver for JDBC\lib\msutil.jar;D:\Program Files\Microsoft SQL Server
    2000 Driver for JDBC\lib\mssqlserver.jar;I suggest moving or copying the three ms driver jars to a directory that has no blanks
    in it so the classpath doesn't have blanks in it. Ie:
    go to the "D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib"
    directory and do this:
    mkdir D:\microsoft_jdbc_driver
    cp *.jar D:\microsoft_jdbc_driver
    Then make the classpath include D:\microsoft_jdbc_driver\msbase.jar etc.
    Joe
    >
    >
    echo off
    when i save and run the bat file, server appears then disappears.
    Joseph Weinstein <[email protected]_this> wrote:
    khabbab wrote:
    The class path which is echoed at server startup does not include thepaths to
    driver jar files. when i edited the "startweblogic.bat" file and includedthe
    driver class paths to jar files, now the server doesnot even run. tellme what
    to do now???Show me what change you made to the startweblogic file.
    Joe
    Joseph Weinstein <[email protected]_this> wrote:
    khabbab wrote:
    kindly tell me how can i check that the class paths for driver jarfiles are included
    in that string? thanks. also tell me can not i use the jdriver forsql server
    2000?.The startup script will echo what it's doing, including printing out
    the classpath
    it will use. Yes you can use the jDriver for MS SQL2000. It is sufficient
    for
    basic JDBC, but the MS drivfer is preferable in some ways.
    Joe
    Joseph Weinstein <[email protected]_this> wrote:
    khabbab wrote:
    i am using bea weblogic server 6.1, i cant create connection
    pool
    while
    using MS
    SQL Server 2000. i have installed JDBC Driver SAP1 from microsoft
    website.
    when
    i give the following class name for JDBC driver and the connectionurl and click
    apply while selecting the available server, a number of exception
    appears
    in default
    server (that is the connection pool cannot be created..... cannot
    load
    the driver
    class).The server startup script creates a string that will become the
    classpath
    for the server.
    This string is part of the java call to start the server with a-classpath
    argument. You need to
    make sure the MS driver jars are part of that classpath string.
    Joe
    URL= jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MyDB
    Driver= com.microsoft.jdbc.sqlserver.SQLServerDriver
    when i use the above setting in a JDBC simple applicationin Jbuilder
    7.0 the application runs successfully and fetches the data deom
    MS
    SQL database
    but in at Bea connection Pool is not created with these settings.
    i
    do give appropriate
    username and password in properties field in connection pool.
    Thankx
    for any help!
    khabbab wrote:
    The class path which is echoed at server startup does not include thepaths to
    driver jar files. when i edited the "startweblogic.bat" file and includedthe
    driver class paths to jar files, now the server doesnot even run. tellme what
    to do now???
    Joseph Weinstein <[email protected]_this> wrote:
    khabbab wrote:
    kindly tell me how can i check that the class paths for driver jarfiles are included
    in that string? thanks. also tell me can not i use the jdriver forsql server
    2000?.The startup script will echo what it's doing, including printing out
    the classpath
    it will use. Yes you can use the jDriver for MS SQL2000. It is sufficient
    for
    basic JDBC, but the MS drivfer is preferable in some ways.
    Joe
    Joseph Weinstein <[email protected]_this> wrote:
    khabbab wrote:
    i am using bea weblogic server 6.1, i cant create connection
    pool
    while
    using MS
    SQL Server 2000. i have installed JDBC Driver SAP1 from microsoft
    website.
    when
    i give the following class name for JDBC driver and the connectionurl and click
    apply while selecting the available server, a number of exception
    appears
    in default
    server (that is the connection pool cannot be created..... cannot
    load
    the driver
    class).The server startup script creates a string that will become the
    classpath
    for the server.
    This string is part of the java call to start the server with a-classpath
    argument. You need to
    make sure the MS driver jars are part of that classpath string.
    Joe
    URL= jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MyDB
    Driver= com.microsoft.jdbc.sqlserver.SQLServerDriver
    when i use the above setting in a JDBC simple applicationin Jbuilder
    7.0 the application runs successfully and fetches the data deom
    MS
    SQL database
    but in at Bea connection Pool is not created with these settings.
    i
    do give appropriate
    username and password in properties field in connection pool.
    Thankx
    for any help!

  • Problem creating connection pool for Sybase

    I'm trying to create a connection pool with Sybase as the database, as follows:
    weblogic.jdbc.connectionPool.demoPool=\
    url=jdbc:sybase:Tds:10.20.30.50:4100/dbsrvr,\
    driver=com.sybase.jdbc.SybDriver
    initialCapacity=1,\
    maxCapacity=2,\
    capacityIncrement=1,\
    props=user=dbdev;password=dbdev,\
    allow=system
    I get the following error:
    java.sql.SQLException: JZ004: User name property missing in DriverManager.getCon
    nection(..., Properties).
    Any pointers on what's wrong?
    Rgds

    Hi. there's no line continuation stuff after the driver line.
    Try:
    weblogic.jdbc.connectionPool.demoPool=\
    url=jdbc:sybase:Tds:10.20.30.50:4100/dbsrvr,\
    driver=com.sybase.jdbc.SybDriver,\
    initialCapacity=1,\
    maxCapacity=2,\
    capacityIncrement=1,\
    props=user=dbdev;password=dbdev,\
    allow=system
    and make sure there's no whitespace in the properties file after any of
    the '\'s in these lines.
    Joe
    Eeshan wrote:
    >
    I'm trying to create a connection pool with Sybase as the database, as follows:
    weblogic.jdbc.connectionPool.demoPool=\
    url=jdbc:sybase:Tds:10.20.30.50:4100/dbsrvr,\
    driver=com.sybase.jdbc.SybDriver
    initialCapacity=1,\
    maxCapacity=2,\
    capacityIncrement=1,\
    props=user=dbdev;password=dbdev,\
    allow=system
    I get the following error:
    java.sql.SQLException: JZ004: User name property missing in DriverManager.getCon
    nection(..., Properties).
    Any pointers on what's wrong?
    Rgds

  • Connection Pooling in Java Application for interacting with Websphere MQ

    I have following infrastruture at my site.
    1> Machine #1 has below
    - Websphere MQSeries 6.0 (client setup - Slim Client)
    - OS = Windows 2003
    - i/p address : 10.1.11.10
    - Tomcat web server 5.5
    - No Websphere Application Server.
    2> Machine #2 has below
    - Websphere MQSeries 6.0 (Server setup)
    - OS = Windows 2003
    - i/p address : 10.1.11.21
    - Queue Manager Name : qMngr
    - Queue Name (client will put the message) : toServerQ
    - Queue Name (client will get the message) : fromServerQ
    - I have developed the web application in Tomcat web server 5.5 using MQ base classes for accessing the Websphere MQ.
    - Since it is web application there can be atleast 25 request at time.
    i.e. when client#1 request data from queue he must get data related to client#1 only not other than client#1.
    - For accessing the websphere MQ, I am using websphere MQ base classes in Client mode. (Not JMS)
    ==>>>> Source Code as follows
    Class MQInterface (Servlet) is used for getting the web request from user and reply the response in html format.
    public class MQInterface extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    String Output = "";
    System.out.println("!! Entered into Banking Servlet !!");
    String requestParam = request.getParameter("OPRN_CODE");
    if (requestParam.equalsIgnoreCase("GET_NAME_DETAIL")){
         String id = request.getParameter("id");
         Output = MQDataObject().getNameDetail(id);
    return Output;
    response.setContentType("text/html");
         PrintWriter out = response.getWriter();
    out.println(Output);
    Class MQDataObject is used for getting and putting data(message) into Websphere MQ.
    public class MQDataObject {
    private String hostname = "10.1.11.21";
    private String channel = "Chnl1";
    private String qManager = "qMngr1";
    private MQQueueManager qMgr;
    private ISISSSLAdaptor ssl;
    private ISISConfigHelper ConfigHelper;
    private String Output;
    public MQDataObject(){
    MQEnvironment.hostname = hostname;
    MQEnvironment.channel = channel;
    MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
    MQEnvironment.sslCipherSuite = "SSL_RER_WERH_3KIUD_EQW_CRT_SSA";
    try{
    ssl = new DEMOSSLAdaptor("DEMOSSLAdaptor.config");
    ConfigHelper = new ISISConfigHelper("MQConnection.config");
    }catch(Exception exception){
    System.out.println("Exception Details => " + exception);
    public String getNameDetail(String sendMessage){
    MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);
         String msgText = "";
         try
    // Create a connection to the Queue Manager.
    qMgr = new MQQueueManager(qManager);
    // Set up the options on the queue we wish to open
    int openOutOptions = MQC.MQOO_OUTPUT;
    // Specify the queue to open and open option      
    MQQueue sendingQueue = qMgr.accessQueue("toServerQ",openOutOptions,null,null,null);
    // Define the MQ message and write some text in UTF format
    MQMessage sendingMessage = new MQMessage();
    sendingMessage.writeUTF(sendMessage);
    // Specify the message options..
    MQPutMessageOptions pmo = new MQPutMessageOptions();
    // Put message on the queue
    sendingQueue.put(sendingMessage,pmo);      
    // Close Sending Queue
    sendingQueue.close();          
    // Receiving the message back
    // Wait for 5 seconds to get reply from receiving queue
    Thread.sleep(5000);
    // Set up the options on receiving queue we wish to open
    int openInOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
    MQQueue receivingQueue = qMgr.accessQueue("fromServerQ",openInOptions,null,null,null);
    MQMessage receivingMessage = new MQMessage();
    // Set and Get the message options
    MQGetMessageOptions gmo = new MQGetMessageOptions();
    // Receiving the message off the queue.
    receivingQueue.get(receivingMessage,gmo);
    // Get the message from the receiving queue.
    msgText = receivingMessage.readStringOfByteLength(receivingMessage.getMessageLength());
    // Close Receiving Queue
    receivingQueue.close();
    // Close a connection to the Queue Manager.
    qMgr.disconnect();
    // Parse the received message using parser.
    String output = new IFXXMLParser().runExample(msgText);
    catch (MQException mqex){
    System.out.println("MQ Error : " + mqex);
    catch (Exception ex){
    System.out.println("General Error : " + ex);
    return Output;
    The message for sending the receiving is in XML format.
    Could any one help me following in questions.
    1> Since there is 30 request at time so for improve the performance and resources I need to do connection pooling.
    How can I achieve this using base classes.
    2> While retrieving (getting) the message for particular request how can I identify the response message.
    i.e. when client#1 request data from queue he must get data related to client#1 only not other than client#1.      
    because In above scenario there are separate queues for getting the message and putting the message.
    I have read the tutorial on connection pulling but I am little confused.
    i.e. default connection pool and MQSimpleConnectionManager.
    Thanking in Advance
    Sanjeev

    RahulSharna wrote:
    Well my advice would be something different here..
    Can you tell us whether the swing application that you are referring could be used by multiple client machines at the sametime ??
    If yes my advice for you would be a costly affair yet effective.
    Think of seperating your DAO layer from the swing client and you can make an attempt to make a centralized tier where DAO and business services are handled (also ensure that we you use connection pooling with a good tranaction support for building that tier).
    Think of publishing those as services either by using remoting tehnologies like RMI,Burlap, Hessian or as a Webservice.
    All you'd do is implementing respective client in the swing or client application which you are referring to..
    (if you things are too wierd and what is the best solution to go about the below url offers a good solution
    [http://tuscany.apache.org/]
    And in doing this you'd ensure there is not toomuch load on the Database and you'd have a centralized location where you can start tracing the problem.My guess would be that since the OP said that they have a server that they do in fact have a server.

  • JDBC Connection pools and clusters (is max connection for entire cluster?)

    Hi,
    Quick question.
    When using JDBC connection pools in WAS 6.40 (SP13) in a clustered environment. Are the max connections the number
    a)Each application server can use
    b)The entire cluster can use
    Would believe a), but I'd like it confirmed from someoneelse

    Hi Dagfinn,
    your assumption is correct. Therefore, in a cluster environment you'd need to make sure the DB can open <i>Number of nodes X max connections</i>.

  • Why would connection pooling cause problems with a trigger?

    This is a strange one. We have an app that deletes a row in a database table, and this table has a delete trigger on it. The row gets deleted every time the app is run, yet the trigger only fires intermittently. It's not that the trigger is failiing in some way - it just doesn't get called at all. If I issue the same delete command in PL/SQL developer then the trigger fires every time.
    Several hours later and out of desparation I tried turning off connection pooling via the app's connection string, and found that the trigger now fires every time. Any ideas what might be causing this behaviour? I can reproduce/fix the issue every time simply by setting "Pooling" to true or false!
    We are using Oracle 11g and ODP.Net v4.112.2.0.
    Thanks in advance
    Andrew

    More information: I've now been able to reproduce this issue in a small .Net app, and can make it fail in a more consistent manner (which I'll explain later). While it's still too large to post the entire code here, I can summarise what the app does in pseudo-code:-
    for(int i = 1; i <= 10; i++) // Run the test a number of times
    // Step 1 - Delete rows from the table with the delete query in question
    Execute non-query "delete from test_table";
    Wait 1 second
    // Step 2 - Check that the delete actually happened
    Execute reader "select count(*) from test_table"
    Display the count
    // Step 3 - Check that the delete trigger inserted some rows into a "logging" table. This is my method of "tracing" - I added a basic insert to the start of each trigger section, as mentioned in my previous post.
    Execute reader "select count(*) from my_logging_table"
    Display the count
    // Reinstate the test data
    Execute non-query "<insert rows back into test_table>"
    Wait 1 second
    For info the connection string is fairly basic:- "Data Source=<tns name>;User Id=<foo>;Password=<bar>"
    Some points of interest:-
    - When running the above test app, the trigger successfully fires on the very first iteration (i.e. "Step 3" displays a non-zero count from the logging table). All subsequent iterations fail ("Step 3" displays the same count each time).
    - If I turn off connection pooling (by adding "Pooling=false" to the connection string), the trigger runs on every iteration (i.e. "Step 3" displays an ever-incrementing record count).
    - Regardless of whether it works or fails, the deletion in step 1 does take place (confirmed by "Step 2" displaying a count of zero).
    - I added the waits after the non-query calls to see if that made a difference, but it doesn't. I can change these to 10 seconds or more and it will have no effect on the issue.
    The "Execute non-query" method uses code along these lines:-
    using (var conn = new OracleConnection(ConnString))
    conn.Open();
    using (var cmd = conn.CreateCommand())
    cmd.CommandText = sql;
    cmd.CommandType = CommandType.Text;
    result = cmd.ExecuteNonQuery();
    conn.Close();
    return result;
    While the "Execute reader" method looks like this:-
    var conn = new OracleConnection(ConnString);
    conn.Open();
    var cmd = conn.CreateCommand();
    cmd.CommandText = sql;
    cmd.CommandType = CommandType.Text;
    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    The calling code in the for loop, wraps the returned reader in a using clause like this:-
    using (var reader = ExecuteReader("<sql>"))
    This will dispose of the reader, which will in turn close/dispose the connection (due to the CommandBehavior.CloseConnection parameter passed to ExecuteReader).
    Interestingly, if the reader isn't disposed of then the problem becomes more intermittent (the trigger will fire perhaps 25% of the time). This is what's happening in our unit test harness. By ensuring the reader/connection is closed and disposed (which common sense would say should improve matters), the trigger only fires on the very first iteration of the loop. The plot thickens.

  • Database connection pooling with weblogic 8.1.

    Hai All,
    I am new to weblogic database connection pooling.
    I am using Weblogic8.1 and want to use connection pooling to get a jdbc connection. my database server is Oracle 8.1.7.
    Things which i have done using the weblogic admin console.
    I have created a Jdbc connection pool named myconnectionpool.
    I have created a datasource named mydatasource.
    and named the JNDI as myjndi.
    Is the above process correct to create the connection pool in the weblogic8.1.
    I am not aware of the java code to get the database connection object from the connection pool which i have created.
    can any one please let me know the java code to get the connection from the pool.
    Any help is appreciated
    Thanks in advance
    pooja.

    Hai
    I have tried using the code u have mentioned but it returned me
    an error which is below.
    C:\javaexamples\Javaprograms\JDBC>java jdbcexampleconnectionpool
    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    I have added the following lines code, which i read in some weblogic documentation. The code i added is below and it worked fine.
    ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
    Context ctx = new InitialContext(ht);I am not sure what the above code does.
    Can anyone let me know what does the above code do.
    Thanks a lot and i appreciate ur help,
    Pooja.

  • JDBC connection pool failures when used by JMS stores

              We are using WebLogic 6.1 sp2. We defined a separate connection pool for use by
              a JMS Store.
              <JDBCConnectionPool Name="sybaseJMSPool"
              Targets="cluster00"
              InitialCapacity="2"
              MaxCapacity="10"
              DriverName="com.sybase.jdbc2.jdbc.SybDriver"
              Properties="[email protected]@;[email protected]@;charset=utf8"
              URL="jdbc:sybase:Tds:@jms.db.host@/@jms.db.name@"/>
              (note that the @xxx@ string are replaced by actual values).
              We are using Sybase Jconnect 5.5 to a Sybase ASE 12.5 database.
              We deployed this configuration on a number of environments (testing, staging,
              ..). The actual hardware and network configuration is different for the different
              system, but the WebLogic domain stays the same regarding this issue.
              On the test system we frequently get the following exceptions:
              <Aug 13, 2002 1:56:04 PM CEST> <Alert> <JMS> <www00-test> <node00>
              <ExecuteThread: '6' for queue: 'JMS.TimerClientPool'> <> <> <040048>
              <JMSServer "JMSServer00", store failure while writing message for topic
              OrderChangeTopic, java.io.IOException: JMS JDBC store, connection pool =
              <sybaseJMSPool>, prefix = <JMS00>: write failed
              java.sql.SQLException: JZ006: Caught IOException:
              com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
              closed.
              at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
              (ErrorMessage.java:715)
              at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
              at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
              at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
              at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
              (SybStatement.java:1625)
              at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
              (SybPreparedStatement.java:91)
              at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
              (P6LogPreparedStatement.java:179)
              at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
              at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
              at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
              at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              .>
              java.io.IOException: JMS JDBC store, connection pool = <sybaseJMSPool>, prefix
              = <JMS00>: write failed
              java.sql.SQLException: JZ006: Caught IOException:
              com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
              closed.
              at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
              (ErrorMessage.java:715)
              at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
              at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
              at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
              at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
              at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
              (SybStatement.java:1625)
              at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
              (SybPreparedStatement.java:91)
              at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
              (P6LogPreparedStatement.java:179)
              at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
              at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
              at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
              at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              at weblogic.jms.store.JDBCIOStream.throwIOException
              (JDBCIOStream.java:1213)
              at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1256)
              at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
              at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              Before that this message appeared:
              <Aug 13, 2002 11:31:16 AM CEST> <Error> <ConnectionManager> <www00-test>
              <node00> <ExecuteThread: '26' for queue: 'default'> <> <> <000000>
              <Closing: 'weblogic.rjvm.t3.T3JVMConnection@795af6' because of: 'Server
              received a message over an uninitialized connection: 'JVMMessage from: 'null'
              to: '-4555218188801970213S:192.168.13.1:[7001,7001,7002,7002,7001,7002,-
              1]:ADIS:node00' cmd: 'CMD_REQUEST', QOS: '101', responseId: '1',
              invokableId: '287', flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev
              offset: '34'''>
              This problem did not occur on another system which was used during a 2 day stress
              testing session.
              It seems that the problem occurs after a period in which no user request where
              made. The user requests trigger EJB's that start sending JMS messages.
              When the problem occurs, the JMS messaging systems seems to lock up as no messages
              are received anymore by the different listeners (MDBs).
              Undeploying and redeploying the JBDC connection pool solves the problem. This
              solution is unacceptable in case of a production system.
              A similarly defined connection pool, which is used by the EJBs to make database
              connection, does not manifest this problem.
              <JDBCConnectionPool Name="sybasePool"
              Targets="cluster00"
              InitialCapacity="10"
              CapacityIncrement="5"
              MaxCapacity="50"
              PreparedStatementCacheSize="150"
              DriverName="com.sybase.jdbc2.jdbc.SybDriver"
              Properties="[email protected]@;[email protected]@;JCONNECT_VERSION=6;charset=utf8"
              URL="jdbc:sybase:Tds:@db.host@/@db.name@"/>
              The JDBC connection pool is used as follows by the JDBC store
              <JMSJDBCStore ConnectionPool="sybaseJMSPool" Name="JDBCStore00" PrefixName="JMS00"/>
              <JMSServer Name="JMSServer00" Store="JDBCStore00" Targets="node00">
              <JMSTopic JNDIName="ADIS.JMSError" JNDINameReplicated="false" Name="ErrorTopic"/>
              <JMSTopic JNDIName="ADIS.Status"
              Name="StatusTopic" RedeliveryDelayOverride="300000"/>
              <JMSTopic JNDIName="ADIS.OrderChange" JNDINameReplicated="false"
              Name="OrderChangeTopic" RedeliveryLimit="3"/>
              </JMSServer>
              Turning on the "Test Reserved Connection" with a appropriate test table does not
              help.
              Some sources on the internet tell us that JZ0C0 errors in the Jconnect driver
              can be related to network problems. Nevertheless the connection pool should be
              able to cope with this.
              Can you provide any solution for this ? Or give us hints what can cause the problem
              

    Zhenhao Qi wrote:
    thanks! Joe.
    The SQL statement itself can no longer be simplified, the long excuation time is due to the database size and complicated Select criteria. I can easily reproduce the problem by using this SQL. I tried "BEA's Oracle driver (Type 4): Version 8.1.7,9.0.1,9.2.0". the question can be dissect into 2 pieces:
    1) why the jdbc connection (using oracle.jdbc.OracleDriver) won't return anything if the SQL execution time > 5min, that is probably the Oracle's problem
    2) why the occupied connection pool won't release even I set "Statementtimeout=600", this is Weblogic's problem.
    ZhenhaoHi. Yes, (1) is oracle's problem. (2) may also be. The JDBC spec has very few
    allowances for one thread to interrupt a second thread's JDBC call. If we
    transmit your timeout request by calling setQueryTimeout() on the oracle
    statement, and if you have a weblogic-controlled transaction we call
    Statement.cancel() on any ongoing statement, we end up relying on whether
    the Oracle driver implements and responds to those calls.
    Are you doing weblogic-controlled transactions? Are you/can you
    call Statement.setQueryTimeout() on your statements, or are these
    generated JDBC queries?
    If you can duplicate the problem using the weblogic.jdbc.oracle.OracleDriver
    we have some other debug avenues. This would be good even if you really
    want to use the thin driver, because we will do the same JDBC calls to
    either driver, and the debug would prove (if) we set up a query timeout
    and if we call cancel(). If we do, then we can know that it is the Oracle
    driver failing in these regards.
    Joe

  • Can't startup connection pool

    Hi All,
    I have defined a connection pool to Sybase ASE 12.0. On WLS startup, the connection
    fails due to a login failure. Needless to say, the user and passwords are absolutely
    the right ones. IN included the def for the pool (config.xml) and the log output
    below. Any ideas?
    From config.xml:
    <JDBCConnectionPool
         DriverName="com.sybase.jdbc.SybDriver"
    Name="egate2-pool"
    Password="none"
    Properties="user=mfinn;password=mfi123"
    URL="jdbc:sybase:Tds:egate2.dev.east.frontiercorp.com:4100"
    CapacityIncrement="1"
         InitialCapacity="1"
         MaxCapacity="2"
         RefreshMinutes="0"
         ShrinkPeriodMinutes="15"
         ShrinkingEnabled="true"
         Targets="mjf375"
         TestConnectionsOnRelease="false"
         TestConnectionsOnReserve="false"
    />
    <JDBCDataSource
         JNDIName="egate2-jdbcds"
         Name="egate2"
    PoolName="egate2-pool"
    RowPrefetchEnabled="false"
    StreamChunkSize="256"
    />
    From weblogic.log:
    ####<Jul 10, 2001 12:24:16 PM EDT> <Error> <JDBC> <egatedev1> <mjf375> <main>
    <system> <> <001060> <Cannot startup connection pool "egate2-pool" weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings chained to
    this exception for the reason(s).
         at com.sybase.jdbc.ErrorMessage.raiseError(ErrorMessage.java)
         at com.sybase.tds.Tds.processLoginAckToken(Tds.java)
         at com.sybase.tds.Tds.doLogin(Tds.java)
         at com.sybase.tds.Tds.login(Tds.java)
         at com.sybase.jdbc.SybConnection.<init>(SybConnection.java)
         at com.sybase.jdbc.SybDriver.connect(SybDriver.java)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:188)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:130)
         at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:707)
         at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.ja
    TIA,
    Mike

    Hi Mike. Don't specify the password except
    as you have done in the properties. Let me
    know...
    Joe
    Mike wrote:
    >
    Just to add:
    1) I can login to the same URL (same login and password) from a standalone app
    using the com.sybase.jdbc.SybDriver in the weblogic.jar. This is with user/password
    being set in a properties object, as I assume is happening in WLS when the connection
    is attempted. IOW, I am using getConnection(url,props) as opposed to getConnection(url,user,passwd,props).
    2) The problem stated below also applies against a ASE 11.9.2 server.
    Mike
    "Mike" <[email protected]> wrote:
    Hi All,
    I have defined a connection pool to Sybase ASE 12.0. On WLS startup,
    the connection
    fails due to a login failure. Needless to say, the user and passwords
    are absolutely
    the right ones. IN included the def for the pool (config.xml) and the
    log output
    below. Any ideas?
    From config.xml:
    <JDBCConnectionPool
    DriverName="com.sybase.jdbc.SybDriver"
    Name="egate2-pool"
    Password="none"
    Properties="user=mfinn;password=mfi123"
    URL="jdbc:sybase:Tds:egate2.dev.east.frontiercorp.com:4100"
    CapacityIncrement="1"
    InitialCapacity="1"
    MaxCapacity="2"
    RefreshMinutes="0"
    ShrinkPeriodMinutes="15"
    ShrinkingEnabled="true"
    Targets="mjf375"
    TestConnectionsOnRelease="false"
    TestConnectionsOnReserve="false"
    />
    <JDBCDataSource
    JNDIName="egate2-jdbcds"
    Name="egate2"
    PoolName="egate2-pool"
    RowPrefetchEnabled="false"
    StreamChunkSize="256"
    />
    From weblogic.log:
    ####<Jul 10, 2001 12:24:16 PM EDT> <Error> <JDBC> <egatedev1> <mjf375>
    <main>
    <system> <> <001060> <Cannot startup connection pool "egate2-pool" weblogic.common.ResourceException:
    Could not create pool connection. The DBMS driver exception was:
    java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings
    chained to
    this exception for the reason(s).
    at com.sybase.jdbc.ErrorMessage.raiseError(ErrorMessage.java)
    at com.sybase.tds.Tds.processLoginAckToken(Tds.java)
    at com.sybase.tds.Tds.doLogin(Tds.java)
    at com.sybase.tds.Tds.login(Tds.java)
    at com.sybase.jdbc.SybConnection.<init>(SybConnection.java)
    at com.sybase.jdbc.SybDriver.connect(SybDriver.java)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:188)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:130)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:707)
    at weblogic.common.internal.ResourceAllocator.<init>(ResourceAllocator.ja
    TIA,
    Mike
    PS: Folks: BEA WebLogic is expanding rapidly, with both entry and advanced positions
    for people who want to work with Java, XML, SOAP and E-Commerce infrastructure products.
    We have jobs at Nashua NH, Liberty Corner NJ, San Francisco and San Jose CA.
    Send resumes to [email protected]

  • Connection Pooling and JSP Custom Tag Library - is code (inside) the best way/correc?

    Hi, can anyone advise as to whether my tag library code (based
    on Apache Jakarta Project) will actually achieve connection
    pooling functionality across my entire JSP based application? I
    am slightly concerned that my OracleConnectionCacheImpl object
    may exist multiple times, hence rendering my conection pooling
    attempt useless.
    package com.solved.tag.dbtags.connection;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import javax.servlet.jsp.tagext.TagSupport;
    import javax.servlet.jsp.JspTagException;
    import javax.sql.DataSource;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import oracle.jdbc.pool.OracleConnectionCacheImpl;
    * <p>JSP tag connection, used to get a
    * java.sql.Connection object.</p>
    * <p>JSP Tag Lib Descriptor
    * <pre>
    * &lt;name>connection&lt;/name>
    &lt;tagclass>com.solved.tag.dbtags.connection.ConnectionTag&lt;/t
    agclass>
    * &lt;bodycontent>JSP&lt;/bodycontent>
    &lt;teiclass>com.solved.tag.dbtags.connection.ConnectionTEI&lt;/t
    eiclass>
    * &lt;info>Opens a connection based on a jndiName.&lt;/info>
    * &lt;attribute>
    * &lt;name>id&lt;/name>
    * &lt;required>true&lt;/required>
    * &lt;rtexprvalue>false&lt;/rtexprvalue>
    * &lt;/attribute>
    * </pre>
    * @author Matt Shannon
    public class ConnectionTag extends TagSupport {
    static private OracleConnectionCacheImpl cache = null;
    public int doStartTag() throws JspTagException {
    try {
    Connection conn = null;
    if (cache == null) {
    try {
    InitialContext ic = new InitialContext();
    DataSource ds = (DataSource) ic.lookup
    ("jdbc/pool/OracleCache");
    cache = (OracleConnectionCacheImpl)ds;
    catch (NamingException ne) {
    throw new JspTagException(ne.toString());
    conn = cache.getConnection();
    pageContext.setAttribute(getId(),conn);
    catch (SQLException e) {
    throw new JspTagException(e.toString());
    return EVAL_BODY_INCLUDE;
    package com.solved.tag.dbtags.connection;
    import java.sql.Connection;
    import java.sql.SQLException;
    import javax.servlet.jsp.tagext.TagSupport;
    * <p>JSP tag closeconnection, used to close the
    * specified java.sql.Connection.<p>
    * <p>JSP Tag Lib Descriptor
    * <pre>
    * &lt;name>closeConnection&lt;/name>
    &lt;tagclass>com.solved.tag.dbtags.connection.CloseConnectionTag&
    lt;/tagclass>
    * &lt;bodycontent>empty&lt;/bodycontent>
    * &lt;info>Close the specified connection. The "conn"
    attribute is the name of a
    * connection object in the page context.&lt;/info>
    * &lt;attribute>
    * &lt;name>conn&lt;/name>
    * &lt;required>true&lt;/required>
    * &lt;rtexprvalue>false&lt;/rtexprvalue>
    * &lt;/attribute>
    * </pre>
    * @author Matt Shannon
    * @see ConnectionTag
    public class CloseConnectionTag extends TagSupport {
    private String _connId = null;
    * The "conn" attribute is the name of a
    * page context object containing a
    * java.sql.Connection.
    * @param connectionId
    * attribute name of the java.sql.Connection to
    close.
    * @see ConnectionTag
    public void setConn(String connectionId) {
    _connId = connectionId;
    public int doStartTag() {
    try {
    Connection conn = (Connection)pageContext.getAttribute
    (_connId);
    conn.close();
    } catch (SQLException e) {
    // failing to close a connection is not fatal
    e.printStackTrace();
    return EVAL_BODY_INCLUDE;
    public void release() {
    _connId = null;
    package com.solved.tag.dbtags.connection;
    import javax.servlet.jsp.tagext.TagData;
    import javax.servlet.jsp.tagext.TagExtraInfo;
    import javax.servlet.jsp.tagext.VariableInfo;
    * TagExtraInfo for the connection tag. This
    * TagExtraInfo specifies that the ConnectionTag
    * assigns a java.sql.Connection object to the
    * "id" attribute at the end tag.
    * @author Matt Shannon
    * @see ConnectionTag
    public class ConnectionTEI extends TagExtraInfo {
    public final VariableInfo[] getVariableInfo(TagData data)
    return new VariableInfo[]
    new VariableInfo(
    data.getAttributeString("id"),
    "java.sql.Connection",
    true,
    VariableInfo.AT_END
    data-sources.xml:
    <?xml version="1.0"?>
    <!DOCTYPE data-sources PUBLIC "Orion data-
    sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
    <data-sources>
    <data-source
    class="oracle.jdbc.pool.OracleConnectionCacheImpl"
    name="jdbc/pool/OracleCache"
    location="jdbc/pool/OracleCache"
    url="jdbc:oracle:thin:@oracle1:1521:pdev"
    >
    <property name="maxLimit" value="15" />
    <property name="cacheScheme" value="2" />
    <property name="user" value="console" />
    <property name="password" value="console" />
    <description>
    This DataSource is using an Oracle-native DataSource Class so as
    to allow Oracle Specific extensions.
    A getConnection() call on this DataSource will return
    oracle.jdbc.driver.OracleConnection.
    The connection returned is a logical connection.
    The caching scheme in place is Fixed Wait. Refer below to
    possible values.
    Dynamic 1
    Fixed Wait 2
    Fixed Return Null 3
    </description>
    </data-source>
    </data-sources>
    many thanks,
    Matt.

    Hi. Show me your pool definition.
    Joe
    Ramamurthy wrote:
    I am using the jsp custom tag library from BEA called sqltags.tld which came with Weblogic 5.1. Currently I am using Weblogic6.1 sp2 on Solaris.
    I have created a Connection Pool for Sybase database using the driver com.sybase.jdbc.SybDriver.
    When I created jsp page to connect to the connection pool using sqltags custom tag library, I am getting the error
    "javax.servlet.jsp.JspException: Failed to write body content
    at weblogic.taglib.sql.ConnectionTag.doAfterBody(ConnectionTag.java:43)
    at jsp_servlet.__hubwcdata._jspService(__sampletest.java:1014)"
    After this message, whenever I try to access the same jsp page I am getting the message
    "javax.servlet.jsp.JspException: Failed to load JDBC driver: weblogic.jdbc.pool.D
    river
    at weblogic.taglib.sql.ConnectionTag.doStartTag(ConnectionTag.java:34)
    at jsp_servlet.__hubwcdata._jspService(__sampletest.java:205)".
    Can you please help me the reason why this problem is happening and how to fix this ?
    This problem doexn't happen consistently. This occurs once in a while.
    I tried to increase Login delay Seconds parameter in the Connection Pool to 15 sec. It didn't help me much.
    Thanks for your help !!!
    Ram

  • [原创] 有关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!

  • Server Crash from Db2 XA Connection Pool

    We are running WLS 6.1 sp2 on Redhat Linux 7.2
    and using a XA Connection pool with Type 2 DB2 XA Driver.
    <JDBCConnectionPool
    Name="TXBusobj" Targets="jeeva_adminServer"
    InitialCapacity="0" CapacityIncrement="2" MaxCapacity="15" RefreshMinutes="5"
    DriverName="COM.ibm.db2.jdbc.DB2XADataSource" Password="db2" URL="jdbc:db2/TEST_REP"
    Properties="user=db2as;password=db2;DatabaseName=TEST_REP"
    TestConnectionsOnReserve="false"
    TestTableName="SYSIBM.SYSDUMMY1"/>
    The application works fine with out the above XA Connection pool.
    After adding the connection pool the server randomly crashes with Signal 11 from
    JVM.
    We are using 1.3.1_04 and also tried with 1.3.1_11
    Following is the stack trace:
    # Problematic Thread: prio=1 tid=0xabb6768 nid=0xa05 runnable
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : 11 occurred at PC=0x0
    Function name=(N/A)
    Library=(N/A)
    NOTE: We are unable to locate the function name symbol for the error
    just occurred. Please refer to release documentation for possible
    reason and solutions.
    Current Java thread:
    at java.util.zip.ZipFile.getEntry(ZipFile.java:141)
    at java.util.jar.JarFile.getEntry(JarFile.java:176)
    at java.util.jar.JarFile.getJarEntry(JarFile.java:163)
    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:546)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:133)
    at java.net.URLClassLoader$2.run(URLClassLoader.java:344)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findResource(URLClassLoader.java:341)
    at java.lang.ClassLoader.getResource(ClassLoader.java:766)
    at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:927)
    at java.util.ResourceBundle$1.run(ResourceBundle.java:931)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.ResourceBundle.loadBundle(ResourceBundle.java:927)
    at java.util.ResourceBundle.findBundle(ResourceBundle.java:786)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:616)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:570)
    at weblogic.i18ntools.L10nLookup.getLocalizer(L10nLookup.java:299)
    at weblogic.logging.LogManager.log(LogManager.java:230)
    at weblogic.logging.MessageLogger.log(MessageLogger.java:17)
    at weblogic.jdbc.JDBCLogger.logSleepingInCreateResourceInfo(JDBCLogger.java:1060)
    at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:69)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:511)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:400)
    at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:390)
    at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:164)
    at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:118)
    at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1152)
    at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:679)
    at weblogic.jdbc.jta.DataSource.recover(DataSource.java:887)
    at weblogic.transaction.internal.ServerResourceInfo.recover(ServerResourceInfo.java:786)
    at weblogic.transaction.internal.ServerSCInfo.recover(ServerSCInfo.java:283)
    at weblogic.transaction.internal.ResourceDescriptor.getXidsToBeRolledBack(ResourceDescriptor.java:1112)
    at weblogic.transaction.internal.ResourceDescriptor.recover(ResourceDescriptor.java:1046)
    at weblogic.transaction.internal.ResourceDescriptor.access$9(ResourceDescriptor.java:1029)
    at weblogic.transaction.internal.ResourceDescriptor$1.execute(ResourceDescriptor.java:770)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Dynamic libraries:
    08048000-0804c000 r-xp 00000000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
    0804c000-0804d000 rw-p 00003000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
    40000000-40015000 r-xp 00000000 03:03 496100 /lib/ld-2.2.4.so
    40015000-40016000 rw-p 00014000 03:03 496100 /lib/ld-2.2.4.so
    40017000-40018000 r--p 00000000 03:02 288014 /usr/lib/locale/en_US/LC_IDENTIFICATION
    40018000-40019000 r--p 00000000 03:02 544149 /usr/lib/locale/en_US/LC_MEASUREMENT
    40019000-4001a000 r--p 00000000 03:02 48241 /usr/lib/locale/en_US/LC_TELEPHONE
    4001a000-4001b000 r--p 00000000 03:02 48430 /usr/lib/locale/en_US/LC_ADDRESS
    4001b000-4001c000 r--p 00000000 03:02 48429 /usr/lib/locale/en_US/LC_NAME
    4001c000-4001d000 r--p 00000000 03:02 112040 /usr/lib/locale/en_US/LC_PAPER
    4001d000-4002c000 r-xp 00000000 03:03 496046 /lib/libpthread-0.9.so
    4002c000-40034000 rw-p 0000e000 03:03 496046 /lib/libpthread-0.9.so
    40034000-4003d000 r-xp 00000000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
    4003d000-4003e000 rw-p 00008000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
    4003e000-40243000 r-xp 00000000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
    40243000-40344000 rw-p 00204000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
    4035b000-4035d000 r-xp 00000000 03:03 496014 /lib/libdl-2.2.4.so
    4035d000-4035f000 rw-p 00001000 03:03 496014 /lib/libdl-2.2.4.so
    40360000-4048c000 r-xp 00000000 03:03 496010 /lib/libc-2.2.4.so
    4048c000-40492000 rw-p 0012b000 03:03 496010 /lib/libc-2.2.4.so
    40496000-404a9000 r-xp 00000000 03:03 496019 /lib/libnsl-2.2.4.so
    404a9000-404ab000 rw-p 00012000 03:03 496019 /lib/libnsl-2.2.4.so
    404ad000-404ce000 r-xp 00000000 03:03 496016 /lib/libm-2.2.4.so
    404ce000-404cf000 rw-p 00020000 03:03 496016 /lib/libm-2.2.4.so
    404cf000-40503000 r-xp 00000000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    40503000-4050f000 rw-p 00033000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    40512000-40523000 r-xp 00000000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
    40523000-40525000 rw-p 00010000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
    40525000-40546000 r-xp 00000000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
    40546000-40548000 rw-p 00020000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
    40549000-4055d000 r-xp 00000000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
    4055d000-40560000 rw-p 00013000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
    40560000-41296000 r--s 00000000 03:02 384740 /usr/java/jdk1.3.1_04/jre/lib/rt.jar
    412c3000-415ba000 r--s 00000000 03:02 384738 /usr/java/jdk1.3.1_04/jre/lib/i18n.jar
    415ba000-415d0000 r--s 00000000 03:02 384745 /usr/java/jdk1.3.1_04/jre/lib/sunrsasign.jar
    415d0000-415f4000 r--s 00000000 03:09 33023 /weblogic/wlserver6.1/config/blue2/lib/pja.jar
    415f4000-41606000 r--s 00000000 03:02 160797 /usr/local/OptimizeitSuite55/lib/oibcp.jar
    436ae000-436af000 r--p 00000000 03:02 384071 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
    436af000-436b0000 r--p 00000000 03:02 544108 /usr/lib/locale/en_US/LC_MONETARY
    4d740000-4d76b000 r--p 00000000 03:02 592102 /usr/lib/locale/en_US/LC_CTYPE
    4d76b000-4d771000 r--p 00000000 03:02 464163 /usr/lib/locale/en_US/LC_COLLATE
    4d771000-4d772000 r--p 00000000 03:02 288192 /usr/lib/locale/en_US/LC_TIME
    4d772000-4d773000 r--p 00000000 03:02 592098 /usr/lib/locale/en_US/LC_NUMERIC
    4d773000-4d775000 r--s 00000000 03:02 352729 /usr/java/jdk1.3.1_04/jre/lib/ext/jcert.jar
    4d775000-4d776000 r--s 00000000 03:02 352731 /usr/java/jdk1.3.1_04/jre/lib/ext/jnet.jar
    4d776000-4d778000 r--s 00000000 03:09 33018 /weblogic/wlserver6.1/config/blue2/lib/CR082443_61sp2.jar
    4d778000-4d779000 r--s 00000000 03:09 33017 /weblogic/wlserver6.1/config/blue2/lib/db2jcc_license_cu.jar
    4d779000-4d782000 r-xp 00000000 03:03 496035 /lib/libnss_files-2.2.4.so
    4d782000-4d784000 rw-p 00008000 03:03 496035 /lib/libnss_files-2.2.4.so
    4d784000-4d7b1000 r-xp 00000000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
    4d7b1000-4d7b3000 rw-p 0002c000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
    4d7b7000-4d829000 r--s 00000000 03:02 352730 /usr/java/jdk1.3.1_04/jre/lib/ext/jsse.jar
    4d829000-4dd78000 r--s 00000000 03:09 33025 /weblogic/wlserver6.1/config/blue2/lib/CR061106_61sp2.jar
    4dd78000-4dd7c000 r--s 00000000 03:09 33021 /weblogic/wlserver6.1/config/blue2/lib/CR067966_610sp2.jar
    4dd7c000-4dd7f000 r--s 00000000 03:09 33024 /weblogic/wlserver6.1/config/blue2/lib/CR064117_61sp2.jar
    4dd7f000-4dd82000 r--s 00000000 03:09 33028 /weblogic/wlserver6.1/config/blue2/lib/CR060018_610sp2.jar
    4dd82000-4dd84000 r--s 00000000 03:09 33026 /weblogic/wlserver6.1/config/blue2/lib/CR058352_61sp2.jar
    4dd84000-4dd89000 r--s 00000000 03:09 33019 /weblogic/wlserver6.1/config/blue2/lib/rdbmsRealm.jar
    4dd89000-4dda8000 r--s 00000000 03:09 33022 /weblogic/wlserver6.1/config/blue2/lib/xmlParserAPIs.jar
    4dda8000-4de81000 r--s 00000000 03:09 33027 /weblogic/wlserver6.1/config/blue2/lib/xercesImpl.jar
    4de81000-4dff7000 r--s 00000000 03:09 33016 /weblogic/wlserver6.1/config/blue2/lib/db2java.zip
    4dff7000-4e0d3000 r--s 00000000 03:09 33020 /weblogic/wlserver6.1/config/blue2/lib/db2jcc.jar
    4e0d3000-4e553000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
    4e553000-4fdcd000 r--s 00000000 03:09 229395 /weblogic/wlserver6.1/lib/weblogic.jar
    4fe2d000-4ff04000 r--s 00000000 03:09 229399 /weblogic/wlserver6.1/lib/xmlx.jar
    4ff04000-50265000 r--s 00000000 03:02 160793 /usr/local/OptimizeitSuite55/lib/optit.jar
    502d1000-502da000 r-xp 00000000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
    502da000-502db000 rw-p 00008000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
    502db000-50316000 r-xp 00000000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
    50316000-50317000 rw-p 0003a000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
    5031f000-50323000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
    50325000-5032f000 r-xp 00000000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
    5032f000-50330000 rw-p 00009000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
    50331000-50334000 r-xp 00000000 03:03 496032 /lib/libnss_dns-2.2.4.so
    50334000-50336000 rw-p 00002000 03:03 496032 /lib/libnss_dns-2.2.4.so
    50336000-5033a000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
    5033a000-5033d000 r--s 00000000 03:09 98634 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal2/cls50095.jar
    5033d000-50340000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
    50361000-50392000 r-xp 00000000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
    50392000-50394000 rw-p 00030000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
    50394000-50397000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
    50397000-5039a000 r--s 00000000 03:09 49447 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal1/cls50099.jar
    5039a000-503a0000 r-xp 00000000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
    503a0000-503a2000 rw-p 00005000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
    503c3000-503d1000 r-xp 00000000 03:03 496048 /lib/libresolv-2.2.4.so
    503d1000-503d2000 rw-p 0000d000 03:03 496048 /lib/libresolv-2.2.4.so
    503d5000-503e3000 r--s 00000000 03:09 49459 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/messaging50109.jar
    504a5000-504ed000 r-xp 00000000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
    504ed000-504f1000 rw-p 00047000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
    504f1000-504fd000 r-xp 00000000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
    504fd000-504ff000 rw-p 0000b000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
    50600000-50604000 r-xp 00000000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
    50604000-50606000 rw-p 00003000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
    50606000-5060d000 r-xp 00000000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
    5060d000-5060f000 rw-p 00006000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
    5060f000-50623000 r-xp 00000000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
    50623000-50624000 rw-p 00013000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
    506e9000-506fe000 r--s 00000000 03:09 49460 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/controller50110.jar
    50800000-5081b000 r-xp 00000000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
    5081b000-50820000 rw-p 0001a000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
    50827000-50829000 r-xp 00000000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
    50829000-5082a000 rw-p 00001000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
    5082a000-50831000 r-xp 00000000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
    50831000-50836000 rw-p 00006000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
    50863000-508aa000 r--s 00000000 03:09 49458 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/utils50108.jar
    508aa000-508b2000 r--s 00000000 03:09 49455 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/org50105.jar
    508b2000-508ba000 r--s 00000000 03:09 49461 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/aspectjrt50111.jar
    508ba000-508d0000 r--s 00000000 03:09 49454 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/security50104.jar
    508d0000-508ef000 r--s 00000000 03:09 49453 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/persistence50103.jar
    508ef000-508f8000 r--s 00000000 03:09 49457 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/caching50107.jar
    50d02000-50d9d000 r--s 00000000 03:09 49463 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/iText50113.jar
    50d9d000-50e33000 r--s 00000000 03:09 49466 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/jsTMP50116.jar
    50e33000-50e8a000 r--s 00000000 03:09 49465 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/log4j50115.jar
    50e8a000-50ee3000 r--s 00000000 03:09 49464 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/trove50114.jar
    50f65000-50f96000 r-xp 00000000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
    50f96000-50fd6000 rw-p 00030000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
    510e7000-51136000 r-xp 00000000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
    51136000-51155000 rw-p 0004e000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
    51155000-5115a000 r-xp 00000000 03:03 496012 /lib/libcrypt-2.2.4.so
    5115a000-5115b000 rw-p 00004000 03:03 496012 /lib/libcrypt-2.2.4.so
    51182000-51193000 r-xp 00000000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
    51193000-511a0000 rw-p 00010000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
    511a0000-511da000 r-xp 00000000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
    511da000-51221000 rw-p 00039000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
    51234000-5125a000 r-xp 00000000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
    5125a000-51277000 rw-p 00025000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
    512ea000-516b8000 r-xp 00000000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
    516b8000-516c8000 rw-p 003cd000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
    516dd000-517ce000 r-xp 00000000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
    517ce000-517d3000 rw-p 000f0000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
    517d3000-517f1000 r--s 00000000 03:09 49456 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/adminfw50106.jar
    52300000-526ea000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
    526ea000-52ad4000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
    52ad4000-52b2f000 r--s 00000000 03:09 49452 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/sysadmin50102.jar
    52b2f000-52c0b000 r--s 00000000 03:09 49462 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/db2jcc50112.jar
    53700000-53b80000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
    54300000-54691000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
    54a00000-54d91000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
    58909000-590cc000 r-xp 00000000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
    590cc000-5967e000 rw-p 007c2000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
    Local Time = Wed May 26 16:44:53 2004
    Elapsed Time = 387
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode)
    # An error report file has been saved as hs_err_pid2565.log.
    # Please refer to the file for further information.

    Attached the Profiler snapshot of the connection classes.
    There seem to be large instances of weblogic.jdbc.Connection
    Joe Weinstein <[email protected]> wrote:
    >
    >
    Jeeva wrote:
    We are running WLS 6.1 sp2 on Redhat Linux 7.2
    and using a XA Connection pool with Type 2 DB2 XA Driver.The type-2 driver is killing the JVM process with a bug in it's
    native code. It seems to be failing randomly at runtime while
    your pool is trying to make jdbc connections. You may be able
    to avoid this if you will define your pool to make all it's
    connections at startup. Ie: init capacity = max capacity.
    Java is so much safer. If you can use a type-4 driver it
    can't kill the JVM...
    Joe
    <JDBCConnectionPool
    Name="TXBusobj" Targets="jeeva_adminServer"
    InitialCapacity="0" CapacityIncrement="2" MaxCapacity="15"RefreshMinutes="5"
    DriverName="COM.ibm.db2.jdbc.DB2XADataSource" Password="db2"URL="jdbc:db2/TEST_REP"
    Properties="user=db2as;password=db2;DatabaseName=TEST_REP"
    TestConnectionsOnReserve="false"
    TestTableName="SYSIBM.SYSDUMMY1"/>
    The application works fine with out the above XA Connection pool.
    After adding the connection pool the server randomly crashes with Signal11 from
    JVM.
    We are using 1.3.1_04 and also tried with 1.3.1_11
    Following is the stack trace:
    # Problematic Thread: prio=1 tid=0xabb6768 nid=0xa05 runnable
    An unexpected exception has been detected in native code outside theVM.
    Unexpected Signal : 11 occurred at PC=0x0
    Function name=(N/A)
    Library=(N/A)
    NOTE: We are unable to locate the function name symbol for the error
    just occurred. Please refer to release documentation for possible
    reason and solutions.
    Current Java thread:
    at java.util.zip.ZipFile.getEntry(ZipFile.java:141)
    at java.util.jar.JarFile.getEntry(JarFile.java:176)
    at java.util.jar.JarFile.getJarEntry(JarFile.java:163)
    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:546)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:133)
    at java.net.URLClassLoader$2.run(URLClassLoader.java:344)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findResource(URLClassLoader.java:341)
    at java.lang.ClassLoader.getResource(ClassLoader.java:766)
    at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:927)
    at java.util.ResourceBundle$1.run(ResourceBundle.java:931)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.ResourceBundle.loadBundle(ResourceBundle.java:927)
    at java.util.ResourceBundle.findBundle(ResourceBundle.java:786)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:616)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:570)
    at weblogic.i18ntools.L10nLookup.getLocalizer(L10nLookup.java:299)
    at weblogic.logging.LogManager.log(LogManager.java:230)
    at weblogic.logging.MessageLogger.log(MessageLogger.java:17)
    at weblogic.jdbc.JDBCLogger.logSleepingInCreateResourceInfo(JDBCLogger.java:1060)
    at weblogic.jdbc.common.internal.XAConnectionEnvFactory.createResource(XAConnectionEnvFactory.java:69)
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:698)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:511)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:400)
    at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:390)
    at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:164)
    at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:118)
    at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1152)
    at weblogic.jdbc.jta.DataSource.getXAResource(DataSource.java:679)
    at weblogic.jdbc.jta.DataSource.recover(DataSource.java:887)
    at weblogic.transaction.internal.ServerResourceInfo.recover(ServerResourceInfo.java:786)
    at weblogic.transaction.internal.ServerSCInfo.recover(ServerSCInfo.java:283)
    at weblogic.transaction.internal.ResourceDescriptor.getXidsToBeRolledBack(ResourceDescriptor.java:1112)
    at weblogic.transaction.internal.ResourceDescriptor.recover(ResourceDescriptor.java:1046)
    at weblogic.transaction.internal.ResourceDescriptor.access$9(ResourceDescriptor.java:1029)
    at weblogic.transaction.internal.ResourceDescriptor$1.execute(ResourceDescriptor.java:770)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Dynamic libraries:
    08048000-0804c000 r-xp 00000000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
    0804c000-0804d000 rw-p 00003000 03:02 464716 /usr/java/jdk1.3.1_04/bin/i386/native_threads/java
    40000000-40015000 r-xp 00000000 03:03 496100 /lib/ld-2.2.4.so
    40015000-40016000 rw-p 00014000 03:03 496100 /lib/ld-2.2.4.so
    40017000-40018000 r--p 00000000 03:02 288014 /usr/lib/locale/en_US/LC_IDENTIFICATION
    40018000-40019000 r--p 00000000 03:02 544149 /usr/lib/locale/en_US/LC_MEASUREMENT
    40019000-4001a000 r--p 00000000 03:02 48241 /usr/lib/locale/en_US/LC_TELEPHONE
    4001a000-4001b000 r--p 00000000 03:02 48430 /usr/lib/locale/en_US/LC_ADDRESS
    4001b000-4001c000 r--p 00000000 03:02 48429 /usr/lib/locale/en_US/LC_NAME
    4001c000-4001d000 r--p 00000000 03:02 112040 /usr/lib/locale/en_US/LC_PAPER
    4001d000-4002c000 r-xp 00000000 03:03 496046 /lib/libpthread-0.9.so
    4002c000-40034000 rw-p 0000e000 03:03 496046 /lib/libpthread-0.9.so
    40034000-4003d000 r-xp 00000000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
    4003d000-4003e000 rw-p 00008000 03:02 144730 /usr/java/jdk1.3.1_04/jre/lib/i386/native_threads/libhpi.so
    4003e000-40243000 r-xp 00000000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
    40243000-40344000 rw-p 00204000 03:02 272604 /usr/java/jdk1.3.1_04/jre/lib/i386/client/libjvm.so
    4035b000-4035d000 r-xp 00000000 03:03 496014 /lib/libdl-2.2.4.so
    4035d000-4035f000 rw-p 00001000 03:03 496014 /lib/libdl-2.2.4.so
    40360000-4048c000 r-xp 00000000 03:03 496010 /lib/libc-2.2.4.so
    4048c000-40492000 rw-p 0012b000 03:03 496010 /lib/libc-2.2.4.so
    40496000-404a9000 r-xp 00000000 03:03 496019 /lib/libnsl-2.2.4.so
    404a9000-404ab000 rw-p 00012000 03:03 496019 /lib/libnsl-2.2.4.so
    404ad000-404ce000 r-xp 00000000 03:03 496016 /lib/libm-2.2.4.so
    404ce000-404cf000 rw-p 00020000 03:03 496016 /lib/libm-2.2.4.so
    404cf000-40503000 r-xp 00000000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    40503000-4050f000 rw-p 00033000 03:02 64413 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    40512000-40523000 r-xp 00000000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
    40523000-40525000 rw-p 00010000 03:02 512622 /usr/java/jdk1.3.1_04/jre/lib/i386/libverify.so
    40525000-40546000 r-xp 00000000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
    40546000-40548000 rw-p 00020000 03:02 512614 /usr/java/jdk1.3.1_04/jre/lib/i386/libjava.so
    40549000-4055d000 r-xp 00000000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
    4055d000-40560000 rw-p 00013000 03:02 512623 /usr/java/jdk1.3.1_04/jre/lib/i386/libzip.so
    40560000-41296000 r--s 00000000 03:02 384740 /usr/java/jdk1.3.1_04/jre/lib/rt.jar
    412c3000-415ba000 r--s 00000000 03:02 384738 /usr/java/jdk1.3.1_04/jre/lib/i18n.jar
    415ba000-415d0000 r--s 00000000 03:02 384745 /usr/java/jdk1.3.1_04/jre/lib/sunrsasign.jar
    415d0000-415f4000 r--s 00000000 03:09 33023 /weblogic/wlserver6.1/config/blue2/lib/pja.jar
    415f4000-41606000 r--s 00000000 03:02 160797 /usr/local/OptimizeitSuite55/lib/oibcp.jar
    436ae000-436af000 r--p 00000000 03:02 384071 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
    436af000-436b0000 r--p 00000000 03:02 544108 /usr/lib/locale/en_US/LC_MONETARY
    4d740000-4d76b000 r--p 00000000 03:02 592102 /usr/lib/locale/en_US/LC_CTYPE
    4d76b000-4d771000 r--p 00000000 03:02 464163 /usr/lib/locale/en_US/LC_COLLATE
    4d771000-4d772000 r--p 00000000 03:02 288192 /usr/lib/locale/en_US/LC_TIME
    4d772000-4d773000 r--p 00000000 03:02 592098 /usr/lib/locale/en_US/LC_NUMERIC
    4d773000-4d775000 r--s 00000000 03:02 352729 /usr/java/jdk1.3.1_04/jre/lib/ext/jcert.jar
    4d775000-4d776000 r--s 00000000 03:02 352731 /usr/java/jdk1.3.1_04/jre/lib/ext/jnet.jar
    4d776000-4d778000 r--s 00000000 03:09 33018 /weblogic/wlserver6.1/config/blue2/lib/CR082443_61sp2.jar
    4d778000-4d779000 r--s 00000000 03:09 33017 /weblogic/wlserver6.1/config/blue2/lib/db2jcc_license_cu.jar
    4d779000-4d782000 r-xp 00000000 03:03 496035 /lib/libnss_files-2.2.4.so
    4d782000-4d784000 rw-p 00008000 03:03 496035 /lib/libnss_files-2.2.4.so
    4d784000-4d7b1000 r-xp 00000000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
    4d7b1000-4d7b3000 rw-p 0002c000 03:02 160810 /usr/local/OptimizeitSuite55/lib/libpri.so
    4d7b7000-4d829000 r--s 00000000 03:02 352730 /usr/java/jdk1.3.1_04/jre/lib/ext/jsse.jar
    4d829000-4dd78000 r--s 00000000 03:09 33025 /weblogic/wlserver6.1/config/blue2/lib/CR061106_61sp2.jar
    4dd78000-4dd7c000 r--s 00000000 03:09 33021 /weblogic/wlserver6.1/config/blue2/lib/CR067966_610sp2.jar
    4dd7c000-4dd7f000 r--s 00000000 03:09 33024 /weblogic/wlserver6.1/config/blue2/lib/CR064117_61sp2.jar
    4dd7f000-4dd82000 r--s 00000000 03:09 33028 /weblogic/wlserver6.1/config/blue2/lib/CR060018_610sp2.jar
    4dd82000-4dd84000 r--s 00000000 03:09 33026 /weblogic/wlserver6.1/config/blue2/lib/CR058352_61sp2.jar
    4dd84000-4dd89000 r--s 00000000 03:09 33019 /weblogic/wlserver6.1/config/blue2/lib/rdbmsRealm.jar
    4dd89000-4dda8000 r--s 00000000 03:09 33022 /weblogic/wlserver6.1/config/blue2/lib/xmlParserAPIs.jar
    4dda8000-4de81000 r--s 00000000 03:09 33027 /weblogic/wlserver6.1/config/blue2/lib/xercesImpl.jar
    4de81000-4dff7000 r--s 00000000 03:09 33016 /weblogic/wlserver6.1/config/blue2/lib/db2java.zip
    4dff7000-4e0d3000 r--s 00000000 03:09 33020 /weblogic/wlserver6.1/config/blue2/lib/db2jcc.jar
    4e0d3000-4e553000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
    4e553000-4fdcd000 r--s 00000000 03:09 229395 /weblogic/wlserver6.1/lib/weblogic.jar
    4fe2d000-4ff04000 r--s 00000000 03:09 229399 /weblogic/wlserver6.1/lib/xmlx.jar
    4ff04000-50265000 r--s 00000000 03:02 160793 /usr/local/OptimizeitSuite55/lib/optit.jar
    502d1000-502da000 r-xp 00000000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
    502da000-502db000 rw-p 00008000 03:02 512621 /usr/java/jdk1.3.1_04/jre/lib/i386/libnet.so
    502db000-50316000 r-xp 00000000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
    50316000-50317000 rw-p 0003a000 03:02 240768 /usr/local/OptimizeitSuite55/lib/native/libauditjni.so
    5031f000-50323000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
    50325000-5032f000 r-xp 00000000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
    5032f000-50330000 rw-p 00009000 03:03 496043 /lib/libnss_nisplus-2.2.4.so
    50331000-50334000 r-xp 00000000 03:03 496032 /lib/libnss_dns-2.2.4.so
    50334000-50336000 rw-p 00002000 03:03 496032 /lib/libnss_dns-2.2.4.so
    50336000-5033a000 r--s 00000000 03:09 213324 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50094.war
    5033a000-5033d000 r--s 00000000 03:09 98634 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal2/cls50095.jar
    5033d000-50340000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
    50361000-50392000 r-xp 00000000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
    50392000-50394000 rw-p 00030000 03:02 512620 /usr/java/jdk1.3.1_04/jre/lib/i386/libmlib_image.so
    50394000-50397000 r--s 00000000 03:09 213327 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50098.war
    50397000-5039a000 r--s 00000000 03:09 49447 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_wl_management_internal1/cls50099.jar
    5039a000-503a0000 r-xp 00000000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
    503a0000-503a2000 rw-p 00005000 03:02 96189 /usr/X11R6/lib/libXp.so.6.2
    503c3000-503d1000 r-xp 00000000 03:03 496048 /lib/libresolv-2.2.4.so
    503d1000-503d2000 rw-p 0000d000 03:03 496048 /lib/libresolv-2.2.4.so
    503d5000-503e3000 r--s 00000000 03:09 49459 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/messaging50109.jar
    504a5000-504ed000 r-xp 00000000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
    504ed000-504f1000 rw-p 00047000 03:02 96195 /usr/X11R6/lib/libXt.so.6.0
    504f1000-504fd000 r-xp 00000000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
    504fd000-504ff000 rw-p 0000b000 03:02 96177 /usr/X11R6/lib/libXext.so.6.4
    50600000-50604000 r-xp 00000000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
    50604000-50606000 rw-p 00003000 03:02 96197 /usr/X11R6/lib/libXtst.so.6.1
    50606000-5060d000 r-xp 00000000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
    5060d000-5060f000 rw-p 00006000 03:02 96167 /usr/X11R6/lib/libSM.so.6.0
    5060f000-50623000 r-xp 00000000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
    50623000-50624000 rw-p 00013000 03:02 96163 /usr/X11R6/lib/libICE.so.6.3
    506e9000-506fe000 r--s 00000000 03:09 49460 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/controller50110.jar
    50800000-5081b000 r-xp 00000000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
    5081b000-50820000 rw-p 0001a000 03:03 288205 /opt/IBM/db2/V8.1/lib/libdb2jdbc.so.1
    50827000-50829000 r-xp 00000000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
    50829000-5082a000 rw-p 00001000 03:03 288166 /opt/IBM/db2/V8.1/lib/libdb2install.so.1
    5082a000-50831000 r-xp 00000000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
    50831000-50836000 rw-p 00006000 03:03 288177 /opt/IBM/db2/V8.1/lib/libdb2trcapi.so.1
    50863000-508aa000 r--s 00000000 03:09 49458 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/utils50108.jar
    508aa000-508b2000 r--s 00000000 03:09 49455 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/org50105.jar
    508b2000-508ba000 r--s 00000000 03:09 49461 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/aspectjrt50111.jar
    508ba000-508d0000 r--s 00000000 03:09 49454 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/security50104.jar
    508d0000-508ef000 r--s 00000000 03:09 49453 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/persistence50103.jar
    508ef000-508f8000 r--s 00000000 03:09 49457 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/caching50107.jar
    50d02000-50d9d000 r--s 00000000 03:09 49463 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/iText50113.jar
    50d9d000-50e33000 r--s 00000000 03:09 49466 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/jsTMP50116.jar
    50e33000-50e8a000 r--s 00000000 03:09 49465 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/log4j50115.jar
    50e8a000-50ee3000 r--s 00000000 03:09 49464 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/trove50114.jar
    50f65000-50f96000 r-xp 00000000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
    50f96000-50fd6000 rw-p 00030000 03:03 288158 /opt/IBM/db2/V8.1/lib/libdb2g11n.so.1
    510e7000-51136000 r-xp 00000000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
    51136000-51155000 rw-p 0004e000 03:03 288144 /opt/IBM/db2/V8.1/lib/libcxa.so.1
    51155000-5115a000 r-xp 00000000 03:03 496012 /lib/libcrypt-2.2.4.so
    5115a000-5115b000 rw-p 00004000 03:03 496012 /lib/libcrypt-2.2.4.so
    51182000-51193000 r-xp 00000000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
    51193000-511a0000 rw-p 00010000 03:03 288169 /opt/IBM/db2/V8.1/lib/libdb2locale.so.1
    511a0000-511da000 r-xp 00000000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
    511da000-51221000 rw-p 00039000 03:03 288171 /opt/IBM/db2/V8.1/lib/libdb2osse.so.1
    51234000-5125a000 r-xp 00000000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
    5125a000-51277000 rw-p 00025000 03:03 288160 /opt/IBM/db2/V8.1/lib/libdb2genreg.so.1
    512ea000-516b8000 r-xp 00000000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
    516b8000-516c8000 rw-p 003cd000 03:02 512608 /usr/java/jdk1.3.1_04/jre/lib/i386/libawt.so
    516dd000-517ce000 r-xp 00000000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
    517ce000-517d3000 rw-p 000f0000 03:02 96169 /usr/X11R6/lib/libX11.so.6.2
    517d3000-517f1000 r--s 00000000 03:09 49456 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/adminfw50106.jar
    52300000-526ea000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
    526ea000-52ad4000 r--s 00000000 03:09 213328 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50100.war
    52ad4000-52b2f000 r--s 00000000 03:09 49452 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/sysadmin50102.jar
    52b2f000-52c0b000 r--s 00000000 03:09 49462 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/WEB-INF/_tmp_war_blue2Server_blue2Server_sysadmin/WEB-INF/lib/db2jcc50112.jar
    53700000-53b80000 r--s 00000000 03:02 48466 /usr/java/jdk1.3.1_04/lib/tools.jar
    54300000-54691000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
    54a00000-54d91000 r--s 00000000 03:09 213326 /weblogic/wlserver6.1/config/blue2/applications/.wlnotdelete/wl_comp50096.war
    58909000-590cc000 r-xp 00000000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
    590cc000-5967e000 rw-p 007c2000 03:03 288146 /opt/IBM/db2/V8.1/lib/libdb2.so.1
    Local Time = Wed May 26 16:44:53 2004
    Elapsed Time = 387
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode)
    # An error report file has been saved as hs_err_pid2565.log.
    # Please refer to the file for further information.
    [connection_profile.doc]

  • Tomcat Connection Pooling

    I am using Tomcat connection pooling (DBCP) to get the connection from the Database
    It really works great with Oracle, MySQL, Sybase and as well as DB2.
    Recently I tried to integrate apache with tomcat to improve the performance.
    But now the problem is I am unable to load the JDBC Driver its giving me an error message as Cannot load JDBC driver class ?null?
    @ org.apache.commons.dbcp.BasicDataSource.createDataSource ..
    Interseting thing is I am able to get connection through datasource(DBCP) if I use the following URL
    http://localhost:8080/application _name/Hello.jsp
    But I get the error message when I try to get connection through datasource(DBCP)
    as Cannot load JDBC driver class ?null? for this URL
    http://localhost/application_name/Hello.jsp
    Both the URL use same server.xml, httpd.conf,servlet class and jsp pages
    Gurus can you please help me to understand why my application is unable to get the connection when I use this URL http://localhost/application_name/Hello.jsp
    But not with other one
    Please........... Some one help me
    Thanks in Advance
    Maria

    Thanks for your reply
    Yes I am doing context lookup like this
    Context ctx = (Context) new InitialContext().lookup("java:comp/env");
    conn = ((DataSource) ctx.lookup("jdbc/test")).getConnection();
    This works with Tomcat but I am unable to make it work after
    integrating tomcat with apache
    Thanks for your help
    Maria

  • Tomcat Connection pooling problem

    I am using Tomcat connection pooling (DBCP) to get the connection from the Database
    It really works great with Oracle, MySQL, Sybase and as well as DB2.
    Recently I tried to integrate apache with tomcat to improve the performance.
    But now the problem is I am unable to load the JDBC Driver its giving me an error message as Cannot load JDBC driver class ?null?
    @ org.apache.commons.dbcp.BasicDataSource.createDataSource ..
    Interseting thing is I am able to get connection through datasource(DBCP) if I use the following URL
    http://localhost:8080/application _name/Hello.jsp
    But I get the error message when I try to get connection through datasource(DBCP)
    as Cannot load JDBC driver class ?null? for this URL
    http://localhost/application_name/Hello.jsp
    Both the URL use same server.xml, httpd.conf,servlet class and jsp pages
    Gurus can you please help me to understand why my application is unable to get the connection when I use this URL http://localhost/application_name/Hello.jsp
    But not with other one
    Please........... Some one help me
    Thanks in Advance
    Maria

    How did you make Tomcat connection pooling(DBCP) working with Oracle?
    I refereced to the "JNDI Datasource HOW-TO" in Jakarta Tomcat. I am using Tomcat 4.18. I can get DataSource object, but when to get connection from dataSource, not any response, It seems freezing.
    I appreciate any reply.
    Johnson Ouyang

  • Database Resident Connection Pooling (DRCP)

    Hi there,
    Im playing with DRCP on SLES but its not acting as I would expect. Given the lack of any hard info out there I thought I would check my understanding as its probably/possibly flawed!
    I thought that with DRCP you would have lots of sessions in the database with a small pool of server processes (These are the "L000" processes).
    If I set my pool to have a max-size of 3 for example then I can create TWO sessions (via SQLPLUS11g) using the POOLED processes (SERVER=POOLED).
    The third process is used for "Authenitication". Ok. Fine. Good. All sessions are sat idle doing nothing and I can see in v$session and v$process that the sessions have picked up one of the "Lnnn" processes..
    Now when I come to add another session , the create-session/connect from SQLplus hangs and waits for one of the other sessions to either time-out or be closed.
    I thought DRCP would allow multiple sessions to share the same processes. Ie if session A is idle then its pooled server-process is released back to the pool - and hence would be available to be used by another session. IE a bit like shared-servers in well, Shared Server I guess!
    If the above isnt the case then is this really "Pooling" or just a case of there being pre-spawned server processes knocking about to speed up connection requests?
    Yours,
    Bob

    Hi,
    I can't believe no-one else on this forum was not able to jump in while I was busy!
    I wasn't aware of that OTN article I merely read the docco. However, having read this now and read your comments, I still don't get where you are coming from as (to me) the article just backs up what I think. But I could be wrong.
    In fact to quote exactly what you've posted:
    "Clients are persistently connected and authenticated to the Broker. Clients
    request the Broker to provide pooled servers when they need to perform some database activity, use them, and then release them back for reuse by other clients."
    I read this as clients get a connection from the broker, uses it and releases it. With emphasis on the client. So if the client hasn't released it, it's still got it.
    "...The pooled server is handed back to the broker when the client releases it."
    I mean again, emphasis on the client releasing it. If the client doesn't release it, it's still got it and so can't be used by any other client.
    I do believe the diagram is misleading, it seems to imply that an idle (grey) client is just 'connected' to the broker, implying for a pooled connection to be back in the pool then the client just has to be merely idle rather than releasing it. The Busy/Idle w.r.t. DB activity doesn't help either as we all know a client can be connected but not doing anything with that connection. So I see how that can cause confusion.
    The noddy little graph just shows to me a linear correlation between memory and pooled connections. What a suprise. This is exactly what I would expect. The more connections in your pool, the more memory you need.
    Lastly, if the DRCP didn't work this way, it would work differently to every other connection pool I've ever met. With a connection pool governed by the mid tier, it opens a bunch of dedicated connections to the DB with a common username. The mid tier language (java, .nyet, whatever) makes it transparent that a connection is coming from this pool and normally makes it transparent to release them back (the developers never need know).
    But as I said I could be wrong and I'm interested in what you find from the SR.

Maybe you are looking for

  • Illustrator files CC too big 25-30 min to save

    Illustrator files on CC are taking 25-30 min to save and when opening them takes the same amount of time. on Mac. Often when opening the file the rainbow wheel comes on. The files for some reason are about 2GB. How do I fix this as it is becoming a h

  • PDF display problem

    http://www.rotarycupar.org/display_syllabus.php?offset=0 See above for the problem - most characters missing. All is visible on an iPhone, or on a PC.

  • Can I record direct to fcp  using xl2 the same as i can to Quick Time?

    If this can be done Please tell me how. Thank you, Elgoto

  • Same pictures duplicated on every page folder!!!

    I've just noticed that iWeb08, when publishing in a folder, is making a copy of each picture you use on each page folder, even if the picture is the same!!! For example if you're using a logo for your website, and using it on every page, it will be c

  • Where to place custom packages?

    Hi Forum: I am implementing a custom java class in IDM 8 using NetBeans. I would like the custom java class to import a 'jar' file. Here are the steps I have taken: 1) I have placed the jar files in the folder: 'custom>WEB-INF>lib' 2) Added the jar f