2012-05-14 4 views
1

응용 프로그램 코드에서 EJB를 시작하거나 중지 할 수 있는지 알고있는 사람이 있습니까? 예 : 응용 프로그램이 실행되는 동안 선택적으로 시작/중지하려는 일부 MDB가 있습니까? 어떤 아이디어? 아마도 JMX를 통해이 작업을 수행 할 수 있습니까?프로그래밍 방식으로 EJB를 시작/중지하는 방법

건배!

+0

JBoss 버전은 무엇입니까? – Phani

+0

안녕하세요. 버전은 4.2.1.GA입니다. – Dave

답변

1

EJB 사양에는 응용 프로그램 내의 개별 EJB (또는 심지어 모듈)를 시작/중지하는 메커니즘이 없습니다. JSR 77을 통해 JMX를 사용하여 동적으로 응용 프로그램을 시작/중지 할 수 있습니다.

(내가 보스에는 전문 지식이 없습니다. 당신은 제이 보스 태그를 사용하는 볼, 그래서 당신이 원하는 무엇을 지원하는 확장 기능을 제공하는 경우 나도 몰라.)

+0

감사합니다. 차라리 어쨌든 사양에 머물러있어 바보가 될 것 같지 않습니다. – Dave

1

는 EJB가있는 것이 아닙니다 "시작"또는 "중지"될 수 있습니다. 물론 life cycle이 있지만 EJB 인스턴스의 생성, 활성화, 비활성화 및 제거와 더 관련이 있으며 수명주기를 관리하는 것은 EJB 컨테이너에 달려 있습니다.

요약하면 EJB의 수명주기를 프로그래밍 방식으로 관리 할 수 ​​없습니다.

0

배포 된 각 MDB에는 관리 MBean이 있습니다. MBean 클래스는 org.jboss.ejb3.mdb.MdbDelegateWrapper입니다. JMX ObjectName은 JBoss 4의 버전에 따라 다르며 배포 방법에 따라 다릅니다. MDB에이 MyMDB라는 항아리에 당신을 라는 배포 된 가정 귀이었다 myapp.jarmyapp.ear라고 이름이 될 수 있습니다 제이보스 4

jboss.j2ee:ear=myapp.ear,jar=myapp.jar,name=MyMDB,service=EJB3 

이전 버전도했던 거기에 시스템 해시 코드. 그리고 EJB3를 사용하지 않는다면, 이라고 생각하고 서비스는 여전히 존재할 것입니다. EJB2이 될 것입니다.

어쨌든 관리 빈을 찾으면 으로, 으로 시작할 수 있습니다. 이 메시지는 메시지 배달을 일시 중지하는 데 자주 사용됩니다.

관련 문제