2011-07-09 84 views
6

我使用glassfish 3.1.1(3.1版(build 43))服務器。我已經部署了一個名爲Web應用程序「作廢」 現在我已經在那裏的主人我寫了一個虛擬服務器glassfish 3.1虛擬服務器噩夢

${com.sun.aas.hostName},pradyut.dyndns.org 

在網絡偵聽我已經默認選擇

http-listener-1 

web模塊我選擇了網絡applcation命名爲「void」

現在有兩個問題:

1)每當我重新啓動http-服務隊-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) 

的解決方案是

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 

我沒有得到任何解決虛擬服務器的噩夢。 如果您無法複製上述錯誤,請從OS任務管理器中結束服務器進程。 然後開始並嘗試。

順便說一句如何發出玻璃魚票? glassfish bugzilla在哪裏?

+0

以下是Glassfish的問題跟蹤器,http://java.net/jira/browse/GLASSFISH –

回答

2

我在使用Glassfish 3.1.2.2時遇到了同樣的問題,並且花費了更多的時間來修復它,而不是我會承認的,我想我有一個解決方案。

我創建8臺虛擬服務器,並試圖在每一次一個設置默認Web模塊,從而確保應用程序被設置爲在編輯應用程序頁面選擇的虛擬服務器上運行(使用4848管理控制檯)。它在字母表中的「服務器」之前的每個虛擬服務器上工作,而不是在字母表中的「服務器」之後的任何虛擬服務器上。在這種情況下,標準虛擬服務器「server」被設置爲http-listener默認虛擬服務器。

我將http-listener的默認虛擬服務器設置爲一個名爲「zzz」的新虛擬服務器,現在我似乎可以爲其他虛擬服務器設置默認Web模塊而不會發生此錯誤(再次檢查應用程序配置設置正確)。

在我的domain.xml文件中,虛擬服務器按添加的順序列出,這對問題沒有影響。我認爲可以肯定地說這是一個錯誤而不是配置錯誤。

我希望我已經解釋了這一點,因爲我剛開始嘗試瞭解服務器/ glassfish如何工作。