我需要处理检索挂起的记录,并将它们更新为工作单元的“处理中”状态。我想确保下面的代码支持并发,其他线程要等到我当前的线程处理完毕。实现此目标的最佳方法是什么?
public Collection<Object> processPendingMessages() {
Collection<Object> messages = null;
//Retrieve pending messages
messages = messageDAO.getPendingMessages(Direction.INBOUND);
//Update pending messages to Inprocess
if (messages!=null && messages.size()>0) {
messageDAO.updateMessagesToInprocess(messages);
}
return messages;
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的投入。谢谢。