我想检查我的有状态bean是否被钝化/激活,并且相应的回调被正确调用。

为此我想配置容器GlassFish和/或JBOSS来限制bean的实例数。

有可能吗?如果是,怎么样?

有帮助吗?

解决方案 2

感谢您指出我正确的方向。

对于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配置它而不使用注释。

其他提示

在JBoss中,您要查看的配置文件是conf / standardjboss.xml

它看起来令人生畏(并且它是),但是要查找名为“Standard Stateful SessionBean”的容器配置元素。在此元素的末尾,您将看到container-pool-conf部分,该部分定义了此配置的最大实例数。这个文件可以修改,或者你可以定义自己的配置,虽然我不太清楚如何去做。我怀疑它在META-INF / jboss.xml文件中。

根据需要定义配置后,需要配置EJB本身才能使用它。在EJB 2下,您将使用META-INF / jboss.xml,但在EJB3的精美无描述符世界中,我不确定。

所以答案可能在于一个适当配置的META-INF / jboss.xml文件。对不起,我不能更准确,但至少知道你知道在哪里看。

对于Glassfish平台,您可以按照此处的信息执行相同操作:

http://docs.sun.com /应用程序/文档/文档/ 819-3673 / beaqm?A =视图

查看页面底部的一些示例。

为了跟踪特定bean的实例化时间或GC'd,我添加了一些日志记录方法并使用@PostConstruct和@PreDestroy注释它们。

我一直在JBOSS5.1中开发EJB3应用程序。 对于EJB,我创建了一个init方法,并使用@PostConstruct进行了注释,并在其中提供了一些日志记录信息。但是我注意到有趣的事实是PostConstrcut方法在部署时没有被调用。但是当我们查询EJB时,正在进行调用。这意味着JBOSS5.1根本没有进行Bean池化。 问候 哈

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top