繁体   English   中英

发生异常时,EJB Timer经常运行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM