2009-06-22 69 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