Title: Thread safety
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
 
   

Reply via email to