Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Finder problem with Websphere 4.0.1

2 views
Skip to first unread message

Dirk-Jan van der Pol

unread,
Nov 29, 2001, 5:21:45 AM11/29/01
to
We have the following strange problem:

From a session bean we start a finder (findall) of an CMP entity-bean.
This is the code which is doing this.

/** geeft een lijst van tussenpersoon nummers terug, die op de
opgegeven parameter lijken */
public Hashtable getSoortgelijkeTpNummers(BigDecimal tpNummerDeel) {
try {
int i = 0;
String tpNummerString = tpNummerDeel.toString();

Hashtable alleTpsHash = new Hashtable();
Hashtable tpHash;
Collection tpCollect = tussenpersHome.findAll();
Iterator tussenpersIter = tpCollect.iterator();
while (tussenpersIter.hasNext()) {
tussenpers =
(Tussenpers)Util.narrow(tussenpersIter.next(), Tussenpers.class);
if (tpNummerString .equals("0") ||
tussenpers.getDistrNr().toString().startsWith(tpNummerString)) {
tpHash = new Hashtable();
tpHash.put("tussenpersid",
tussenpers.getTussenpersId());
tpHash.put("corrnaam", tussenpers.getCorrNaam());
tpHash.put("distrnr", tussenpers.getDistrNr());
alleTpsHash.put(Integer.toString(i++), tpHash);
}
}
return alleTpsHash;
} catch (RemoteException re)
{System.out.println("RemoteException: " + re.getMessage()); return
null;}
catch (FinderException fe)
{System.out.println("FinderException: " + fe.getMessage()); return
null;}
}

When we start this method we get an write error. The strange thing is
that we do not start a write from our application. It looks like
Websphere is doing this itself. Please help.

Thnx,

Dirk-Jan

CNTR0021E: Non-application exception occurred on bean
BeanId(aebot#aebotEntity.jar#Tussenpers,
aebot.ejb.tussenperspack.TussenpersPK@6a9):
com.ibm.websphere.cpi.CPIException: java.sql.SQLException: ORA-01407:
cannot update ("AEBOTDEV"."TUSSENPERS"."BEZOEK_POSTCODE") to NULL
; nested exception is:
java.sql.SQLException: ORA-01407: cannot update
("AEBOTDEV"."TUSSENPERS"."BEZOEK_POSTCODE") to NULL

java.sql.SQLException: ORA-01407: cannot update
("AEBOTDEV"."TUSSENPERS"."BEZOEK_POSTCODE") to NULL

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.executeFetch(TTC7Protocol.java:729)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1452)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
at com.ibm.ejs.cm.cache.CachedStatement.executeUpdate(CachedStatement.java:235)
at com.ibm.ejs.cm.proxy.PreparedStatementProxy.executeUpdate(PreparedStatementProxy.java:164)
at aebot.ejb.tussenperspack.EJSJDBCPersisterCMPTussenpersBeanCMP.store(EJSJDBCPersisterCMPTussenpersBeanCMP.java:513)
at com.ibm.ejs.container.ContainerManagedBeanO.store(ContainerManagedBeanO.java:265)
at com.ibm.ejs.container.EntityBeanO.beforeCompletion(EntityBeanO.java:678)
at com.ibm.ejs.container.ContainerTx.beforeCompletion(ContainerTx.java:292)
at com.ibm.ejs.util.tran.SyncDriver.before_completion(SyncDriver.java:111)
at com.ibm.ejs.jts.jts.CoordinatorImpl$Sync.beforePrepare(CoordinatorImpl.java:681)
at com.ibm.ejs.jts.tran.EventCallback.executeCallback(EventCallback.java:166)
at com.ibm.ejs.jts.tran.EventCallback.executeCallbackTree(EventCallback.java:132)
at com.ibm.ejs.jts.tran.EventPrepare.ExecuteBeforePrepareCallbacks(EventPrepare.java:297)
at com.ibm.ejs.jts.tran.EventPrepare.event_LocalPrepareWork(EventPrepare.java:277)
at com.ibm.ejs.jts.tran.EventPrepare.event_BecomeCoordinator(EventPrepare.java:960)
at com.ibm.ejs.jts.tran.EventControl.event_EndTopLevel(EventControl.java:295)
at com.ibm.ejs.jts.tran.TrecInterface.end(TrecInterface.java:88)
at com.ibm.ejs.jts.jts.TerminatorImpl.commit(TerminatorImpl.java:89)
at com.ibm.ejs.jts.jts.CurrentImpl.commit(CurrentImpl.java:192)
at com.ibm.ejs.jts.jts.CurrentSet.commit(CurrentSet.java:256)
at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:190)
at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:67)
at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(TransactionControlImpl.java:411)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:2368)
at aebot.ejb.midgebruikerpack.EJSRemoteStatefulMidGebruiker.getSoortgelijkeTpNummers(EJSRemoteStatefulMidGebruiker.java:396)
at aebot.ejb.midgebruikerpack._MidGebruiker_Stub.getSoortgelijkeTpNummers(_MidGebruiker_Stub.java:856)
at aebot.beans.jspGebruikerBean.getSoortgelijkeTpNummers(jspGebruikerBean.java:316)
at gebruiker.lijst_0005ftussenpersonen_jsp_0._jspService(lijst_0005ftussenpersonen_jsp_0.java:314)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:139)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:286)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:415)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:544)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:159)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:286)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:106)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:499)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:278)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:105)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:67)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:123)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:313)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:242)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)

Bibhas Bhattacharya

unread,
Dec 27, 2001, 10:07:38 PM12/27/01
to
Are the getter methods of the CMP EJB flagged as read only? Otherwise,
the container will save all EJB instances in the database before
ending the transaction.

Bibhas Bhattacharya
www.webagesolutions.com

0 new messages