This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Checking table locks in java

 
arabinda baas
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

i have a problem like, lets say a database table is locked in shared mode.
At that time another thread is trying to put Exclusive lock on it.
so my question is how can you check the type of lock present on a particular table. If we can find out that there is already some lock present on a table, then we can make the second thread to wait for the lock to be released.

Any input on the same will be helpful.

Thanks
 
prakash chandra
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i think this cannot be solved in java... still then i am trying to find a solution...
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You would need to use the database specific stored procedures or views provided by your RDBMS. For example, SQL Server has sp_lock that will give you meta data one the lock. Oracle has v$lock. Check your RDBMS docs.

However, given your requirement, it might be better to catch the SQLException, parse it for the known SQL error code (or whatever) and sleep if it is an locking exception.
 
arabinda baas
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks a lot for replying.
i am using informix db.
catching the exception seems to be the easier one.
as java api says getErrorCode() method will display the vendor specific error codes.
Can it happen like informix team uses same error codes for different errors.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic