Эти ограничения EJB обычно не являются жесткими ограничениями.Фактически, они не предостерегают о том, что ваши EJB работают должным образом, они больше напоминают рекомендации о том, как сделать ваши EJB переносными через контейнеры EJB.
Время от времени некоторые очень суетливые провайдеры EJB-контейнеров (кашель .... WebSphere ... кашель) фактически применяют эти ограничения с помощью политик безопасности Java, но я бы сказал, что примерно половина из этих ограничений обычноигнорируется (я имею в виду, что использование log4j в вашем MDB потенциально нарушает около 30% из них).
Нарушение остальных 70%, вероятно, указывает на некоторые архитектурные или конструктивные проблемы.
Итак, вы можете вызвать System.exit () в MDB? ответ - это да, но только один раз ...:)
Похоже, в вашем случае вам необходимо некоторые из этих ограничений, чтобы править потенциально недостойным поведениемплагины.Я не знаю, собираются ли МБР вытащить вас из этой проблемы.Я полагаю, это зависит от того, насколько вы доверяете сторонним разработчикам, но вместо того, чтобы использовать модели на основе вызовов в EJB, я бы установил компоненты как JMX ModelMBeans.Вы можете использовать модель безопасности java, чтобы ограничить то, что они могут делать, но я полагаю, что это может нанести ущерб цели.
Возможно, используя некоторое время разработки (или загрузки) алгоритма байт-кода AOP, вы могли бы переписать все запросы на потоки.быть перенаправленным на фабрику потоков для каждого компонента, которую вы выделяете, и ограничивает потоки, которые могут быть созданы.Поскольку вы не хотите мешать им делать то, что они делают, вы просто не хотите, чтобы они отключали весь сервер, когда они терпят крах / зависают / плохо себя ведут.
Интересная проблема.