2015-01-16 3 views
1

Я разрабатываю веб-приложение Java.Мгновенный ejb, как обычный класс

У меня есть этот класс:

@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(); 

} 

Мои веб-приложения имеют много запросов. В мире параллелизма, что является лучшим способом для создания класса A?

ответ

2

Лучший способ - использовать аннотацию @EJB. Контейнер будет вводить и управлять вашими экземплярами. Контейнер создает пул экземпляров и управляет между запросами, это хорошая практика! он не будет создавать новый экземпляр для каждого запроса)

1

Речь идет не о параллелизме. Если это EJB, тогда нет смысла создавать его с помощью конструктора. Если вы намереваетесь это сделать, сделайте это регулярным POJO.

Вы понимаете, что значит иметь EJB, а не обычный POJO?

1

Если ваш класс находится в компоненте EJB, он будет управляться контейнером EJB.
Хотя вы не должны создавать его вручную, вызывая его конструктор, вы скорее должны позволить контейнеру создавать экземпляр компонента. Таким образом вы должны ввести его через анкеты @EJB.