2011-09-28 60 views
2

我有一个突然动作的Glassfish 3.1生产服务器。上周没事。今天早上它试图加载管理控制台(localhost:4848)时会抛出一个NPE。在尝试运行服务器上的4个应用程序中的3个时,它也会引发同样的错误。其中一个应用程序工作正常。所有的应用程序都是具有LDAP安全性的JSF。Glassfish - 无法打开管理控制台 - 抛出NPE

我有一个测试服务器在不同的盒子上,使用差不多相同的配置文件,工作正常。

服务器是Win2003R2SP2。 Java是jdk1.6.0_26。
我已重新启动服务,甚至重新启动主机服务器。 我也尝试了-Dcom.sun.enterprise.tools.admingui.NO_NETWORK = true设置。

这是当我尝试连接到管理控制台或运行这些应用程序之一发生的日志条目:

 [#|2011-09-28T09:15:53.059-0400|SEVERE|glassfish3.1|org.apache.catalina.connector.CoyoteAdapter|_ThreadID=21;_ThreadName=Thread-1;|PWC3989: An exception or error occurred in the container during the request processing 
java.lang.NullPointerException 
at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:922) 
at org.apache.catalina.session.ManagerBase.remove(ManagerBase.java:915) 
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:847) 
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:769) 
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:757) 
at org.apache.catalina.session.StandardSession.setMaxInactiveInterval(StandardSession.java:587) 
at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:762) 
at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:311) 
at org.apache.catalina.connector.Request.doGetSession(Request.java:2899) 
at org.apache.catalina.connector.Request.getSession(Request.java:2561) 
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920) 
at org.glassfish.admingui.common.security.AdminConsoleAuthModule.validateRequest(AdminConsoleAuthModule.java:169) 
at com.sun.enterprise.security.jmac.config.GFServerConfigProvider$GFServerAuthContext.validateRequest(GFServerConfigProvider.java:1171) 
at com.sun.web.security.RealmAdapter.validate(RealmAdapter.java:1311) 
at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1189) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:551) 
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:623) 
at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600) 
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96) 
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) 
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) 
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228) 
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) 
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) 
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) 
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) 
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
at java.lang.Thread.run(Thread.java:662) 
|#] 

[#|2011-09-28T09:15:53.105-0400|SEVERE|glassfish3.1|org.apache.catalina.connector.CoyoteAdapter|_ThreadID=18;_ThreadName=Thread-1;|PWC3989: An exception or error occurred in the container during the request processing 
java.lang.NullPointerException 
at java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:922) 
at org.apache.catalina.session.ManagerBase.remove(ManagerBase.java:915) 
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:847) 
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:769) 
at org.apache.catalina.session.StandardSession.expire(StandardSession.java:757) 
at org.apache.catalina.session.StandardSession.setMaxInactiveInterval(StandardSession.java:587) 
at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:762) 
at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:311) 
at org.apache.catalina.connector.Request.doGetSession(Request.java:2899) 
at org.apache.catalina.connector.Request.getSession(Request.java:2561) 
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920) 
at org.glassfish.admingui.common.security.AdminConsoleAuthModule.validateRequest(AdminConsoleAuthModule.java:169) 
at com.sun.enterprise.security.jmac.config.GFServerConfigProvider$GFServerAuthContext.validateRequest(GFServerConfigProvider.java:1171) 
at com.sun.web.security.RealmAdapter.validate(RealmAdapter.java:1311) 
at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1189) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:551) 
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:623) 
at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600) 
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96) 
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162) 
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227) 
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228) 
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822) 
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719) 
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013) 
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225) 
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) 
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) 
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) 
at com.sun.grizzly.ContextTask.run(ContextTask.java:71) 
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 
at java.lang.Thread.run(Thread.java:662) 
|#] 

什么就考虑将不胜感激任何建议。我可以根据需要发布更多配置。

感谢

+0

哪个是管理控制台的语言?我记得我在使用非英文语言访问Realm配置时有例外。这是一个已知的错误。 – perissf

+0

美国英语 - 我不知道任何其他非编程语言。 :) – Jon

+0

我在这方面取得了进展。这似乎是超时和恢复会话的问题。生产服务器在服务器配置区域中有此行:session-properties timeout-in-seconds =“0”。这似乎导致了上述n。删除它并重新启动服务器已让我回来,并且应用程序正在运行。我只需要弄清楚如何在没有这个错误的情况下关闭超时。 – Jon

回答

2

我有完全一样的例外有必要杀人通过命令行kill -9命令所有的Glassfish的过程之后。一个正常的asadmin restart-domain不可能执行。

所以在这个强制杀死后,admin web-frontend不再可用。

我已经通过执行

asadmin set server.web-container.session-config.session-properties.timeout-in-seconds=3600 

之后,我通过正常

asadmin restart-domain 

,然后GlassFish管理控制台看起来像往常一样重新启动Glassfish的解决了这个问题。

+0

这帮了我很大的时间。谢谢! – anton1980

相关问题