Как можно ограничить количество экземпляров EJB? - PullRequest
0 голосов
/ 22 июня 2009

Я хочу проверить, пассивирован ли / активирован ли мой компонент с состоянием и правильно ли вызываются соответствующие обратные вызовы.

Для этого я хочу настроить контейнеры GlassFish и / или JBOSS для ограничения количества экземпляров компонента.

Возможно ли это? Если да, то как?

Ответы [ 4 ]

1 голос
/ 23 июня 2009

Спасибо, что указали мне правильное направление.

Для JBOSS нашел аннотацию org.jboss.ejb3.annotation.CacheConfig с параметрами maxSize и idleTimeoutSeconds в качестве параметров.

Здесь ссылка на документацию для тех, кто ищет ... http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/Administration_And_Configuration_Guide/5/html/clustering-session-sfsb30.html

Хотя я пока не знаю, как настроить это с помощью XML без использования аннотаций.

1 голос
/ 23 июня 2009

В JBoss файл конфигурации, который вы хотите посмотреть, это conf / standardjboss.xml

Это выглядит пугающе (и это так), но ищите элемент конфигурации контейнера под названием «Стандартный Stateful SessionBean». В конце этого элемента вы увидите раздел container-pool-conf, который определяет максимальное количество экземпляров для этой конфигурации. Этот файл может быть изменен, или вы можете определить свои собственные конфигурации, хотя я не слишком понимаю, как это сделать. Я подозреваю, что это идет в файле META-INF / jboss.xml.

Как только вы определили конфигурацию, как вам нужно, вам нужно настроить сам EJB для ее использования. В EJB 2 вы бы использовали META-INF / jboss.xml, но в чудесном мире без дескрипторов EJB3 я не уверен.

Таким образом, ответ, вероятно, лежит в специально сконфигурированном файле META-INF / jboss.xml. Извините, я не могу быть более точным, но, по крайней мере, знаю, что вы знаете, где искать.

0 голосов
/ 11 февраля 2010

Я разрабатывал приложения EJB3 в JBOSS5.1. Для EJB я создал метод init, аннотировал @PostConstruct и предоставил некоторую информацию о регистрации внутри него. Но интересный факт, который я заметил, заключается в том, что метод PostConstrcut не вызывается во время развертывания. Но когда мы просматриваем EJB, что выполняются вызовы. Это означает, что JBOSS5.1 вообще не выполняет пул Bean. С уважением Хари * +1001 *

0 голосов
/ 05 июля 2009

Для платформы Glassfish вы можете сделать то же самое, следуя приведенной здесь информации:

http://docs.sun.com/app/docs/doc/819-3673/beaqm?a=view

Посмотрите внизу страницы несколько примеров.

Чтобы отслеживать, когда создаются определенные bean-компоненты или GC, я добавляю несколько методов регистрации и комментирую их с помощью @PostConstruct и @ PreDestroy.

...