on 07-12-2006 6:15 AM
Hai,
I wrote a EJB Project to retrieve data from the Maxdb.
It will working fine when there is 300 records .
when i tried to retrieve data morethan 7000 records. its throwing EJBEception.
please help me out
the Exception atack trace is as follows
com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method in.testing.TestingEntityLocalHomeImpl0.findAll().
at in.testing.TestingEntityLocalHomeImpl0.findAll(TestingEntityLocalHomeImpl0.java:553)
at in.testing.TestingSessionBean.retrieveall(TestingSessionBean.java:130)
at in.testing.TestingSessionLocalLocalObjectImpl0.retrieveall(TestingSessionLocalLocalObjectImpl0.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)
at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)
at SoapServlet.doPost(SoapServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:391)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:265)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
Caused by: com.sap.engine.services.ejb.exceptions.BaseEJBException: TechnicalLockException when trying to lock the instance before reading.
at com.sap.engine.services.ejb.entity.pm.lock.TableLockingSystem.read(TableLockingSystem.java:59)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.lockFoundObjects(UpdatablePersistent.java:233)
at in.testing.TestingEntityBean0PM.ejbFindAll(TestingEntityBean0PM.java:257)
at in.testing.TestingEntityLocalHomeImpl0.findAll(TestingEntityLocalHomeImpl0.java:525)
... 27 more
Caused by: com.sap.engine.frame.core.locking.TechnicalLockException: Cannot lock [2006071210445259100000javadev0010..................2182850, %TMP_TEST1 Sr+fLA, 0.6035022883300946, S]; table-overflow (returncode = 16).
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:173)
at com.sap.engine.core.locking.AbstractLockingManagerImpl.lock(AbstractLockingManagerImpl.java:420)
at com.sap.engine.services.applocking.AbstractBaseLocking.lockInternal(AbstractBaseLocking.java:126)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:129)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:138)
at com.sap.engine.services.ejb.entity.pm.lock.TableLockingSystem.read(TableLockingSystem.java:53)
... 30 more
Caused by: SERVER ERROR:
Code...: 16
Name...: ENQ_OVERFLOW
Text...: table overflow
at com.sap.bc.krn.enqu.EnquConv.convToRespose(EnquConv.java:366)
at com.sap.bc.krn.enqu.EnquLocktableClient.lockOpChunk(EnquLocktableClient.java:632)
at com.sap.bc.krn.enqu.EnquLocktableClient.lockOpTimeout(EnquLocktableClient.java:273)
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:145)
... 35 more
com.sap.engine.services.ejb.exceptions.BaseEJBException: TechnicalLockException when trying to lock the instance before reading.
at com.sap.engine.services.ejb.entity.pm.lock.TableLockingSystem.read(TableLockingSystem.java:59)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.lockFoundObjects(UpdatablePersistent.java:233)
at in.testing.TestingEntityBean0PM.ejbFindAll(TestingEntityBean0PM.java:257)
at in.testing.TestingEntityLocalHomeImpl0.findAll(TestingEntityLocalHomeImpl0.java:525)
at in.testing.TestingSessionBean.retrieveall(TestingSessionBean.java:130)
at in.testing.TestingSessionLocalLocalObjectImpl0.retrieveall(TestingSessionLocalLocalObjectImpl0.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)
at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)
at SoapServlet.doPost(SoapServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:391)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:265)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
Caused by: com.sap.engine.frame.core.locking.TechnicalLockException: Cannot lock [2006071210445259100000javadev0010..................2182850, %TMP_TEST1 Sr+fLA, 0.6035022883300946, S]; table-overflow (returncode = 16).
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:173)
at com.sap.engine.core.locking.AbstractLockingManagerImpl.lock(AbstractLockingManagerImpl.java:420)
at com.sap.engine.services.applocking.AbstractBaseLocking.lockInternal(AbstractBaseLocking.java:126)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:129)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:138)
at com.sap.engine.services.ejb.entity.pm.lock.TableLockingSystem.read(TableLockingSystem.java:53)
... 30 more
Caused by: SERVER ERROR:
Code...: 16
Name...: ENQ_OVERFLOW
Text...: table overflow
at com.sap.bc.krn.enqu.EnquConv.convToRespose(EnquConv.java:366)
at com.sap.bc.krn.enqu.EnquLocktableClient.lockOpChunk(EnquLocktableClient.java:632)
at com.sap.bc.krn.enqu.EnquLocktableClient.lockOpTimeout(EnquLocktableClient.java:273)
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:145)
... 35 more
com.sap.engine.frame.core.locking.TechnicalLockException: Cannot lock [2006071210445259100000javadev0010..................2182850, %TMP_TEST1 Sr+fLA, 0.6035022883300946, S]; table-overflow (returncode = 16).
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:173)
at com.sap.engine.core.locking.AbstractLockingManagerImpl.lock(AbstractLockingManagerImpl.java:420)
at com.sap.engine.services.applocking.AbstractBaseLocking.lockInternal(AbstractBaseLocking.java:126)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:129)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:138)
at com.sap.engine.services.ejb.entity.pm.lock.TableLockingSystem.read(TableLockingSystem.java:53)
at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.lockFoundObjects(UpdatablePersistent.java:233)
at in.testing.TestingEntityBean0PM.ejbFindAll(TestingEntityBean0PM.java:257)
at in.testing.TestingEntityLocalHomeImpl0.findAll(TestingEntityLocalHomeImpl0.java:525)
at in.testing.TestingSessionBean.retrieveall(TestingSessionBean.java:130)
at in.testing.TestingSessionLocalLocalObjectImpl0.retrieveall(TestingSessionLocalLocalObjectImpl0.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:157)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:79)
at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)
at SoapServlet.doPost(SoapServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:391)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:265)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
Caused by: SERVER ERROR:
Code...: 16
Name...: ENQ_OVERFLOW
Text...: table overflow
at com.sap.bc.krn.enqu.EnquConv.convToRespose(EnquConv.java:366)
at com.sap.bc.krn.enqu.EnquLocktableClient.lockOpChunk(EnquLocktableClient.java:632)
at com.sap.bc.krn.enqu.EnquLocktableClient.lockOpTimeout(EnquLocktableClient.java:273)
at com.sap.engine.core.locking.impl3.LockingManagerImpl.lockInternal(LockingManagerImpl.java:145)
... 35 more
Hi,
What do you have in persistent.xml on General tab for locking options?
Best regards, Maksim Rashchynski.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hm, really chalanging stuff...
Try to playaround with <lazy-loading> and <fetch-size> tags in persistent.xml
http://help.sap.com/saphelp_nw04/helpdata/en/d2/369f1dddb7ff4c96c2bacdd7aa6c87/frameset.htm
Hai,
public TestVO[] retrieveall() {
TestVO[] objTesArrVO;
try {
Collection coll=objTestingEntityLocalHome.findAll();
objTesArrVO = new TestVO[coll.size()];
Iterator itr=coll.iterator();
int i=0;
while(itr.hasNext()){
TestVO objTestVO=new TestVO();
objTestingEntityLocal=(TestingEntityLocal)itr.next();
objTestVO.setStrkey(objTestingEntityLocal.getStrString));
objTestVO.setDteDateobjTestingEntityLocal.getDteDate());
objTestVO.setIntint(objTestingEntityLocal.getIntint());
objTestVO.setDoubledouble(objTestingEntityLocal.getDblDouble());
objTesArrVO<i>=objTestVO;
i++;
}
return objTesArrVO;
} catch (Exception e) {
TestVO objTestVO=new TestVO();
objTestVO.setStrkey(""+e.getLocalizedMessage());
objTesArrVO=new TestVO[3];
objTesArrVO[0]=objTestVO;
return objTesArrVO;
}
}
User | Count |
---|---|
95 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.