Является ли незаконным использование параллельных коллекций Scala в контейнере EJB? - PullRequest
1 голос
/ 13 января 2012

Методы, такие как aggregate при scala.collection.parallel.immutable.ParIterableLike обработке с использованием потоков.

Означает ли это, что я не должен использовать параллельные коллекции, если мой код Scala вызывается из EJB, потому что в EJB не разрешается делать ваши собственные потоки?

Если это незаконно, планируется ли создать дружественную для EJB версию, которая будет использовать аннотацию EJB 3.1 @Asynchronous?

Смотри также: http://markusjais.com/scalas-parallel-collections-and-the-aggregate-method/

1 Ответ

1 голос
/ 02 февраля 2012

Его "незаконно" в том смысле, что его не рекомендуется, а не в том смысле, что это нельзя сделать. Это не рекомендуется, потому что EJB-контейнер отвечает за запуск / остановку / активацию / пассивацию потоков. Если ваш бин запустил поток и позволил ему работать бесконечно, вы наверняка могли бы попасть в странные состояния. Однако, если ваш бин запустил поток (например, с помощью операции сбора пар) и не вернулся в контейнер, пока ваша операция пар не была завершена, то вы, вероятно, были бы в порядке.

Подробнее см. http://java.sun.com/blueprints/qanda/ejb_tier/restrictions.html#threads.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...