我面临与在Tomcat 5服务器上部署两个应用程序相关的问题.部署和运行服务器时,我收到一条错误消息,这也会阻止第二个应用程序正常运行.
Unable to deploy collapsed ear in war /my-app: Exception: Application cannot be deployed as it contains deployment-ids which are in use:
Run Code Online (Sandbox Code Playgroud)
之后会列出所有重复的ID.第二个应用程序是较小的应用程序,它被添加到管理所有实体的现有应用程序中.该项目由Eclipse nad Maven构建.有没有办法添加应该包含在第二个应用程序中的依赖项(我现在打算做什么)所以第二个应用程序将能够知道/使用已经存在的包?
感谢adnvace的任何支持,
问候
我们经常在Weblogic服务器上获得一系列Stuck线程.我在一段时间内对此进行了分析.
我想要理解的是,这个卡住的线程块是否表明它仍在从开放套接字读取数据到数据库,因为查询是简单的SELECT东西?
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at oracle.net.ns.Packet.receive(Packet.java:239)
at oracle.net.ns.DataPacket.receive(DataPacket.java:92)
Run Code Online (Sandbox Code Playgroud)
我们运行netstat和其他命令,从Weblogic应用服务器到数据库的套接字匹配池中的连接数.
有什么想法我们应该在这里调查什么?
堆栈跟踪线程转储:
"[STUCK] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x61a5b000 nid=0x25f runnable [0x6147b000..0x6147eeb0]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at oracle.net.ns.Packet.receive(Packet.java:239)
at oracle.net.ns.DataPacket.receive(DataPacket.java:92)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:172)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:117)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:77)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1023)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:999)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:584)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
at oracle.jdbc.driver.T4CStatement.fetch(T4CStatement.java:1000)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:314)
- locked <0x774546e0> (a oracle.jdbc.driver.T4CConnection)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:228)
- locked <0x774546e0> (a oracle.jdbc.driver.T4CConnection)
at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.next(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
从weblogic.work.ExecuteThread.run这里开始的位已被省略.我们有8组线程转储 - 每个都显示线程在同一行上等待,同一个对象被锁定 …
我正在调查hprofVisualVM中的文件
服务器正在运行JDK 1.4.2_30并且具有1 GB堆,NewSize为200 Mb.
hprof显示由56000个实例占用的堆的71%,int[]并且当在VisualVM中查看时,这些56K阵列中没有一个具有引用
按照我们的说法,如果没有"参考",这应该是垃圾收集.所以问题是:
a)有没有办法找出这些参考文献?
b)这是一个不正确的快照 - 即采取堆转储的操作是否做了某种GC?
c)我们应该在VisualVM中查看"保留大小"对象吗?
作为更新 - 我们仍然不知道它们int[]是什么,但是下一个最大的对象是Pool中的Weblogic内部EJB引用,并且我们在其中一个中发现了一个不正确的设置,它将内存使用率降低了30%来自早期频繁的Full GC
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Murach's Java Servlets and JSP</title>
</head>
<body>
<%-- import packages and classes needed by the scripts --%>
<%@ page import="business.*, data.*" %>
<%
//get parameters from the request
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
String emailAddress = request.getParameter("emailAddress");
// get the real path for the EmailList.txt file
ServletContext sc = this.getServletContext();
String path = sc.getRealPath("/WEB-INF/EmailList.txt");
// use regular Java objects
User …Run Code Online (Sandbox Code Playgroud) 我正在使用"Apache POI"生成Excel报告.我有一个精心设计的Excel模板.我想通过将数据填充到模板的预定义位置来创建报告.也就是说,我不想关心报告的格式.那可能吗?你能给我一些指示吗?
我正在查看Apple的ZoomingPDFViewer示例(来自链接的源代码).当它运行时,它会给出这个错误:
ZoomingPDFViewer[5751] <Error>: KSTFBB+Helvetica: FT_Load_Glyph failed: error 133.
Run Code Online (Sandbox Code Playgroud)
它发生在行100的ZoomingPDFViewer:
CGContextDrawPDFPage(context, page);
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么会这样,以及如何解决它?
我们有一个WebLogic设置,它给我们带来了一些问题.
我们有一个名为HP BAC的监视工具,它可以帮助我们可视化服务器的状态,我们将此工具与Java Thread Dump实用程序联系起来,这样当线程数较少时,将捕获一个线程转储.
在某些情况下服务器进入低线程计数状态,我们不确定为什么,因为我们所有的努力通过线程转储特别是徒劳无功.
鉴于"现状",我们的线程转储捕获总是在后期/之后触发,并且永远不会捕获对我们的调查有用的线程转储.
我想看看你们其他人如何进行这样的监测工作?

我继承了一些JSF Spring代码,可以看到而不是通过faces-config.xmlas 注入Spring bean
<managed-bean>
Run Code Online (Sandbox Code Playgroud)
团队已经在代码中完成了它
FacesContext facesContext = FacesContext.getCurrentInstance();
ELResolver elResolver = facesContext.getApplication().getELResolver();
MyClass myBean = (MyClass) elResolver.getValue(facesContext.getELContext(), null,ApplicationConstants.MY_BEAN_NAME);
Run Code Online (Sandbox Code Playgroud)
我更喜欢在xml中执行此操作 - 这有什么优势还是没有什么大不了的?
版本是JSF 1.2和Spring 3
我正在编写一个使用MDB,EJB的应用程序,并且需要ThreadLocal在多个EJB和Helper类之间传递和记录变量,直到事务完成.
流程是
从MDB onMessage()开始 - >一些业务委托EJB - >一些帮助程序
题:
这个应用程序在Weblogic中运行,Weblogic从它的ThreadPool中重用Threads.那么是否有可能跨线程数据损坏?解决方案使用ThreadLocal.remove()安全吗?
除了将Object作为参数传递给所有方法之外,还有ThreadLocal的替代方法吗?
我正在尝试将我的应用程序从Weblogic 8.1 SP 6升级到Weblogic 10.3.为此,我安装了Weblogic 10.3并创建了一个域.WLS 10.3从我的域名成功启动.我重新编译了Java 1.6中的代码,并成功部署了所有代码更改.
我已部署应用程序并尝试启动应用程序欢迎(登录)页面.
然后我看到以下错误:
Predefined Constants Object: com.abc.xyz272.businessclasses.PredefinedConstants@3d80183
DataSourceName='null'
sessionTimeOutLimit='36000'
00:39:31==>Servlet: getRemoteUser=null
00:39:31==>Servlet: getHeader=null
00:39:31==>count=0
<Oct 29, 2010 12:39:31 AM MDT> <Error> <HTTP> <BEA-101020> <[weblogic.servlet.internal.WebAppServletContext@2e28f75 - appName: 'mbqccrpt', name: 'xyzControllerServlet', context-path: '/xyzControllerServlet', spec-version: 'null'] Servlet failed with Exception
java.lang.NullPointerException
at com.abc.xyz272.servlets.xyzControllerServlet.processRequest(Unknown Source)
at com.abc.xyz272.servlets.xyzControllerServlet.doPost(Unknown Source)
at com.abc.xyz272.servlets.xyzControllerServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
Truncated. see log file for complete stacktrace
Run Code Online (Sandbox Code Playgroud)
我还有一个问题.在Weblogic 8.1上运行的应用程序也使用apache服务器来启动静态页面.要在weblogic 10.3中升级应用程序,我们是否需要apache服务器?