I have been using OJB since 0.99. After I’ve upgraded to OJB 1.0.3, I found
the following exception after running the web application for days. After the
following exception has been thrown, OJB seems to have problems retrieving
references such as returning null objects but without exception.
The only way to resolve the problem is to restart the application server.
<jdbc-connection-descriptor
jcd-alias="espresso"
default-connection="true"
platform="MsSQLServer"
jdbc-level="2.0"
jndi-datasource-name="java:comp/env/jdbc/DefaultDS"
eager-release="false"
batch-mode="false"
useAutoCommit="1"
ignoreAutoCommitExceptions="false"
>
<object-cache
class="org.apache.ojb.broker.cache.ObjectCacheDefaultImpl">
<attribute attribute-name="cacheExcludes" attribute-value=""/>
<attribute attribute-name="timeout" attribute-value="30"/>
<attribute attribute-name="autoSync" attribute-value="true"/>
<attribute attribute-name="cachingKeyType" attribute-value="0"/>
<attribute attribute-name="useSoftReferences" attribute-value="true"/>
</object-cache>
<sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNativeImpl">
<attribute attribute-name="grabSize" attribute-value="1"/>
</sequence-manager>
</jdbc-connection-descriptor>
org.apache.ojb.broker.PersistenceBrokerException: java.lang.NullPointerException
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:261)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:273)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1367)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:338)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:338)
at
com.tictas.espresso.dao.calendar.MemoDAO.getByYearMonth(MemoDAO.java:48)
at
com.tictas.espresso.action.calendar.ShowCalendar.executeAction(ShowCalendar.java:99)
at com.tictas.espresso.action.BaseAction.execute(BaseAction.java:61)
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.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:90)
at
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:99)
at
com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115)
at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at
com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:263)
at
com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:101)
at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:152)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:90)
at
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:99)
at
jodd.servlet.filters.SetCharacterEncoding.doFilter(SetCharacterEncoding.java:90)
at
com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:163)
at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:259)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:341)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:467)
at com.caucho.util.ThreadPool.run(ThreadPool.java:408)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at com.jnetdirect.jsql.am.clearParameters(Unknown Source)
at
com.caucho.sql.UserPreparedStatement.clearParameters(UserPreparedStatement.java:136)
at
com.caucho.sql.UserPreparedStatement.close(UserPreparedStatement.java:439)
at
org.apache.ojb.broker.accesslayer.ResultSetAndStatement.close(ResultSetAndStatement.java:81)
at
org.apache.ojb.broker.accesslayer.RsIterator.releaseDbResources(RsIterator.java:790)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:203)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:253)
... 37 more