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?
RgdsHi. 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
SanjeevRahulSharna 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 someoneelseHi 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
AndrewMore 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 -
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,
MikeHi 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] -
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>
* <name>connection</name>
<tagclass>com.solved.tag.dbtags.connection.ConnectionTag</t
agclass>
* <bodycontent>JSP</bodycontent>
<teiclass>com.solved.tag.dbtags.connection.ConnectionTEI</t
eiclass>
* <info>Opens a connection based on a jndiName.</info>
* <attribute>
* <name>id</name>
* <required>true</required>
* <rtexprvalue>false</rtexprvalue>
* </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>
* <name>closeConnection</name>
<tagclass>com.solved.tag.dbtags.connection.CloseConnectionTag&
lt;/tagclass>
* <bodycontent>empty</bodycontent>
* <info>Close the specified connection. The "conn"
attribute is the name of a
* connection object in the page context.</info>
* <attribute>
* <name>conn</name>
* <required>true</required>
* <rtexprvalue>false</rtexprvalue>
* </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] -
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
MariaThanks 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
MariaHow 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,
BobHi,
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
-
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