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

Reply via email to