glassfish 3.1虚拟服务器噩梦

Pra*_*rya 6 servlets java-ee glassfish-3

我使用glassfish 3.1.1(3.1版(build 43))服务器.我已经部署了一个名为"void"的Web应用程序 现在我已经在我编写的主机中创建了一个虚拟服务器

${com.sun.aas.hostName},pradyut.dyndns.org
Run Code Online (Sandbox Code Playgroud)

在我选择的网络听众中

http-listener-1
Run Code Online (Sandbox Code Playgroud)

在默认的Web模块中,我选择了名为"void"的Web应用程序

现在有两个问题:

1)每当我重新启动服务器时,http-sevice-1都会脱机,并且每次请求都会转储堆栈跟踪: -

    SEVERE: PWC3989: An exception or error occurred in the container during the request processing
java.lang.ClassCastException: com.sun.grizzly.config.ContextRootInfo cannot be cast to org.apache.catalina.Context
at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:515)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:267)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
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:619)
Run Code Online (Sandbox Code Playgroud)

解决方案是

1)取消部署应用程序无效.

2)重启服务器.

3)部署应用程序无效

没有聚类的glassfish 3.0中这不是问题(我记得).

第二个问题是每当我创建一个虚拟服务器时,我都会收到错误:

    INFO: webContainer.virtual-server.loadedDefaultWebModule
SEVERE: WEB0163: Exception processing HttpService configuration change
org.apache.catalina.LifecycleException: java.lang.Exception: No context matching /void deployed on virtual server void
at com.sun.enterprise.web.WebContainer.updateDefaultWebModule(WebContainer.java:2034)
at com.sun.enterprise.web.WebContainer.updateHost(WebContainer.java:2916)
at com.sun.enterprise.web.WebContainer.updateHttpService(WebContainer.java:3047)
at com.sun.enterprise.web.reconfig.WebConfigListener$1.changed(WebConfigListener.java:159)
at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:332)
at com.sun.enterprise.web.reconfig.WebConfigListener.changed(WebConfigListener.java:114)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:379)
at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:369)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:259)
at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:257)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.Exception: No context matching /void deployed on virtual server void
at com.sun.grizzly.util.http.mapper.Mapper.addDefaultContext(Mapper.java:795)
at com.sun.grizzly.util.http.mapper.Mapper.setDefaultContextPath(Mapper.java:759)
at com.sun.enterprise.web.WebContainer.updateDefaultWebModule(WebContainer.java:2026)
... 14 more
Run Code Online (Sandbox Code Playgroud)

我没有任何解决虚拟服务器噩梦的方法.如果无法复制上述错误,请从OS任务管理器结束服务器进程.然后开始尝试.

BTW如何在玻璃鱼中发票?glassfish bugzilla在哪里?

And*_*K11 2

我在使用 Glassfish 3.1.2.2 时遇到了同样的问题,在花费了比我愿意承认的更多的时间尝试修复它之后,我想我有一个解决方案。

我创建了 8 个虚拟服务器,并尝试一次在每个虚拟服务器上设置默认 Web 模块,确保应用程序设置为在编辑应用程序页面中选定的虚拟服务器上运行(使用 4848 上的管理控制台)。它适用于字母表中“服务器”之前的每个虚拟服务器,而不适用于字母表中“服务器”之后的任何虚拟服务器。在本例中,标准虚拟服务器“server”被设置为 http 侦听器默认虚拟服务器。

我将 http 侦听器的默认虚拟服务器设置为一个名为“zzz”的新虚拟服务器,现在我似乎能够为其他虚拟服务器设置默认 Web 模块,而不会发生此错误(再次检查应用程序配置设置正确)。

在我的domain.xml 文件中,虚拟服务器按添加顺序列出,这对问题没有影响。我认为可以肯定地说这是一个错误而不是配置错误。

我希望我已经很好地解释了这一点,因为我刚刚开始尝试学习服务器/glassfish 的工作原理。