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