我正在使用 Java EE EJB 计时器和带有 oracle 数据库的 Wildfly 8.2.1 服务器。当在集群环境中的应用程序中运行调度程序时无法正常工作,即使在 Wildfly 中选择了事务隔离:TRANSACTION_SERIALIZABLE。我正在部署它访问的两个节点从两个节点,但我只需要一个节点。
在 EJB 中:
@Singleton
public class TimerSessionBean implements TimerSessionBeanRemote {
@Timeout
@Schedule(
hour="11",minute="0",second="00,30"
)
public void createTimer(){
System.out.println("timeoutHandler : "+new Date());
DAO.getInboxDaoImpl().updateStatus();
}
在 DaoImpl 中:
@Override
public Boolean updateStatus(String chngCustStus){
int resVal = 0;
String sql = "INSERT INTO bonus SELECT ename, job, sal, comm FROM emp
WHERE comm > sal * 0.25";
}
}
在 Wildfly 服务器中:选择为
Transaction Isolation: TRANSACTION_SERIALIZABLE