近日,使用Oracle Discover遇到一个可笑的问题,现将解决过程记录下来,以供后来人参考。
问题现象
Oracle Discoverer应用的7777端口可以访问,但要访问viewer或者plus,则出现连接错误。
问题分析
通过opmn查看状态,OC4J_BI_Forms不断重新启动,一会儿Alive,一会儿stop。
通过查看OC4J_BI_Forms应用日志,%BIHome%/j2ee/OC4J_BI_Forms/application-deployments/discoverer/OC4J_BI_Forms_default_island_1/application.log
09/04/16 13:11:19 Started
09/04/16 13:11:21 discoverer: jsp: init
09/04/16 13:11:21 discoverer: uix: init
09/04/16 13:11:22 discoverer: uix_help: init
09/04/16 13:11:22 discoverer: application_servlet: init
09/04/16 13:11:23 discoverer: pdf_servlet: init
09/04/16 13:11:23 discoverer: email_attach_servlet: init
09/04/16 13:11:23 discoverer: OHW: init
09/04/16 13:11:38 discoverer: Started
09/04/16 13:14:02 discoverer: BIGRAPHSERVLET: init
09/04/16 13:25:37 discoverer: BIGRAPHSERVLET: destroy
09/04/16 13:25:37 discoverer: OHW: destroy
09/04/16 13:25:37 discoverer: Stopped
09/04/16 13:25:37 Stopped (Shutdown executed by jazn.com/admin from 127.0.0.1 (127.0.0.1))
09/04/16 13:28:29 Started
09/04/16 13:28:31 discoverer: jsp: init
09/04/16 13:28:31 discoverer: uix: init
09/04/16 13:28:32 discoverer: uix_help: init
09/04/16 13:28:32 discoverer: application_servlet: init
09/04/16 13:28:33 discoverer: pdf_servlet: init
09/04/16 13:28:33 discoverer: email_attach_servlet: init
09/04/16 13:28:33 discoverer: OHW: init
09/04/16 13:28:33 discoverer: Started
09/04/16 13:29:33 discoverer: [ERROR] [AJPRequestHandler-ApplicationServerThread-6] oracle.discoverer.applications.framework.GlobalExceptionHandler.execute null
java.lang.NullPointerException
at java.io.FileOutputStream.<init>(FileOutputStream.java:172)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at java.awt.Font$2.run(Font.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Font.createFont(Font.java:600)
at oracle.discoverer.renderer.pdf.XDOConfig._discoverFonts(Unknown Source)
at oracle.discoverer.renderer.pdf.XDOConfig.<init>(Unknown Source)
at oracle.discoverer.renderer.pdf.XDOConfig.getNewInstance(Unknown Source)
at oracle.discoverer.renderer.pdf.PDFGenerator.initPDF(Unknown Source)
at oracle.discoverer.applications.viewer.model.ViewerApplication.init(Unknown Source)
at oracle.discoverer.applications.framework.ApplicationFactory.create(Unknown Source)
at oracle.discoverer.applications.framework.ApplicationController.getApplication(Unknown Source)
at oracle.discoverer.applications.framework.ApplicationController.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at oracle.discoverer.applications.framework.ApplicationEncodingFilter.doFilter(Unknown Source)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
09/04/16 13:29:33 discoverer: [ERROR] [AJPRequestHandler-ApplicationServerThread-6] oracle.discoverer.applications.framework.ApplicationController._logException error.handling.event
oracle.discoverer.applications.framework.ApplicationException: error.handling.event
at oracle.discoverer.applications.framework.GlobalExceptionHandler.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:553)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at oracle.discoverer.applications.framework.ApplicationEncodingFilter.doFilter(Unknown Source)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:224)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.NullPointerException
at java.io.FileOutputStream.<init>(FileOutputStream.java:172)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at java.awt.Font$2.run(Font.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Font.createFont(Font.java:600)
at oracle.discoverer.renderer.pdf.XDOConfig._discoverFonts(Unknown Source)
at oracle.discoverer.renderer.pdf.XDOConfig.<init>(Unknown Source)
at oracle.discoverer.renderer.pdf.XDOConfig.getNewInstance(Unknown Source)
at oracle.discoverer.renderer.pdf.PDFGenerator.initPDF(Unknown Source)
at oracle.discoverer.applications.viewer.model.ViewerApplication.init(Unknown Source)
at oracle.discoverer.applications.framework.ApplicationFactory.create(Unknown Source)
at oracle.discoverer.applications.framework.ApplicationController.getApplication(Unknown Source)
at oracle.discoverer.applications.framework.ApplicationController.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
... 14 more
09/04/16 13:29:44 discoverer: OHW: destroy
09/04/16 13:29:44 discoverer: Stopped
09/04/16 13:29:44 Stopped (Shutdown executed by jazn.com/admin from 127.0.0.1 (127.0.0.1))
09/04/16 13:31:49 Started
09/04/16 13:31:51 discoverer: jsp: init
09/04/16 13:31:51 discoverer: uix: init
09/04/16 13:31:52 discoverer: uix_help: init
09/04/16 13:31:52 discoverer: application_servlet: init
09/04/16 13:31:52 discoverer: pdf_servlet: init
09/04/16 13:31:52 discoverer: email_attach_servlet: init
09/04/16 13:31:52 discoverer: OHW: init
09/04/16 13:31:53 discoverer: Started
09