cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with EJB

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member182372
Active Contributor
0 Kudos

Hi,

What do you have in persistent.xml on General tab for locking options?

Best regards, Maksim Rashchynski.

Former Member
0 Kudos

Hai Maksim,

there is automatic lock is selected.

is this error prone.

regards,

former_member182372
Active Contributor
0 Kudos

Do you really need to lock 7K records in DB for your application? Try to set "No automatic locking".

Former Member
0 Kudos

Hai maksim,

I will try by changing it.but now its givine readtimedout Exception.

How can i solve this.

regards,

former_member182372
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Pls paste the java code you are using to read the table. Are you using resultset? pls give details

Sujesh

former_member182372
Active Contributor
0 Kudos

Sujesh, as you can see from stacktrace it is CMP EJB, not JDBC.

Former Member
0 Kudos

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;
}
}

Former Member
0 Kudos

Hai maksim ,

Any how i had solved my problem with your help.

but not the ConnectionYimedout error

Thanks for your help .

regards,

naga raju

Answers (0)