最近弄了一次Oracle的OFSAA软件,在部署程序时遇到个问题。目前网络上ofsaa的知识共享很少,在此分享给大家
Symptoms
错误信息较多,现截取重要的错误部分,如下:
<Jan 12, 2015 5:59:46 PM CST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: [HTTP:101216]Servlet: "FICMaster" failed to preload on startup in Web application: "/OFSAA73".
java.lang.NullPointerException
at com.iflex.fic.common.Log4jLogger.initialize(Log4jLogger.java:116)
at com.iflex.fic.common.Log4jLogger.initializeLog4j(Log4jLogger.java:55)
at com.iflex.fic.ficml.FICMaster.init(FICMaster.java:127)
Cause
1. The Data Source for FICMASTER was not created (under JDBC), it was only created for Infodom.
2. The entry for Infodom on the Weblogic server did not match the corresponding entry from web.xml.
3. Deployment was created without having the infrastructure server up.
4. User didn‘t have full privileges on the deployment directories: the *.ear and *.war dirs.
5. The user who started Weblogic was ofsaa user and not the user who installed weblogic.
这个问题一般都是由上述5种情况导致,本次错误就是FICMASTER数据源创建错误导致部署后程序无法启动
Solution
参考Cannot Start Weblogic for OFSAA On Solaris - Missing EJB STATELESSCACHEBEANBEAN (文档 ID 1240965.1)
按照文档中依次检查原因,按照如下方法尝试解决问题
1. Create a DataSource and add a new entry for it in web.xml under WEB-INF.
Then, in the last deployment step: StateLessCacheBeanBean will show up under EJBs and also a link pointing to WEB-INF/lib/webcache.jar.
2. Re-create the Data Source entry for Infodom on the Weblogic server to match the entry from web.xml.
3. Start ./reveleusstartup.sh, re-create the deployment and then upload it again.
4. Grant full permissions on the deployment ear folder by running chmod 777 command.
5. Start Weblogic (startWeblogic.sh -d64) as the user who installed Weblogic.