如何在weblogic 10.3上设置MDB中的最大池大小

Mas*_*ues 4 message-driven-bean weblogic-10.x

我需要在weblogic 10.3上的MDB上设置最大池大小.

我直接在MDB上插入了这个注释

@ActivationConfigProperty(propertyName="MaxPoolSize", propertyValue="1")})
Run Code Online (Sandbox Code Playgroud)

但似乎没有用.

还有其他选择吗?

小智 7

尝试使用weblogic 工作管理器设置来约束并发线程的数量.max-threads-constraint可以应用于为特定MDB设置的工作管理器(如果将其应用于多个bean,则应用于池的一部分)

所以,例如在你自己的weblogic-application.xml中

<wls:work-manager>
  <wls:name>MyMDBWorkManager</wls:name>
  <wls:max-threads-constraint-name>MyMDBMaxThreads</wls:max-threads-constraint-name>
</wls:work-manager>
Run Code Online (Sandbox Code Playgroud)

并应用于weblogic-ejb-jar.xml中的bean,如下所示:(即使注释了MDB,这仍然有效)

<wls:weblogic-enterprise-bean>
  <wls:ejb-name>MyMDB</wls:ejb-name>
  <wls:dispatch-policy>MyMDBWorkManager</wls:dispatch-policy>
</wls:weblogic-enterprise-bean>
Run Code Online (Sandbox Code Playgroud)

"MyMDBMaxThreads"约束可以在weblogic-application.xml中指定,也可以直接在WL管理控制台中指定,因此可以动态调整.