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