0
기본적으로 다른 EJB 3 (DAO)를 호출하는 EJB3 타이머가 있습니다.이 호출은 catch 블록에 래핑됩니다. 다른 EJB는 DS에 대한 연결을 얻으려고 할 때 타임 아웃 SQL 예외를 throw합니다 (호출자에게 예외를 throw 함). 로그에서 나는이 타임 아웃이 계속해서 반복적으로 실행하려고 시도하는 것을 볼 수있다. 다시 시도하지 못하게 할 수있는 옵션은 무엇입니까? 문서에서SQLException (timeout)으로 인해 트랜잭션이 롤백 될 때 Weblogic 10.3 (EE 컨테이너)에서 타이머 재 시도를 중지하는 방법은 무엇입니까?
..
// Timer
@Timeout
public void timeout(Timer timer) { // keeps on coming here
...
try {
dao.processJob();
} catch (SQLException) { // catches the timeout
log
}
// dao
@Resource(...)
private Datasource ds
public void process() throws SQLException {
ds.getConnection() // throws timeout here
..
}
TransactionAttributeType.REQUIRES_NEW는 내가 찾고있는 것입니다. 고맙습니다. –
@ Spenser 도움을 주신 것을 환영합니다 & 기쁘게 생각합니다. –