繁体   English   中英

EJB方法的并发线程

[英]concurrent threads for a method of EJB

我有一个处理数据的方法的无状态EJB。 通常该方法有效5..20秒

我需要大约10个线程,这些线程可以同时执行该方法。 因此,我对该方法进行了注释@Schedule(second = "*", minute = "*", hour = "*")但是容器(Glassfish 4)仅为我的方法启动一个线程。

我尝试使用注释@Asynchronous ,但没有任何效果

我该怎么办?

使用@Schedule(second = "*", minute = "*", hour = "*") @Asynchronous @Schedule(second = "*", minute = "*", hour = "*")编写第二个类@Schedule(second = "*", minute = "*", hour = "*")以调用@Asynchronous EJB方法-然后,如果持续时间如您所说,则应重新开始每秒线程。

最小的例子

调用者

public class Caller {

    @EJB
    AsyncEJB asyncEjb;       

    @Schedule(second = "*", minute = "*", hour = "*")
    public void call() {
        this.asyncEjb.call(); 
    }
}

AsyncEJB.java

@Stateless
public class AsyncEJB {

    @Asynchronous
    public void call() {
        // Do long running stuff.
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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