如何向 glassfish 4.0 添加 JVM 选项?

Kar*_*ter 3 asadmin glassfish-4

glassfish 管理指南指出应该添加 JVM 选项asadmin create-jvm-options -Dkey=value:-Dkey=valuehttps://glassfish.java.net/docs/4.0/administration-guide.pdf , S. 120)。当然,这些示例不包括添加包含:和选项开头的选项的有趣和教学重要案例,-XX而不是-D。据介绍逃跑:\,虽然。调用asadmin create-jvm-options -XX\:MaxPermSize=1024m:-Xmx4096会添加这两个选项,而不会删除\哪个(正确)防止(错误)选项被识别。在这里进行的正确方法是什么?

如何覆盖现有选项?如果使用相同的值指定选项名称,则asadmin create-jvm-options抱怨该选项已存在,指定了另一个值,两个值都存在(-> 使用了哪个?)。我真的不必解析和评估 的输出asadmin list-jvm-options,是吗?

如何确定是否已添加选项,即是否必须重新启动域?同样的问题:我真的不必解析和评估asadmin list-jvm-options添加选项之前和之后的输出,对吗?

unw*_*ich 5

在这里进行的正确方法是什么?

您必须使用以下命令删除 JVM 选项asadmin delete-jvm-options

asadmin delete-jvm-options '-XX\:MaxPermSize=192m'
Run Code Online (Sandbox Code Playgroud)

然后使用新值再次添加选项:

asadmin create-jvm-options '-XX\:MaxPermSize=1024m'
Run Code Online (Sandbox Code Playgroud)

更改 JVM 选项后始终需要重新启动服务器。

如何覆盖现有选项?如果使用相同的值指定选项名称,则asadmin create-jvm-options抱怨该选项已存在,指定了另一个值,两个值都存在(-> 使用了哪个?)。我真的不必解析和评估 的输出asadmin list-jvm-options,是吗?

如果您按照上述说明操作,我想这个问题已经过时了。

如何确定是否已添加选项,即是否必须重新启动域?同样的问题:我真的不必解析和评估asadmin list-jvm-options添加选项之前和之后的输出,对吗?

asadmin命令会告诉您它是否已成功添加或删除选项。如果您尝试删除不存在的选项,asadmin则会告诉您没有删除选项,因为它不存在。

更新:

为了删除选项,我必须知道键和值(如果选项集是 -XX:MaxPermSize=193m 我该怎么办 -> 它不会被删除,但 asadmin 会产生第二个选项(顺序不清楚) ),因此我必须解析 asadmin list-jvm-options 的输出)。

193m如果您之前没有设置它(然后您可能知道它),为什么它应该具有该值?如果它有这个值,是的,你是对的,你必须解析 的输出list-jvm-options才能找到它。你也可以写它试图通过增加参数(可删除该值的脚本192m193m194m等等),但是这将需要很长的时间才能完成。

asadmin 如何告诉我这个(返回代码、输出等)?

它输出人类可读的消息,如下所示:

deleted 1 option(s)
Command delete-jvm-options executed successfully.
Run Code Online (Sandbox Code Playgroud)

或者

created 1 option(s)
Command create-jvm-options executed successfully.
Run Code Online (Sandbox Code Playgroud)

亲自尝试查看不同的消息。

我指的是 GF 4.0,因此指向 3.0.1 管理指南的链接已过时。

它们不是 GlassFish 管理,并且asadmin在 GlassFish 3 和 4 中 99.9% 相等。

逃跑的问题呢?

我无法重现,也许一次只设置一个值或将参数和值用引号括起来会有所帮助。

也可以看看: