Java 如何限制EJB实例的数量?

Java 如何限制EJB实例的数量?,java,jboss,glassfish,ejb-3.0,stateful,Java,Jboss,Glassfish,Ejb 3.0,Stateful,我想检查我的有状态bean是否被钝化/激活,以及相应的回调是否被正确调用 为此,我想配置GlassFish和/或JBOSS容器来限制bean实例的数量 可能吗?如果是,怎么做?在JBoss中,您要查看的配置文件是conf/standardjboss.xml 它看起来很吓人(事实确实如此),但要寻找一个名为“标准有状态SessionBean”的容器配置元素。在本元素的末尾,您将看到container pool conf部分,它定义了此配置的最大实例数。这个文件可以修改,也可以定义自己的配置,尽管我

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

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


可能吗?如果是,怎么做?

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

它看起来很吓人(事实确实如此),但要寻找一个名为“标准有状态SessionBean”的容器配置元素。在本元素的末尾,您将看到container pool conf部分,它定义了此配置的最大实例数。这个文件可以修改,也可以定义自己的配置,尽管我不太清楚该怎么做。我怀疑它在META-INF/jboss.xml文件中

一旦定义了所需的配置,就需要配置EJB本身来使用它。在EJB2下,您会使用META-INF/jboss.xml,但在EJB3的无描述符世界中,我不确定


因此,答案可能在于适当配置的META-INF/jboss.xml文件。对不起,我说得再准确不过了,但至少你知道该往哪里看。

谢谢你给我指明了正确的方向

对于JBOSS,找到了注释org.JBOSS.ejb3.annotation.CacheConfig,参数为maxSize和idleTimeoutSeconds

这里的文档链接供搜索者使用。。。


不过,我还不知道如何在不使用注释的情况下使用xml来配置它。

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

查看页面底部的一些示例


为了跟踪特定bean何时被实例化或GC,我添加了一些日志方法,并用@PostConstruct和@PreDestroy注释它们。

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