2014-04-26 6 views
-1

내 웹 서비스에서 여러 다른 웹 서비스를 비동기 적으로 호출하는 스레드를 만들어야합니다. Jboss EAP 5.1 내에 안전하게 스레드 풀을 구성 할 수 있습니까?JBoss EAP 5.1에서 create threadpool/executor 서비스를 사용하는 방법

내가

<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> 

을 JBOSS하는 XML의 설정 아래 배포 시도했지만 코드를 실행할 때 오류가 아래 가지고있다 : javax.management.InstanceNotFoundException : 사용자 정의 : 서비스 = CustomWorkManager가 등록되어 있지 않습니다.

이 난 내 코드에서 사용하려고하는 방법입니다 : ...

WorkManager 관리자 = (WorkManager) server.getAttribute (새로운 ObjectName ("사용자 정의 : 서비스 = CustomWorkManager"), "인스턴스") ;

Work aWork1 = new TestWorkObject (1); wm.startWork (aWork1);

...

나는 컴파일 타임 오류가 없습니다.

+0

시도한 내용에 추가 할 수 있습니까? – Howli

답변

0

이 중 하나가 작동합니다. 난 그냥 내 코드에서 잘못된 이름을 가졌다. 은 sdr : service = CustomWorkManager이어야합니다.