Ticket #49 (closed defect: fixed)
重点问题补录:由于旧版passport引发的NoClassDefFoundError问题
| Reported by: | chenchongqi | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | 商家后台 | Version: | 5.0 |
| Keywords: | NoClassDefFoundError,passport | Cc: | |
| Due Date: |
Description (last modified by chenchongqi) (diff)
今天商城报障登录页面时常出现问题,检查了几台服务器的日志后,发现其中有一台一直在报错:
java.lang.NoClassDefFoundError: Could not initialize class cn.pconline.passport.auth.Passport
检查比较了一下几台服务器passport.jar、应用类、应用配置、resin、jdk之后没发现什么不一样的地方,为什么独有这一台会报这样的错呢?向小虎请教之后,原来是旧版本passport的初始化是放在静态方法里的,第一次初始化的时候如果不成功(网络、数据库等原因),就不能自动尝试恢复,导致这个类一直保留在无法初始化的状态,NoClassDefFoundError只是一个表象,不知道是不是初始化类失败都会归结于NoClassDefFoundError。
所以如果有数据库重启、网络中断情况的,IT商城的应用必须要重启以确保旧版passport能够正常使用。
注:新版passport已经没有这个问题。
Change History
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/global/2008/images/jss/m_logo091125.jpg)