Java EE EJBタイマーとWildfly 8.2.1サーバーでoracle databaseを使用しています。クラスタ環境でアプリケーションでスケジューラを実行すると、選択されたトランザクション分離:TRANSACTION_SERIALIZABLEがWildflyで実行されます。それは2つのノードからアクセスしますが、私は1つのノードしか必要としません。 EJBでなぜJava EEタイマーがクラスタリングしていないのですか?
:
DaoImplで@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();
}
:
@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