我需要创建线程来异步调用我自己的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);
...
我没有任何编译时错误。
答案 0 :(得分:0)
这个正在发挥作用。我的代码中只有错误的名称。 应该是sdr:service = CustomWorkManager