NullPointerException when not setting password

User 8b0754eda2

24-10-2007 22:01:40

Hi,





I didn't use jchem_core_pkg.use_password() but I thought that it would then use the default username and password setting that's in the JChem server configuration page. But when I did a structure search, I got a NullPointerException. We're using jchem version 3.1.7.1.


The stack trace is copied below.





Is there anything special so that I don't need to set the password? Also, I believe in the documentation that I only need to set the password once in a connection because it is saved in the JChem server's memory, is that correct?





Thanks,





- Suk


The stack trace looks like this:


java.lang.NullPointerException


at oracle.jdbc.pool.OracleConnectionCacheImpl.getPooledConnection(OracleConnectionCacheImpl.java:301)


at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:259)


at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:237)


at chemaxon.jchem.cartridge.servlets.JChemCached.setConnectionNonSynch(JChemCached.java:430)


at chemaxon.jchem.cartridge.servlets.JChemCached.setConnectionStatic(JChemCached.java:407)


at chemaxon.jchem.cartridge.servlets.JChemCached.setConnection(JChemCached.java:401)


at chemaxon.jchem.interop.core.InteropJChemSearch.search0(InteropJChemSearch.java:354)


at chemaxon.jchem.interop.core.InteropJChemSearch.search(InteropJChemSearch.java:332)


at chemaxon.jchem.interop.core.InteropJChemSearch.search(InteropJChemSearch.java:301)


at chemaxon.jchem.cartridge.servlets.JChemCached.doSearch(JChemCached.java:529)


at chemaxon.jchem.cartridge.servlets.JChemCached.doPerform(JChemCached.java:325)


at chemaxon.jchem.cartridge.servlets.JChemCached.process(JChemCached.java:84)


at chemaxon.jchem.cartridge.servlets.JChemServletBase.doPost(JChemServletBase.java:232)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)


at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)


at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)


at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)


at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)


at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)


at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)


at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)


at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)


at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)


at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)


at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)


at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

ChemAxon aa7c50abf8

25-10-2007 09:48:26

Hi Suk,
Quote:
But when I did a structure search, I got a NullPointerException. We're using jchem version 3.1.7.1.
Works for me.





Have you tried restarting Tomcat and opening a new database session?
Quote:
Also, I believe in the documentation that I only need to set the password once in a connection because it is saved in the JChem server's memory, is that correct?


Yes, this applies to jchem_core_pkg.use_password() -- it will save the password for the "current" user in Tomcat's memory. The password will be available for all connections initiated by the the same user for the lifetime of the JChemStreams WEB-application in Tomcat. It is sufficient therefore to call this procedure once per user for Tomcat's (or more precisely the JChemStreams WEB-application's) lifetime.





Thanks


Peter