Just finished running some load tests against the full EJB 3 mode that I added. Pointed my datasources to a DB2 database. Ran fine for a while under low load; however, as the load increased started running into some exceptions from OpenJPA. A JIRA has already been opened by the WebSphere folks who are seeing the same thing.
https://issues.apache.org/jira/browse/OPENJPA-295 In the JIRA, Rob mentions that this was not a problem in earlier versions. 17:46:34,938 ERROR [OpenEJB] The bean instances business method encountered a system exception: TradeSLSBBean.getClosedOrders - error javax.ejb.EJBException: TradeSLSBBean.getClosedOrders - error at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.getClosedOrders( TradeSLSBBean.java:352) at sun.reflect.GeneratedMethodAccessor234.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke (ReflectionInvocationContext.java:146) at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( ReflectionInvocationContext.java:129) at org.apache.openejb.core.interceptor.InterceptorStack.invoke( InterceptorStack.java:67) at org.apache.openejb.core.stateless.StatelessContainer._invoke( StatelessContainer.java:203) at org.apache.openejb.core.stateless.StatelessContainer.invoke( StatelessContainer.java:165) at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod( EjbObjectProxyHandler.java:211) at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke( EjbObjectProxyHandler.java:65) at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke( BaseEjbProxyHandler.java:230) at org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke( Jdk13InvocationHandler.java:49) at $Proxy28.getClosedOrders(Unknown Source) at org.apache.geronimo.samples.daytrader.TradeAction.getClosedOrders( TradeAction.java:294) at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter( OrdersAlertFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:175) at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke( DefaultSubjectValve.java:56) at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke( GeronimoStandardContext.java:351) at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke( GeronimoBeforeAfterValve.java:47) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java :447) at java.lang.Thread.run(Thread.java:801) Caused by: <1.0.0-SNAPSHOT-SNAPSHOT nonfatal general error> org.apache.openjpa.persistence.PersistenceException: null at org.apache.openjpa.kernel.AbstractBrokerFactory.syncWithManagedTransaction( AbstractBrokerFactory.java:690) at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:304) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker( AbstractBrokerFactory.java:182) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker( DelegatingBrokerFactory.java:142) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager( EntityManagerFactoryImpl.java:190) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager( EntityManagerFactoryImpl.java:55) at org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createEntityManager (CMPEntityManagerTxScoped.java:74) at org.apache.geronimo.persistence.CMPEntityManagerTxScoped.getEntityManager( CMPEntityManagerTxScoped.java:55) at org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createNamedQuery( CMPEntityManagerTxScoped.java:259) at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.getClosedOrders( TradeSLSBBean.java:335) ... 30 more Caused by: java.lang.ArrayIndexOutOfBoundsException at java.util.ArrayList.add(ArrayList.java:378) at org.apache.openjpa.kernel.AbstractBrokerFactory.syncWithManagedTransaction( AbstractBrokerFactory.java:684) ... 39 more On 7/25/07, Christopher Blythe <[EMAIL PROTECTED]> wrote:
Matt... The new stateless session bean that I added does exactly what TradeJPA used to do. It's just been updated to an EJB 3 session bean instead of 2.1and also contains the changes to ensure data consistency. So basically, the new Session bean that I added deprecates the original TradeJPA. Chris On 7/25/07, Jarek Gawor < [EMAIL PROTECTED]> wrote: > > Do you have any plans for updating the webservices bits from jax-rpc to > jax-ws? > > Jarek > > On 7/25/07, Christopher Blythe <[EMAIL PROTECTED]> wrote: > > All, > > > > As it currently stands, DayTrader 2.0 does not provide what I would > consider > > a viable showcase application for Java EE 5 technology. The JPA mode > that > > was added uses EJB3/JPA based entities; however, the mode still lacks > a few > > key elements... > > > > - EJB 3 based stateless session bean providing the business logic > (current > > impl still uses EJB 2.1 session beans) > > - EJB 3 based MDBs for Quote streamer and async order processing > > - Improvements to JPA mode to ensure data consistency and improve > > performance > > > > I have added a new EJB3 runtime mode that exposes the following... > > - TradeSLSBBean (new EJB 3 based session bean for business logic) > > - DTBroker3MDB (new EJB 3 based MDB for async order processing) > > - DTStreamer3MDB (new EJB 3 based MDB for quote streamer) > > > > I have made these updates and plan to commit them shortly, I have left > the > > existing TradeJPA bean as is, in addition to the legacy Direct and EJB > 2.1 > > modes. I have pulled yesterday's build of Geronimo 2.0 and verified > that the > > new EJB3 mode functionally works along with the legacy modes. The next > step > > is load testing, so stay tuned... > > > > Thanks... > > > > Chris > > > > -- > > "I say never be complete, I say stop being perfect, I say let... lets > > evolve, let the chips fall where they may." - Tyler Durden > -- "I say never be complete, I say stop being perfect, I say let... lets evolve, let the chips fall where they may." - Tyler Durden
-- "I say never be complete, I say stop being perfect, I say let... lets evolve, let the chips fall where they may." - Tyler Durden
