Java 像普通类一样实例化ejb

Java 像普通类一样实例化ejb,java,ejb,Java,Ejb,我正在开发一个Java Web应用程序 我有这门课: @Stateless public class A { void makeSomething(); } 现在我在另一个类中调用这个类,我有两种方法: @Stateless public class B { Method 1: A a =new A(); a.makeSomething(); Method 2: A a =new A(); a.makeSomething(); or @EJB A a; Method 1:

我正在开发一个Java Web应用程序

我有这门课:

@Stateless
public class A {

void makeSomething();

}
现在我在另一个类中调用这个类,我有两种方法:

@Stateless
public class B {

Method 1:

A a =new A();
a.makeSomething();

Method 2:

A a =new A();
a.makeSomething();

or


@EJB 
A a;

Method 1:

a.makeSomething();

Method 2:

a.makeSomething();

 }

我的Web应用程序有很多请求。在并发世界中,实例化类a的最佳方式是什么?

这不是并发问题。如果它是一个EJB,那么用构造函数实例化它是没有意义的。如果你打算这样做,就把它变成一个普通的POJO


您了解EJB与普通POJO的区别是什么吗?

这不是并发性问题。如果它是一个EJB,那么用构造函数实例化它是没有意义的。如果你打算这样做,就把它变成一个普通的POJO


您了解拥有EJB与普通POJO相比意味着什么吗?

如果您的类位于EJB bean中,它将由EJB容器管理。
虽然您不应该通过调用它的构造函数手工创建它,但是您应该让容器来执行bean的实例化。这是您应该通过@EJB注释注入它的方式。

如果您的类位于ejbbean中,它将由EJB容器管理。
虽然您不应该通过调用它的构造函数手工创建它,但是您应该让容器来执行bean的实例化。这就是您应该通过@EJB注释注入它的方法。

最好的方法是使用@EJB注释。容器将注入并管理您的实例。
容器将创建一个实例池,并在请求之间进行管理,这是一个很好的实践!它不会为每个请求创建一个新实例,最好的方法是使用@EJB注释。容器将注入并管理您的实例。 容器将创建一个实例池,并在请求之间进行管理,这是一个很好的实践!它不会为每个请求创建新实例