最近,我开始与RAD和WebSphere合作开发Web服务,并发现一旦对代码进行了更改,重新发布ear文件需要一段时间。
任何加速它们的技巧和建议?
答案 0 :(得分:3)
有一个已知问题,请参阅:http://www.ibm.com/support/docview.wss?rs=180&uid=swg21396021
在web.xml中将metadata-complete值设置为true将阻止扫描注释并加快速度。
您还可以使用模块清单文件中的Annotation扫描过滤器来有选择地防止jar文件的注释扫描。
答案 1 :(得分:2)
试试这个并查看本文中是否有内容
https://www.ibm.com/developerworks/wikis/download/attachments/113606723/radtipsv754.pdf
让您的RAD工作速度比目前更快。
HTH Manglu
答案 2 :(得分:1)
这与RAD不具体相关,但在与WebSphere合作多年后,我发现如果您没有修改部署描述符或Web服务描述符,您只需更新您的installedApps文件夹中的爆炸EAR / WAR文件即可。 WAS应用服务器。要进行更新,您只需将新的JAR文件“解压缩”到该文件夹即可。
然后重启应用程序服务器。显着更快,特别是如果您的WAS启动很快。
答案 3 :(得分:1)
不幸的是,我没有机会尝试一下,因为我们刚刚从RAD搬到了Eclipse,但我建议您花几分钟时间查看 JRebel 是否适用于RAD。
如果它确实有效,它会将构建/部署的数量减少到接近每天1(或计算机重启),因为我从RAD + WAS7.5迁移后使用Eclipse + WAS8.5体验它。
@Edit:确定RAD不需要支持JRebel,因为它设计为独立运行IDE,就像maven,ant和tonns其他有用的工具一样。更重要的是它与Websphere一起运行,我假设WAS部署过程占用了您想要的大部分时间。
答案 4 :(得分:1)
您可以通过一些简单的步骤显着提高WebSphere上应用程序的部署速度:
使用所有第三方jar定义Ignore-Scanning-Archives,您不希望Webshere扫描注释。您可以在清单文件中或仅在pom.xml中执行此操作。小心它,没有正则表达式,如果你在清单中的一行中写了多个jar,由于行长度的manifest.mf限制,它将无法工作。如果你在manifest.mf中写它,你需要在行的开头转到带有空格的新行(参见下面的例子)。
但是您可以在maven war插件的配置中将其写入一行(请参阅下面的完整示例),Maven会自动将其拆分为多行。
第二种方法是在Manifest / Maven / Websphere中定义 Enable-Implicit-Bean-Archive为false 它将禁用包中的CDI,其中不包含beans.xml
第三种方法是增加Websphere JVM属性中的Java堆大小。你需要去:Websphere IBM Console - >服务器 - > {您的服务器} - >服务器基础设施 - > Java和流程管理 - >流程定义 - >附加属性 - > Java虚拟机 - > 设置初始堆大小(MB) - 300(或更多) 最大堆大小(MB) - 600(或更多)
pom.xml中maven-war-plugin的代码示例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>pom.xml</packagingExcludes>
<archive>
<manifestEntries>
<Enable-Implicit-Bean-Archive>false</Enable-Implicit-Bean-Archive>
<Ignore-Scanning-Archives>
hibernate-core-5.2.10.Final.jar,httpclient-4.4.1.jar,poi-ooxml-3.17.jar,poi-3.17.jar,poi-ooxml-schemas-3.17.jar,antlr-2.7.7.jar, apns-1.0.0.Beta6.jar,ews-java-api-2.0.jar,itextpdf-5.5.11.jar,byte-buddy-1.6.6.jar,xmlbeans-2.6.0.jar,guava-23.5-jre.jar,commons-collections4-4.1.jar
</Ignore-Scanning-Archives>
</manifestEntries>
</archive>
</configuration>
</plugin>
manifest.mf
的示例Manifest-Version: 1.0
Built-By: your-name
Enable-Implicit-Bean-Archive: false
Created-By: IntelliJ IDEA
Build-Jdk: 1.8.0_144
Ignore-Scanning-Archives: hibernate-core-5.2.10.Final.jar,httpclient-4
.4.1.jar,poi-ooxml-3.17.jar,poi-3.17.jar,poi-ooxml-schemas-3.17.jar,a
ntlr-2.7.7.jar, apns-1.0.0.Beta6.jar,ews-java-api-2.0.jar,itextpdf-5.
5.11.jar,byte-buddy-1.6.6.jar,xmlbeans-2.6.0.jar,guava-23.5-jre.jar,c
ommons-collections4-4.1.jar
答案 5 :(得分:0)
减慢RAD的一个令人烦恼的事情是服务器自动发布。所以如果你可以在服务器配置编辑器中更改选项(可以通过双击服务器视图中的服务器来访问),这可能会阻止发布你不想要的时间。确保在需要进行更改时发布它。
此外,我认为如果您将选项更改为“在不复制资源的情况下发布”,这也可能会加快您的服务器启动速度。