It worked perfectly on my local machine, but not on web server (web62-node2). Obviously, JAI was trying to call some X windows functions. But there isn't X server on web server at all.
And because there isn't any java GUI in my web app. So I tried to set JAVA_OPTS="-Djava.awt.headless=true" to avoid calling X windows stuff. But it still didn't work. I tried to "export DISPLAY='blablabla'". It didn't work either.
Finally, it worked after "unsetenv DISPLAY".
So solution is:
1. export JAVA_OPTS="-Djava.awt.headless=true"
2. unsetenv DISPLAY
java.lang.InternalError: Can't connect to X11 window server using 'web62-node2:0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
at sun.awt.X11.XToolkit.
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at java.awt.Toolkit$2.run(Toolkit.java:836)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:828)
at javax.swing.ImageIcon.
at javax.swing.ImageIcon.
at uk.ac.ebi.compneur.image.ThumbnailUtil.resize(ThumbnailUtil.java:35)
at uk.ac.ebi.biomodels.SimulationsDatabase.generateThumbnail(SimulationsDatabase.java:278)
at uk.ac.ebi.biomodels.ModelBean$Part5.doConditionIsTrue(ModelBean.java:3471)
at uk.ac.ebi.biomodels.ModelBean$DefaultPlainBean.conditionIsTrue(ModelBean.java:3226)
at uk.ac.ebi.compneur.jsp.ConditionBean.processRequest(ConditionBean.java:65)
at uk.ac.ebi.biomodels.DefaultBean.processRequest(DefaultBean.java:272)
at uk.ac.ebi.compneur.jsp.WholePartBean.processRequest(WholePartBean.java:141)
at uk.ac.ebi.compneur.jsp.WholePartBean.processRequest(WholePartBean.java:117)
at uk.ac.ebi.compneur.jsp.BaseBean.processRequest(BaseBean.java:81)
at org.apache.jsp.publ_002dmodel_002dtab_jsp._jspService(publ_002dmodel_002dtab_jsp.java:52)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
No comments:
Post a Comment