Hello,

Today  I did some preliminary load testing on JBPM-BPEL on my dev machine. I 
used SoapUI to send 'n' number of concurrent requests. For requests upto 100, 
everything seemed ok. I have pointed my default DS to sql server database. As a 
result the internal messages from SoapHandler to StartListener go to my db 
where I can view them.

For small number after the load test completes, my queue is empty as expected. 
However when requests near 100 and above, there are some left over messages in 
the queue. First I got this error -

http://wiki.jboss.org/wiki/WhatDoesTheMessageNoManagedConnectionsAvailableMean

So I increased my connection pool size and also the waiting period for the 
threads. However even after doing this, I see left over messages in my queue. 
In my last run, I see 18 'connection timed out' errors from SoapUI out of 150 
and 4 messages in the queue.

What do I do to improve this performance? Or I have to assume that this is a 
limitation? What happens to the messages left in the queue? 

btw, after turning on trace statement in my ds file, I get warning from JBoss 
that it is closing result set that JBPM didn't close. I am running BPEL 1.1 GA.

Here is the stack trace -

  | a0001 WARN  2008-05-16 16:44:28,393 [WrappedConnection] -- [] Closing a 
result s
  | et you left open! Please close it yourself.
  | java.lang.Throwable: STACKTRACE
  |         at 
org.jboss.resource.adapter.jdbc.WrappedStatement.registerResultSet(Wr
  | appedStatement.java:617)
  |         at 
org.jboss.resource.adapter.jdbc.WrappedStatement.getGeneratedKeys(Wra
  | ppedStatement.java:533)
  |         at sun.reflect.GeneratedMethodAccessor482.invoke(Unknown Source)
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
  | sorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at 
org.hibernate.util.GetGeneratedKeysHelper.getGeneratedKey(GetGenerate
  | dKeysHelper.java:69)
  |         at 
org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAn
  | dExtract(IdentityGenerator.java:74)
  |         at 
org.hibernate.id.insert.AbstractReturningDelegate.performInsert(Abstr
  | actReturningDelegate.java:33)
  |         at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(Abstrac
  | tEntityPersister.java:2093)
  |         at 
org.hibernate.persister.entity.AbstractEntityPersister.insert(Abstrac
  | tEntityPersister.java:2573)
  |         at 
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentit
  | yInsertAction.java:47)
  |         at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
  |         at 
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplic
  | ate(AbstractSaveEventListener.java:290)
  |         at 
org.hibernate.event.def.AbstractSaveEventListener.performSave(Abstrac
  | tSaveEventListener.java:180)
  |         at 
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId
  | (AbstractSaveEventListener.java:108)
  |         at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGene
  | ratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
  |         at 
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrR
  | equestedId(DefaultSaveEventListener.java:33)
  |         at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTran
  | sient(DefaultSaveOrUpdateEventListener.java:175)
  |         at 
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(
  | DefaultSaveEventListener.java:27)
  |         at 
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpda
  | te(DefaultSaveOrUpdateEventListener.java:70)
  |         at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
  |         at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
  |         at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
  |         at 
org.jbpm.logging.db.DbLoggingService.log(DbLoggingService.java:50)
  |         at 
org.jbpm.svc.save.SaveLogsOperation.save(SaveLogsOperation.java:47)
  |         at org.jbpm.svc.Services.save(Services.java:164)
  |         at org.jbpm.JbpmContext.save(JbpmContext.java:427)
  |         at 
org.jbpm.bpel.integration.jms.StartListener.deliverRequest(StartListe
  | ner.java:229)
  |         at 
org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.j
  | ava:168)
  |         at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:696)
  |         at java.lang.Thread.run(Thread.java:595)
  | 

Thank you,
Meghana

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4151565#4151565

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4151565
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to