Glassfish管理控制台缓慢加载

时间:2011-05-16 19:20:53

标签: glassfish-3

今天我停止/启动了我的GlassfishV3实例,现在我无法访问位于http://servername:4848/的addmin控制台。屏幕上显示:“管理控制台正在加载...... ”现在这种情况一直在持续。

我尝试过如下:

  • 我尝试将以下条目添加到位于 / glassfishv3 / glassfish / domains / domain1 / config domain.xml ,如另一个Stack Overflow中所示Q& A但重新启动服务器后仍然没有运气。

    <java-options>-Dcom.sun.enterprise.tools.admingui.NO_NETWORK=true</java-options>

  • 我还在本地计算机上安装了glassfishv3,无法重新创建问题。我可以毫无问题地转到http://localhost:4848

  • 我还查看了 / glassfishv3 / glassfish / domains / domain1 / logs server.log jvm.log 文件>并没有什么可以解决问题。

非常感谢任何帮助

5 个答案:

答案 0 :(得分:2)

我找到了解决问题的方法。将java-option设置为NO_NETWORK为true不起作用,所以我从3.0.1升级到3.1并修复了它。虽然没有立即,但在进入管理控制台之前,我不得不停止/启动Glassfish服务器几次,而没有任何长时间的延迟。

<强>解决方案

解决方案是使用pkg实用程序从命令行升级。

您可以在此链接中找到相应的步骤: http://download.oracle.com/docs/cd/E18930_01/html/821-2437/gkthu.html#gktjf

或者执行以下操作:

  1. 转至as-install-parent / bin
  2. ./ pkg image-update
  3. as-install-parent / glassfish / bin / asadmin start-domain --upgrade domain-name
  4. as-install-parent / glassfish / bin / asadmin start-domain domain-name
  5. <强>更新 我再次遇到了性能问题,我在Joshi的科技博客中找到了另一个解决方案: http://joshitech.blogspot.com/2009/09/glassfish-application-server.html

    基本上在domain.xml中添加以下jvm选项。它应该增加Glassfish启动和部署性能:

    <jvm-options>-server</jvm-options>
    <jvm-options>-Xms3000m</jvm-options>
    <jvm-options>-Xmx3000m</jvm-options>
    <jvm-options>-XX:MaxPermSize=192m</jvm-options> 
    <jvm-options>-XX:NewRatio=2</jvm-options> 
    <jvm-options>-XX:+AggressiveHeap</jvm-options>
    <jvm-options>-XX:+AggressiveOpts</jvm-options>
    <jvm-options>-XX:+UseParallelGC</jvm-options>
    <jvm-options>-XX:+UseParallelOldGC</jvm-options>
    <jvm-options>-XX:ParallelGCThreads=5</jvm-options>
    

答案 1 :(得分:2)

我有类似的症状,我尝试了Dario的一些建议,但它没有用。可能是我的dev env有一个独特的配置:我在Windows 7 64位主机上的VirtualBox Ubuntu 11.04 64位客户机上运行Glassfish 3.1。很偶然,我发现了一个额外的症状:如果我关闭了Ubuntu guest虚拟机上的网络,控制台将在localhost浏览器实例上成功加载。也就是说,在关闭网络的Ubuntu guest上,我可以成功导航到http://localhost:4848并按预期显示Glassfish管理控制台。但是,如果Ubuntu guest虚拟机的网络处于启用状态,我会得到原始海报建议的确切行为:http://localhost:4848将永远停留在内部加载页面上。

总而言之,我发现在server-config的JVM选项中添加以下参数可以解决问题: -Djava.net.preferIPv4Stack =真

当我进行更改并重新启动Glassfish服务器时,一切正常。

(注意我还有一些上面推荐的其他设置,即NO_NETWORK = true,我调整了JVM内存占用并将其设置为-server而不是-client。可能是这些设置也是必需的,尽管在我的情况下它们本身并不充分。)

答案 2 :(得分:2)

我遇到了同样的问题。我可以在运行模式下部署,但它会在调试模式下永久挂起。 IntelliJ挂在断点上。我把断点搞得一团糟,而glassfish3的表现也很好。我没有必要更改任何domain.xml设置。 检查您的断点!

答案 3 :(得分:1)

我不知道您是否引用this answer,但还是描述了第二步(禁用更新模块)。

另外两个想法:

  1. 检查NO_NETWORK=true选项是否真的有效(GF管理控制台中不应有广告)

  2. 在启动期间观察 server.log (glassfish-install-dir / glassfis / domains / domain1 / logs),并在发生延迟之前查找最后一个日志条目。这可能是延迟来源的暗示。

答案 4 :(得分:0)

谨防盲目跟随Dario的例子,除非你的RAM比大多数人多得多。

-Xms3000m给Glassfish 3gb。你有那么多的备用RAM吗?

我在4gb Mac上尝试了这个,1gb用于Glassfish。没有任何可辨别的差异......性能仍然是sux。