Темы в сессионных компонентах - PullRequest
2 голосов
/ 11 сентября 2009

У меня есть сессионный компонент, использующий txns, управляемый Бином. У этого компонента есть один бизнес-метод, который просто делегирует управление POJO, который берет на себя всю обработку. Здесь этот POJO запускает и закрывает транзакции (UserTransaction).

Теперь вопрос в том, могу ли я охватить новые потоки в POJO, чтобы я мог создать новый поток, когда мне нужно обслуживать 40 или 50 задач одновременно.

Я использую EJB2.1 на J2EE 1.4.

Пожалуйста, совет.

Привет.

1 Ответ

1 голос
/ 11 сентября 2009

Если я правильно понял, нет необходимости в потоке вашего pojo .

Ваш контейнер имеет естественную резьбу. Каждому запросу, отправляемому в контейнер, назначается поток.

Внутри выделенного потока вызывающая последовательность переходит от вашего сессионного компонента к вашему pojo, потоки все еще используются. Ваше pojo уже вызывается многопоточным способом.


На самом деле, вам нужно убедиться, что ваш код Pojo является многопоточным (но не порождает какой-либо поток).

  1. Либо ваш экземпляр pojo является многопоточным, то есть:

    • без полей
    • ...
  2. В противном случае, если ваш экземпляр pojo не является многопоточным, вам нужно только создать новый экземпляр Pojo для каждого вызова, и все будет работать нормально.

...