我从payara micro UberJar运行我的应用程序,并希望增加分配给应用程序的内存。如何在创建uberJar时执行此操作?
答案 0 :(得分:2)
有几种方法可以做到这一点。我提到的第一种方式是首选方式:
asadmin
命令最新版本的Payara Micro引入了一个名为--postbootcommandfile
的选项,允许您对Payara Micro运行asadmin
命令。您的文件应包含以下内容:
delete-jvm-options -Xmx=512m
create-jvm-options -Xmx=1g
create-jvm-options -Xms=1g
在应用新选项之前,您需要确保删除现有选项。
然后您可以使用与此类似的文件:
java -jar payara-micro.jar --postbootcommandfile myCommands.txt --deploy myApp.war --outputuberjar myPayaraMicroApp.jar
您的设置现在应该保留在生成的Uber JAR中。
替代方法是修改自己的domain.xml并用自己的域覆盖内置的domain.xml。
您可以使用--rootdir
选项让Payara Micro将其配置输出到目录,以便您可以在那里进行更改。本博客概述了此过程:
http://blog.payara.fish/working-with-external-configuration-files-in-payara-micro
如果您已经拥有自定义域名,则可以使用--domainconfig
属性来提供它,如下所示:
java -jar payara-micro.jar --domainconfig myCustomDomain.xml --deploy myApp.war --outputuberjar myPayaraMicroApp.jar
按照这些方法之一后,您只需启动生成的JAR,即可应用所有设置和配置:
java -jar myPayaraMicroApp.jar
答案 1 :(得分:0)
Payara Micro uber JAR是一个普通的JAR,并没有像Payara Server那样启动新的JVM。因此,由于JVM已经启动,因此无法在JAR中修改JVM内存设置。虽然可以将JVM设置添加到Payara Micro配置中,但它们会被忽略而不会应用。这些配置值仅在Payara Server中使用。
使用Payara Micro uber JAR,您需要在命令行中指定JVM选项,如下所示:
java -Xmx=1g -Xms=1g -jar myPayaraMicroApp.jar
如果需要在uber JAR中指定JVM参数,则需要使用类似capsule.io的解决方案将JAR包装到启动程序JAR中,该JAR将为Payara Micro生成单独的JVM并将参数传递给它