如何在JBoss EAP 5.1中使用create threadpool / executor服务

时间:2014-04-26 17:59:17

标签: threadpool jboss5.x executor

我需要创建线程来异步调用我自己的webservice中的其他几个web服务。 如何在Jboss EAP 5.1中安全配置线程池。

我尝试将以下XML配置部署到jboss

    <deployment xmlns="urn:jboss:bean-deployer:2.0">
        <bean name="CustomWorkManagerThreadPool" class="org.jboss.util.threadpool.BasicThreadPool">
             <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="custom:service=CustomWorkManagerThreadPool", exposedInterface=org.jboss.util.threadpool.BasicThreadPoolMBean.class)</annotation>
             <property name="name">CustomWorkManager</property>
             <property name="maximumQueueSize">100</property>
             <property name="maximumPoolSize">10</property>
             <property name="keepAliveTime">60000</property>
         </bean>

         <bean name="CustomWorkManager" class="org.jboss.resource.work.JBossWorkManager">
             <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="sdr:service=CustomWorkManager", exposedInterface=org.jboss.resource.work.JBossWorkManagerMBean.class)</annotation>
             <property name="threadPool"><inject bean="CustomWorkManagerThreadPool"/></property>
             <property name="XATerminator"><inject bean="TransactionManager" property="XATerminator"/></property>
         </bean>
   </deployment>

但运行代码时遇到以下错误: javax.management.InstanceNotFoundException:custom:service =未注册CustomWorkManager。

这是我尝试在我的代码中使用它的方式: ...

WorkManager manager =(WorkManager)server.getAttribute(new ObjectName(“custom:service = CustomWorkManager”),“Instance”);

工作aWork1 =新的TestWorkObject(1); wm.startWork(aWork1);

...

我没有任何编译时错误。

1 个答案:

答案 0 :(得分:0)

这个正在发挥作用。我的代码中只有错误的名称。 应该是sdr:service = CustomWorkManager