• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 749
  • Last Modified:

Weblogic question Ver 8.1sp3/jdk 1.4.2_06

Hi all,

would appreciate help please..

My app is in weblogic 8.1 sp3. Evrything works fine for a while, and suddenly at some point (after few days), we start getting below error in log4j error log..

all errors are related to Connection is already closed..

What can be wrong?? Anything wrong we are doing in our code..

we are using weblogic JDBC conn pools... We usually close the conn after work is done .. (since it is large code.. so not sure if we are doing this everywhere.. )  but what can be the problem?? what to look for to fix this? any ideas?? once we restart the app servers, everything works well...

please help urgently..

Level: ERROR
thread: Thread-23
logger: com.citi.soft.trade.threads.TradeWorkQueue
<type>Exception</type><msg>Exception caught in SuspendTask::run()</msg><throwable>SQL ErrorCode: 0, java.sql.SQLException: JZ0C0: Connection is already closed.
      at com.sybase.jdbc2.jdbc.ErrorMessage.raiseError(ErrorMessage.java:539)
      at com.sybase.jdbc2.jdbc.SybConnection.checkConnection(SybConnection.java:1866)
      at com.sybase.jdbc2.jdbc.SybConnection.createStatement(SybConnection.java:659)
      at weblogic.jdbc.wrapper.Connection.createStatement(Connection.java:323)
      at com.citi.soft.trade.threads.TradeWorkQueue.checkSuspended(Unknown Source)
      at com.citi.soft.trade.threads.TradeWorkQueue.run(Unknown Source)
      at java.lang.Thread.run(Thread.java:534)
<type>State</type><msg>Suspending trade processing since cannot determine state due to exception</msg>
1 Solution
Update to latest service patch .. there is a fix related to JDBC connections not being garbage collected otr smthn like that . may be related to the same.
try monitering the connection pool when ur application is running.. this will show you whether connections are getting closed and being returned to the pool.. then you can know whether there is some place in your code where you are not closing connections.
To make sure that you are closing all connections. you can take thread dumps are analyse them further. Take thread dumps once you know that all connections are closed and then the thread may show if there is any thread still trying to access.

Odd. This definitely sounds like a driver bug. The first thing to do is to download Sybase's very latest driver *and* whatever EBF may relate to the driver, and get that driver ahead of the weblogic stuff in the server startup script's classpath, and retry.
If that exception ever hapens again, send me the actual Sybase driver being used, and I will take it apart and make a patch for it that is more explicit about where it thinks the connection was closed before you got that exception.


My Above provided solution serves to solve the problem >> Weblogic question Ver 8.1sp3/jdk 1.4.2_06...


Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now