我需要创建线程来异步调用我自己的Web服务中的其他几个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");
Work aWork1=新的TestWorkObject(1);wm.startWork(aWork1);
我没有任何编译时错误。
这个正在工作。我只是在代码中输入了错误的名字。应该是sdr:service=CustomWorkManager