Java EJB计时器在异常情况下经常运行
在我的JavaEE应用程序中,我使用带有@Schedule worker方法的单例Bean。它调用通过Soap ping服务器的无状态Bean。如果服务器关闭,将抛出一个EJBException。 如示例所示,该服务应每6分钟运行一次,这样性能就可以正常工作。 但只要ping服务器关闭并且出现异常,服务就会每分钟运行1-2次。不利于统计和监控。。。有人能帮忙吗Java EJB计时器在异常情况下经常运行,java,scheduler,ejb-3.1,weblogic12c,Java,Scheduler,Ejb 3.1,Weblogic12c,在我的JavaEE应用程序中,我使用带有@Schedule worker方法的单例Bean。它调用通过Soap ping服务器的无状态Bean。如果服务器关闭,将抛出一个EJBException。 如示例所示,该服务应每6分钟运行一次,这样性能就可以正常工作。 但只要ping服务器关闭并且出现异常,服务就会每分钟运行1-2次。不利于统计和监控。。。有人能帮忙吗 @Startup @Singleton(name="PingTimerEJB") public class PingTimerEJB {
@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、EJB3.1呼叫服务前。ping您可以尝试建立低级别tcp ip连接。
例如,使用ClientSocket类。这样,您将需要在任何位置存储主机和端口。类似的主机和端口,可参考-