如何在glassfish 4.0中添加JVM选项?

时间:2014-07-11 13:42:46

标签: glassfish-4 asadmin

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的输出,是吗?

3 个答案:

答案 0 :(得分:2)

  

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

您必须使用asadmin delete-jvm-options删除JVM选项:

asadmin delete-jvm-options '-XX\:MaxPermSize=192m'

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

asadmin create-jvm-options '-XX\:MaxPermSize=1024m'

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

  

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

如果你按照上面的说明,我想这个问题已经过时了。

  

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

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

<强>更新

  

为了删除选项,我必须知道键和值(我该怎么做)   如果选项集是-XX:MaxPermSize = 193m - &gt;它不会被删除,   但asadmin会产生第二种选择(订单不清楚),   因此我必须解析asadmin的输出   列表-JVM-选项)。

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

  

asadmin如何告诉我(返回代码,输出,......)?

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

deleted 1 option(s)
Command delete-jvm-options executed successfully.

created 1 option(s)
Command create-jvm-options executed successfully.

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

  

我指的是GF 4.0,所以指向3.0.1管理指南的链接是   过时。

他们不是,GlassFish政府和asadmin在GlassFish 3和4中的平等率是99.9%。

  

逃避问题怎么样?

我无法重现这一点,也许一次只设置一个值或将参数和值包装在引号中会有所帮助。

另见:

答案 1 :(得分:1)

[glassfish @ 6b99de007186 /] $ asadmin delete-jvm-options -client:&#39; -XX:MaxPermSize = 192m&#39;: - Xmx512m 已删除3个选项 命令delete-jvm-options已成功执行。

[glassfish @ 6b99de007186 /] $ asadmin create-jvm-options -server:&#39; -XX:MaxPermSize = 256m&#39;: - Xmx1024m 创建了3个选项 命令create-jvm-options已成功执行。

答案 2 :(得分:0)

命令行的其他替代方法是手动将JVM属性添加到Glassfish domain.xml文件中。

您可以在以下位置找到该文件: 轻拍到glassgish \ Glassfish的\的glassfish \域\ YOURDOMAIN \配置

在那里你会看到jvm-options的一个版本,如下所示:

<jvm-options>-Dhttps.protocols=TLSv1.2</jvm-options>

你可以在那里添加你的。

我希望它有所帮助: - )