weblogic stuck线程模拟
2017-06-23 16:51
253 查看
login.jsp
<%@ page language="java" import="java.sql.Connection"%>
<%@ page language="java" import="java.sql.DriverManager"%>
<%@ page language="java" import="java.sql.PreparedStatement"%>
<%@ page language="java" import="java.sql.ResultSet"%>
<html>
<body>
</body>
<script language="javascript">
<%!
public class TestUpdate {
public void updateDB(String sql){
Connection con = null;
PreparedStatement pre = null;
ResultSet result = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@10.10.11.128:1521:orcl";
String user = "S_DEV";
String password = "S_DEV";
con = DriverManager.getConnection(url, user, password);
pre = con.prepareStatement(sql);
pre.execute(sql);
}catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
%>
<%
TestUpdate testUpdate = new TestUpdate();
testUpdate.updateDB("select * from test for update ");
out.println("已经开始运行..........");
%>
</script>
</html>
先到数据库上select * from test for update,然后访问jsp, weblogic控制台会告警,后台会报错:
<2017-6-23 下午04时43分23秒 CST> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for
", which is more than the configured time (StuckThreadMaxTime) of "10" seconds in "server-failure-trigger". Stack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:152)
java.net.SocketInputStream.read(SocketInputStream.java:122)
oracle.net.ns.Packet.receive(Packet.java:300)
oracle.net.ns.DataPacket.receive(DataPacket.java:106)
oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)
oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)
oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1909)
oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1871)
oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:318)
jsp_servlet.__login$TestUpdate.updateDB(__login.java:79)
jsp_servlet.__login._jspService(__login.java:130)
weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:238)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3363)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
<%@ page language="java" import="java.sql.Connection"%>
<%@ page language="java" import="java.sql.DriverManager"%>
<%@ page language="java" import="java.sql.PreparedStatement"%>
<%@ page language="java" import="java.sql.ResultSet"%>
<html>
<body>
</body>
<script language="javascript">
<%!
public class TestUpdate {
public void updateDB(String sql){
Connection con = null;
PreparedStatement pre = null;
ResultSet result = null;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@10.10.11.128:1521:orcl";
String user = "S_DEV";
String password = "S_DEV";
con = DriverManager.getConnection(url, user, password);
pre = con.prepareStatement(sql);
pre.execute(sql);
}catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
%>
<%
TestUpdate testUpdate = new TestUpdate();
testUpdate.updateDB("select * from test for update ");
out.println("已经开始运行..........");
%>
</script>
</html>
先到数据库上select * from test for update,然后访问jsp, weblogic控制台会告警,后台会报错:
<2017-6-23 下午04时43分23秒 CST> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for
", which is more than the configured time (StuckThreadMaxTime) of "10" seconds in "server-failure-trigger". Stack trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:152)
java.net.SocketInputStream.read(SocketInputStream.java:122)
oracle.net.ns.Packet.receive(Packet.java:300)
oracle.net.ns.DataPacket.receive(DataPacket.java:106)
oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)
oracle.net.ns.NetInputStream.read(NetInputStream.java:260)
oracle.net.ns.NetInputStream.read(NetInputStream.java:185)
oracle.net.ns.NetInputStream.read(NetInputStream.java:102)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:124)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:80)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1137)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)
oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1909)
oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1871)
oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:318)
jsp_servlet.__login$TestUpdate.updateDB(__login.java:79)
jsp_servlet.__login._jspService(__login.java:130)
weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:238)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3363)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
相关文章推荐
- (9)java5的线程【锁lock】与【读写锁_以及模拟缓存(妙用)】技术
- weblogic stuck String StringUtils
- weblogic threadpool has stuck threads
- Java【多线程知识总结(10)】线程通信之wait()与notify()的运用--模拟指挥官指挥2个连队交替轰炸战区<另外的写法>
- JAVA线程并发性之CAS算法,模拟实现代码
- [知了堂学习笔记]线程扩展_模拟线程池
- [简单多线程控制]_[模拟杀毒软件线程控制]
- 线程锁 和 同步锁规则 模拟线程死锁 和Lock锁
- 使用线程模拟死锁情形
- WebLogic用来响应客户端请求的线程数量的设置
- 线程模拟抢票功能
- weblogic - StuckThreadMaxTime: "600" seconds
- javascript线程模拟【原创】
- weblogic stuck实验2014-11-14
- 编写三各类Ticket、SealWindow、TicketSealCenter分别代表票信息、售票窗口、售票中心。售票中心分配一定数量的票,由若干个售票窗口进行出售,利用你所学的线程知识来模拟此售票过
- 最近的一个作业(用c++模拟线程的同步和互斥)
- CountDownLatch计数(百米赛跑模拟,子线程好比运动员,主线程好比裁判员)
- 用一个线程模拟多个线程,减少线程数量~
- weblogic threadpool has stuck threads引发内存溢出
- 一次weblogic调优的经过(StuckThreadMaxTime) of "600" seconds) .