将WAR部署到WebSphere 9

时间:2017-01-19 19:32:11

标签: deployment websphere war

过去花了3分钟将WAR部署到WebSphere 8.5.5.0。

将相同的WAR部署到WebSphere 9.0.0.2需要3个小时。

这是WebSphere 9.0.0.2中的错误的表现吗? 有没有人有类似的经历?

更新: 我在IBM建议的设置实验结果: http://www-01.ibm.com/support/docview.wss?uid=swg21983564

我们的WAR文件包含160个JAR文件,总大小为160MB。

测量"新应用程序"向导,从第一个屏幕开始,直到显示下一个屏幕。

  • WebSphere 8.5.5 - 3分钟

  • WebSphere 9 - 3小时

  • 添加"忽略扫描包:org,net,com,javax"在WAR中显示文件的行 - 30分钟

  • 添加"启用CDI:false"行到EAR中的清单文件 - 30分钟

  • 添加了行

启用-CDI =假

启用隐式 - 豆 - 归档=假

到C:\ Program Files \ IBM \ WebSphere \ AppServer \ properties \ amm.filter.properties文件 - 30分钟

  • 添加了JVM属性

com.ibm.ws.cdi.enableImplicitBeanArchives

com.ibm.ws.cdi.enableCDI

in Servers-> Server Types-> WebSphere Application servers-> server1-> Server Infrastrucure-> Java and Process Management-> Process definition-> Java Virtual Mashine-> Custom properties - 30分钟

  • 添加了JVM属性

-Dcom.ibm.ws.cdi.enableImplicitBeanArchives =假

-Dcom.ibm.ws.cdi.enableCDI =假

in Servers-> Server Types-> WebSphere Application servers-> server1-> Server Infrastrucure-> Java and Process Management-> Process definition-> Java Virtual Mashine-> Generic JVM arguments - 30分钟

更新:SystemOut.log包含消息:

线程" WebContainer:...已激活668644毫秒,可能会挂起。

堆栈跟踪包含:

at org.apache.commons.fileupload.MultipartStream.readBodyData

看起来WebSphere正在处理上传文件的HTTP请求。

1 个答案:

答案 0 :(得分:1)

初步检查:对于两个部署,假定应用程序完全相同。这或多或少被假设,但是在很多情况下,应用程序被认为是相同的但不是,所以这需要进行验证。

在IBM WebSphere Application Server v8.5.5.0和v9.0之间,对支持的CDI级别进行了重大升级。也就是说,v9.0增加了对CDI 1.2的支持,CDI 1.2具有新的类和注释扫描要求。这些新要求,以及CDI在v9.0中使用的初始类和扫描实现中的一些问题,可能会导致应用程序部署速度大幅下降。

特别是中型到大型网络模块已经注意到这个问题。这里“中到大”是指具有许多WEB-INF / lib JAR文件的Web模块,总大小为50MB或更多。

在简单的情况下,添加了两个自定义属性,用于修改默认的CDI处理。有关这两个属性的信息,请参阅此页面:

http://www-01.ibm.com/support/docview.wss?uid=swg21983564

这两个属性是(1)完全禁用CDI处理;或(2)禁用不包含“beans.xml”的档案的CDI处理。有关其他详细信息,请参阅链接页面。

这两个属性在许多情况下都有益处。应首先尝试它们,因为其他选项更难以尝试。