[OJB-developers] Concurrent access not posible with 0.7.325 in C/S mode
Brought to you by:
thma
From: <ri...@ya...> - 2002-02-04 07:45:34
|
Thomas, I have just downloaded the new 0.7.325 distribution, and I hoped it = would make C/S mode work... But it doesn't, I'm still getting Exceptions when two threads try to = access the repository (read) at the same time. This is the new stack trace: -------------------------------------------------------------------------= ----- [ODMG] ERROR: Caught EOFException while reading the stream header Caught EOFException while reading the stream header at = ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBroke rClient.java:115) at = ojb.broker.server.PersistenceBrokerClient.callServer(PersistenceBroke rClient.java:55) at = ojb.broker.server.PersistenceBrokerClient.beginTransaction(Persistenc eBrokerClient.java:160) at ojb.odmg.oql.OQLQueryImpl.execute(OQLQueryImpl.java:225) at = charlie.ojb.ProyectoManagerOJB.getEmpleado(ProyectoManagerOJB.java:39 0) at charlie.web.LogonAction.perform(LogonAction.java:49) at = org.apache.struts.action.ActionServlet.processActionPerform(ActionSer vlet.java:1786) at = org.apache.struts.action.ActionServlet.process(ActionServlet.java:158 5) at = org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at = org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:247) at = org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:193) at = org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:243) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:201) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.core.StandardContext.invoke(StandardContext.java: 2344) at = org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:164) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche rValve.java:170) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:564) at = org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:170) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:564) at = org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: 462) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:564) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:163) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso r.java:1011) at = org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja va:1106) at java.lang.Thread.run(Unknown Source) -------------------------------------------------------------------------= ----- *** I usually get this stack trace the first time I try to access = concurrently. From then on, I get this stack trace: -------------------------------------------------------------------------= ----- [ODMG] ERROR: null org.odmg.TransactionInProgressException <<no stack trace available>> org.odmg.QueryException at ojb.odmg.oql.OQLQueryImpl.execute(OQLQueryImpl.java:250) at = charlie.ojb.ProyectoManagerOJB.getEmpleado(ProyectoManagerOJB.java:39 0) at charlie.web.LogonAction.perform(LogonAction.java:49) at = org.apache.struts.action.ActionServlet.processActionPerform(ActionSer vlet.java:1786) at = org.apache.struts.action.ActionServlet.process(ActionServlet.java:158 5) at = org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at = org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:247) at = org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:193) at = org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:243) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:201) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.core.StandardContext.invoke(StandardContext.java: 2344) at = org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:164) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche rValve.java:170) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:564) at = org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:170) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:564) at = org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: 462) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:564) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:163) at = org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline .java:566) at = org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav a:472) at = org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at = org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso r.java:1011) at = org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja va:1106) at java.lang.Thread.run(Unknown Source) -------------------------------------------------------------------------= ----- Please help me make OJB work in a multithreading scenario (website: = Struts + JDO). I need to deploy these week, but if I can't make the = persistance layer work in a multithreading scenario, I'll have to code = everything in JDBC again... and you know, that's incredibly fun! Thanks in advance Ricardo Arguello |