注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

GlassFish - 部署应用故障  

2008-12-04 09:13:25|  分类: GlassFish |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  文章声明

  
作者:
傲风(aofengblog@163.com)       编写时间:2008年12月03日

网址:http://aofengblog.blog.163.com



环境
Solaris10
GlassFish V2


故障现象

1、GlassFish启动日志报错。
1)[#|2008-12-03T11:45:34.667+0800|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=10;_ThreadName=main;javax.ejb.EJBException: Transaction attribute for EJB2.0 CMP EntityBeans must be Required/RequiresNew/Mandatory;_RequestID=340efbe4-73bf-4447-a0cc-54d37a5091b2;|EJB5090创建EJB 容器[javax.ejb.EJBException: Transaction attribute for EJB2.0 CMP EntityBeans must be Required/RequiresNew/Mandatory]时发生异常|#]

2)[#|2008-12-03T11:57:48.082+0800|WARNING|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=12;_ThreadName=pool-1-thread-8;There is no web component by the name of default here.;_RequestID=93c36ee0-44de-47d0-862c-e2c4ef7c6cbe;|DPL5407从default-web.xml There is no web component by the name of default here. 填充默认 WebBundleDescriptor 时出现异常|#]

3)[#|2008-12-03T11:58:20.842+0800|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=13;_ThreadName=httpWorkerThread-4848-97;_RequestID=c014147d-62b3-4e7c-82db-4874dba8954c;|WebModule[]StandardWrapper.Throwable
java.lang.IllegalStateException: 启动时没有正确初始化应用程序,无法找到工厂: javax.faces.context.FacesContextFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
        at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
        at com.sun.enterprise.tools.admingui.servlet.DelayedInitFacesServlet.init(DelayedInitFacesServlet.java:81)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1178)


2、GlassFish管理控制台登陆后显示500错误页面,无法操作。
GlassFish - 部署应用故障排除 - 傲风 - 傲风的博客



排障过程
1、删除applications/j2ee-modules目录下面的几个目录,再次重启GlassFish,这时出现新的报错信息:
[#|2008-12-03T11:57:53.759+0800|WARNING|sun-appserver9.1|javax.enterprise.system.core.classloading
|_ThreadID=10;_ThreadName=main;webdrive_WEB-INF_lib_3rdlib_webwork_oscore;/data2/aimc4_tj/
glassfish/domains/domain1/applications/j2ee-modules/webdrive_WEB-INF_lib_3rdlib_webwork_oscore;
_RequestID=dfb6662c-ec18-4fda-81f9-680e8b9beb90;|LDR5019对于模块webdrive_WEBINF_lib_3rdlib_webwork_oscore缺少模块目录/data2/aimc4_tj/glassfish/domains/domain1/applications/j2ee-modules/webdrive_WEBINF_lib_3rdlib_webwork_oscore或模块目录/data2/aimc4_tj/glassfish/domains/domain1/applications/j2ee-modules/webdrive_WEBINF_lib_3rdlib_webwork_oscore无效|#]

根据日志的描述,虽然是手动删除了j2ee-modules目录下的几个模块,但是它的部署信息仍然在,GlassFish在启动根据部署信息去寻找这些模块的时候却找不到。

2、用asadmin undeploy卸载应用,删除部署信息。
-bash-3.00$ ./asadmin undeploy smsbox_WEB-INF_lib_3rdlib_webwork_oscore
已成功执么命令undeploy。


分析
1、将一些应用放置在了domains/domain1/autodeploy目录下,导致GlassFish自动加载部署,自动加载部署后的应用是有问题的。
放在autodeploy目录的应用示例如下:
smsbox
|-- WEB-INF
|    |-- classes
|    |-- lib
|    |-- web.xml
|-- index.jsp

2、后面在domains/domain1/applications/j2ee-modules 目录下将自动部署生成的错误的应用目录删除,再用asadmin undeploy指令卸载应用。在这过程中可能出现了一些问题,导致全部卸载后还是报“填充 WebModuleDescriptor部署描述符错误”的错误信息。


建议
关闭GlassFish的自动部署,用GlassFish的控制台部署,就不会产生这些莫明其妙的问题。


<正文结束>
  评论这张
 
阅读(3689)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017