We currently use BEA 8.1 sp1 and JDK 1.4.1 for our web application.
TIA
Oscar
oscar wrote:
Hi, Your's is not a JDBC question... What I would recommend is to get a thread
dump of the busy server to see what it's doing.
Joe
>
> TIA
> Oscar
>
oscar wrote:
> Hi,
> infact I did not mention that we are using JDBC, and IMHO the problem is due to
> the JDBC usage.
> Pease find attached a thread dump made few minutes after the CPU went to 100%.
>
> Thanks in advance
> Oscar
Hi. Ok. The thread dumps in that file shows the weblogic server essentially
idle except for two threads trying to run servlets, and these threads are
waiting for a response from some external program. In none of those thread
dumps are any threads doing anything to do with DBMSes or JDBC. The first thing
you should look at is the one thread that seems never to change:
"ExecuteThread: '24' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x2B01BFB0 nid=0x9
14 runnable [2cb2f000..2cb2fd8c]
at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:312)
at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:155
)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImp
l.java:564)
at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImp
l.java:553)
at weblogic.servlet.FileServlet.sendFile(FileServlet.java:565)
at weblogic.servlet.FileServlet.service(FileServlet.java:206)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImp
l.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppSer
vletContext.java:6310)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:3
17)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.ja
va:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
The other thread, in the last dump is:
"ExecuteThread: '23' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x2B01B358 nid=0x7
6c runnable [2caef000..2caefd8c]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.sun.net.ssl.internal.ssl.InputRecord.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA6275)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
- locked <03370CF0> (a java.lang.Object)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA6275)
- locked <03370CE0> (a java.lang.Object)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA6275)
- locked <033752A8> (a com.sun.net.ssl.internal.ssl.AppOutputStream)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:69)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:127)
- locked <033830F0> (a java.io.BufferedOutputStream)
at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:390)
- locked <0335E228> (a com.sun.jndi.ldap.Connection)
at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:334)
- locked <0335E1B8> (a com.sun.jndi.ldap.LdapClient)
at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:193)
- locked <0335E1B8> (a com.sun.jndi.ldap.LdapClient)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2597)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:275)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:173)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:191)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:80)
at ldap.LdapUtils.modifyUser(LdapUtils.java:225)
at jsp_servlet.__competencesutilisateur._jspService(__competencesutilisateur.java:384)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImp
l.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppSer
vletContext.java:6310)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:3
17)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.ja
va:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)