增加分配给部署到 payara micro 的应用程序的内存

Increase memory allocated to application deployed to payara micro

我是 运行 我的来自 payara micro UberJar 的应用程序,我想增加分配给该应用程序的内存。我如何在创建 uberJar 时执行此操作?

有几种方法可以做到这一点。我要提到的第一种方式是首选方式:

1。使用 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 中。

2。提供自定义 domain.xml

替代方法是修改您自己的 domain.xml 并用您自己的 domain.xml 覆盖内置 domain.xml。

您可以使用 --rootdir 选项让 Payara Micro 将其配置输出到一个目录,以便您可以在那里进行更改。此博客概述了此过程:
http://blog.payara.fish/working-with-external-configuration-files-in-payara-micro

如果您手上已有自定义domain.xml,您可以使用--domainconfig 属性来提供它,如下:

java -jar payara-micro.jar --domainconfig myCustomDomain.xml --deploy myApp.war --outputuberjar myPayaraMicroApp.jar

执行这些方法中的任何一种后,您只需启动生成的 JAR 即可应用所有设置和配置:

java -jar myPayaraMicroApp.jar

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

如果您需要在超级 JAR 中指定 JVM 参数,您需要使用类似 capsule.io 的解决方案将 JAR 包装到启动器 JAR 中,该启动器 JAR 将为 Payara Micro 生成一个单独的 JVM 并传递参数