Java 一种EJB方法的并发线程
我有一个处理数据的无状态EJB方法。通常这种方法工作5到20秒 我需要大约10个线程,并发执行该方法。所以我为这个方法做了注释Java 一种EJB方法的并发线程,java,concurrency,ejb,Java,Concurrency,Ejb,我有一个处理数据的无状态EJB方法。通常这种方法工作5到20秒 我需要大约10个线程,并发执行该方法。所以我为这个方法做了注释@Schedule(second=“*”,minute=“*”,hour=“*” 但是容器(Glassfish 4)只为我的方法启动一个线程 我尝试使用注解@Asynchronous,但没有效果 我应该怎么做?使用@Schedule(second=“*”,minute=“*”,hour=“*”调用您的@AsynchronousEJB方法编写第二个类-然后,如果持续时间如您
@Schedule(second=“*”,minute=“*”,hour=“*”
但是容器(Glassfish 4)只为我的方法启动一个线程
我尝试使用注解@Asynchronous
,但没有效果
我应该怎么做?使用
@Schedule(second=“*”,minute=“*”,hour=“*”
调用您的@Asynchronous
EJB方法编写第二个类-然后,如果持续时间如您所说,它应该每秒启动一个新线程
最小示例
Caller.java
异步EJB.java
使用10个无状态会话bean。
public class Caller {
@EJB
AsyncEJB asyncEjb;
@Schedule(second = "*", minute = "*", hour = "*")
public void call() {
this.asyncEjb.call();
}
}
@Stateless
public class AsyncEJB {
@Asynchronous
public void call() {
// Do long running stuff.
}
}