[英]Making maxSession property configurable for a specific MDB in JBoss EAP 5.1
如何為MDB用戶配置maxSession值?
有一個MDB可以偵聽來自特定隊列的消息。 它被定義為注釋。
@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "5")
。
為了更改maxSession的值,必須每次都編譯代碼。
有沒有辦法讓用戶可配置,以便不需要構建並且無需重新啟動jboss?
請幫助。
這是從耳朵外部化此設置的方法:
https://community.jboss.org/thread/178162
但仍需要重啟。
更新
找到了一種在ejb-jar.xml
應用帶有系統屬性引用的新maxSession 的方法 :
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-property-name>
<activation-config-property-value>${my.mdb.maxSession:30}</activation-config-property-value>
</activation-config-property>
不需要完整的JBoss重啟,在這種情況下只需要重新部署耳朵。
它適用於所有JBoss版本, 直到 JBoss AS 7。
請注意,maxSession必須與最大池大小同步: https ://community.jboss.org/message/549083#549083
另請注意,可以在AOP配置文件中指定會話數和實例池大小:
<?xml version="1.0" encoding="UTF-8"?>
<aop xmlns="urn:jboss:aop-beans:1.0">
<domain name="IBMMQ Message Driven Bean" extends="Message Driven Bean" inheritBindings="true">
<annotation expr="class(*)">
@org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=10, timeout=10000)
</annotation>
<annotation expr="!class(@org.jboss.ejb3.annotation.DefaultActivationSpecs)">
@org.jboss.ejb3.annotation.DefaultActivationSpecs (value={@javax.ejb.ActivationConfigProperty(propertyName = "channel", propertyValue = "SSL.CLIENTS"), @javax.ejb.ActivationConfigProperty(propertyName = "queueManager", propertyValue = "SSLQM"), @javax.ejb.ActivationConfigProperty(propertyName = "hostName", propertyValue = "10.0.0.124"), @javax.ejb.ActivationConfigProperty(propertyName = "port", propertyValue = "1415"), @javax.ejb.ActivationConfigProperty(propertyName = "transportType", propertyValue = "CLIENT"), @javax.ejb.ActivationConfigProperty(propertyName = "sslCipherSuite", propertyValue = "SSL_RSA_WITH_3DES_EDE_CBC_SHA")})
</annotation>
</domain>
</aop>
然后添加注釋:
@AspectDomain("IBMMQ Message Driven Bean")
到您的MDB。 這可以用於外部化視圖的數量和實例池大小。
根據這個在Jboss中創建了多少消息驅動的Bean? maxSession不能超過StrictMaxPool的設置。 所以在調整maxSession時 - 這個設置也需要改變!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.