2009-06-22 91 views
0

我想檢查我的有狀態bean是否被鈍化/激活,並且相應的回調被正確調用。如何限制EJB實例的數量?

爲此我想配置容器GlassFish和/或JBOSS來限制bean的實例數量。

可能嗎?如果是,如何?

回答

1

在JBoss中,你想看看配置文件的conf/standardjboss.xml

這看起來有點奇怪,(它是),但查找名爲「標準有狀態會話Bean」的容器配置元素。接近此元素的末尾,您將看到container-pool-conf部分,該部分定義此配置的最大實例數。這個文件可以修改,或者你可以定義你自己的配置,但我不太清楚如何去做。我懷疑它進入META-INF/jboss.xml文件中。

根據需要定義配置後,需要配置EJB本身以使用它。在EJB 2下,您將使用META-INF/jboss.xml,但在EJB3的美妙的無描述符的世界中,我不確定。

所以答案可能在於一個經過嚴格配置的META-INF/jboss.xml文件。對不起,我不能更準確,但至少知道你知道在哪裏看。

0

對於Glassfish的平臺,你可以做同樣的下列這裏的信息:

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

看向頁面底部的一些例子。

爲了跟蹤特定bean何時被實例化或GC'd,我添加了一些日誌記錄方法並使用@PostConstruct和@PreDestroy對它們進行了註釋。

0

我一直在JBOSS5.1中開發EJB3應用程序。 對於EJB,我創建了一個init方法並使用@PostConstruct進行了註釋,並在其中提供了一些日誌信息。但是我注意到的一個有趣的事實是PostConstrcut方法在部署時沒有被調用。但是當我們查找EJB時,調用正在被製作。這意味着JBOSS5.1根本不在做Bean池。 Registers Hari