Hi all you jboss/ejb gurus,

While stress-testing an application using jboss we encountered some 
problems. We're not sure whether we did something wrong in the ejb 
development or in the deployment or what. We think we need at least some 
help in how to do 'readonly beans/transactions'.

Problem description:

System: jboss 2.2.x, interbase 6.x, jdk 1.3, linux mandrake 7.2
Server code: session bean facades working with multiple entity beans 
(some with subobjects)
Deployment: container managed persistence and transactions, requied 
transactions, default commit option A
Client code: swing gui clients, junit tests clients

Problem: Running more than one client we get locking-waiting, lock 
contention, but sometimes also failed transactions. The thing is that 
you would expect these problems when trying to modify the same object, 
but it also seems to happen when reading data from the same object 
(which of course happens a lot). It seems that even a call like 
PersonData[] getAllPersons() on a session bean (returning serializable 
copies of entity beans) needs full exclusive read/write locks on all 
objects involved in the transaction, even if we are just reading data. 
As we see it, such behavior will never scale.

Question: How do you do readonly beans or access beans in readonly 
transactions, either in ejb or in jboss? This must be a common 
situation. I hope the answer is not to avoid using entity beans for 
readonly data access and to access the database/datasource directly (we 
like cmp too much to let it go).

All help is greatly appreciated!

Sven

---
Sven Van Caekenberghe - mailto:[EMAIL PROTECTED]
Beta Nine - software engineering - http://www.beta9.be

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to