基本上我有 EJB3 计时器调用另一个 EJB 3 (DAO) - 这个调用被包裹在 catch 块中。另一个 EJB 在尝试获取与 DS 的连接时抛出超时 SQL 异常(向调用者抛出异常)。在日志中,我看到这个超时一直在尝试一次又一次地执行。有哪些选项可以防止它再次尝试?
..
// 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
..
}