任何加速RAD 7.5 / WebSphere 7部署的技巧

时间:2011-02-25 17:28:39

标签: eclipse websphere rad

最近,我开始与RAD和WebSphere合作开发Web服务,并发现一旦对代码进行了更改,重新发布ear文件需要一段时间。

任何加速它们的技巧和建议?

6 个答案:

答案 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上应用程序的部署速度:

  1. 使用所有第三方jar定义Ignore-Scanning-Archives,您不希望Webshere扫描注释。您可以在清单文件中或仅在pom.xml中执行此操作。小心它,没有正则表达式,如果你在清单中的一行中写了多个jar,由于行长度的manifest.mf限制,它将无法工作。如果你在manifest.mf中写它,你需要在行的开头转到带有空格的新行(参见下面的例子)。

    但是您可以在maven war插件的配置中将其写入一行(请参阅下面的完整示例),Maven会自动将其拆分为多行。

  2. 第二种方法是在Manifest / Maven / Websphere中定义 Enable-Implicit-Bean-Archive为false 它将禁用包中的CDI,其中不包含beans.xml

  3. 第三种方法是增加Websphere JVM属性中的Java堆大小。你需要去:Websphere IBM Console - >服务器 - > {您的服务器} - >服务器基础设施 - > Java和流程管理 - >流程定义 - >附加属性 - > Java虚拟机 - > 设置初始堆大小(MB) - 300(或更多) 最大堆大小(MB) - 600(或更多)

  4. 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的一个令人烦恼的事情是服务器自动发布。所以如果你可以在服务器配置编辑器中更改选项(可以通过双击服务器视图中的服务器来访问),这可能会阻止发布你不想要的时间。确保在需要进行更改时发布它。

此外,我认为如果您将选项更改为“在不复制资源的情况下发布”,这也可能会加快您的服务器启动速度。