[英]How often is a programmatic created EJB Timer executed in a cluster?
[英]EJB Timer runs to often in case of Exception
在我的Java EE应用程序中,我使用具有@Schedule worker方法的Singleton Bean。 它调用一个无状态Bean,通过Soap对服务器执行ping操作。 如果服务器关闭,则会抛出EJBException。 如示例中所示,该服务应每6分钟运行一次,该功能可以正常运行。 但是,一旦ping通的服务器关闭并且发生异常,该服务每分钟运行1-2次。 不利于统计和监控...有人可以帮忙吗?
@Startup
@Singleton(name="PingTimerEJB")
public class PingTimerEJB {
@EJB
private IService service;
@Schedule(hour = "*", minute = "*/6", persistent = false)
public void doWork() {
try {
service.ping();
} catch (final Exception e) {// NOPMD
//
}
}
}
设置:Java 6,Weblogic 12c,JRE 170_71,EJB 3.1
在调用service.ping()
之前,您可以尝试建立低级tcp ip连接。 例如,使用ClientSocket
类。 这样,您将需要将主机和端口存储在任何地方。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.