We have been using castor-struts for about 2 years now and we are
having some issues related to the castor. we are at a stage where due to
performance issues we are thinking of moving away from
castor.
Any explanations/solutions for the given problems will be greatly
appreciated.
1. When more than 1 thread access the same object, is multiple
copies of the same object is created or is the same instance of the object is
used across multiple
transactions.
If it the same object then wouldn't it affect
performance as in our case we have about a hundred users using the same
record.
2. when a transaction fails , the locks
on all the objects related to that transaction are not released.
we have had
instances where a
LockNotGrantedException: WriteTimeOut
occurs on a JDO object and the lock on the object
is not released until the server is re-started.
How can I release a lock on that object
?
This problem kills all the mission critical
applications where the application cannot be restarted. Can this be overcome if
an explicit rollback is called ?
3. when a commit fails and rollback is not explicitly called are all
locks on the objects in that transaction released ?
4. A lock is obtained on an object even if it stated in the mapping as
read-only. This slows down all the queries even if they are read-only , how can
I overcome this ?
Based on my experience so far, I have a feeling that castor is not suited
for high-volume, mission critical applications.
Has anyone used castor in a high-volume, mission critical application and
have success story?
ANY HELP WOULD BE GREATLY APPRECIATED.
Thanks
Vijay

