[英]Assign a pool to a specific stateless bean in JBoss EAP 6.1
我可以看到如何控制所有无状态会话bean的全局池大小。
但是,我希望能够有一个仅适用于一种类型的无状态Bean的新池。 这样,我所有的无状态bean(只有一个)将从通常的slsb-strict-max-pool
,一个bean将拥有自己的池。
在JBoss EAP 6.1中可以做到吗?
采用
@org.jboss.ejb3.annotation.Pool(value="myPoolName")
EJB上的注释,该注释引用了standalone.xml中定义的定制池:
<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout-unit="MINUTES" />
<strict-max-pool name="mdb-strict-max-pool"
max-pool-size="80" instance-acquisition-timeout="1"
instance-acquisition-timeout-unit="MINUTES" />
<strict-max-pool name="myPoolName"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout-unit="SECONDS" />
</bean-instance-pools>
</pools>
[ 编辑 ]不带注释:
在jboss-ejb3.xml(jboss特定的ejb描述符)中使用池名称空间(urn:ejb-pool:1.0)
<p:pool>
<ejb-name>myEjbName</ejb-name>
<p:bean-instance-pool-ref>myPoolName</p:bean-instance-pool-ref>
</p:pool>
最后,看来您还必须在MDB中相应地配置“ maxSession”激活配置属性。 默认maxSession值为15 https://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Message_Driven_Beans.html
例如
<message-driven>
<ejb-name>myMDB</ejb-name>
<activation-config>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>java:jboss/queue/test/myMDBQueue</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-property-name>
<activation-config-property-value>20</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.