0
我有一个表Jobs
与字段Name
和Status
。休眠行锁定读取
我想在tomcat实例中部署两个独立的应用程序来轮询作业表中的新记录,但重要的是两个进程不会收到相同的作业记录。我怎样才能做到这一点?
我的(失败)的做法迄今一直使用Spring的集成:
<int-jdbc:inbound-channel-adapter
query="select * from jobs where status=1"
channel="rawInputDataListChannel"
data-source="dataSource"
update="update input_table set status=2 where status=1">
<int:poller fixed-rate="1">
<int:transactional isolation="READ_COMMITTED" />
</int:poller>
</int-jdbc:inbound-channel-adapter>
因为这没有工作,我想,也许有Tomcat中的事务管理器,因此它可以通过这两个应用程序共享可能工作,但我正在努力获得和运行。这种方法会起作用吗?
非常感谢您的帮助。我错误地认为我在后文的SI例子中依赖于hibernate - 它只是使用数据源的SQL。我添加了“FOR UPDATE”,并且工作完美。谢谢! – James