我面临的特殊要求如下:
网络密集型操作是由多个客户端通过网络接口触发到服务器。但是,每次只允许执行一个操作,因此在SQL表中创建一个条目(元组)以指示操作正在进行中。一旦操作完成(无论成功或失败),相应的结果将显示回客户端,并从SQL表中删除相应的元组。
由于该操作是网络密集型的,因此必须引入在某些超时(10分钟)后需要“取消”操作以取消操作的情况。
是否有任何方式在SQL中的行的生命周期与超时值关联,以便在一定的时间后被删除?我的应用程序主要用Java 1.5和EJB 3.0编写,使用JPA/Hibernate访问Oracle 10g数据库引擎。如何在超时后从SQL表中删除元组?
在此先感谢。
问候,
Nagendra U m的
你有没有考虑过使用DBMS_LOCK来获取一个命名锁而不是数据库表? – 2010-09-03 19:28:45