2009-09-24 6 views
6

WorkManager를 사용하여 WebLogic 10.3 앱 서버에서 일부 병렬 작업을 예약하고 싶습니다.WebLogic 10.3에서 WorkManager를 어떻게 구성합니까?

http://java.sun.com/javaee/5/docs/api/javax/resource/spi/work/WorkManager.html

나는 약간의 조각과 따라하기 어려운 오라클/BEA 문서를 찾는거야 그리고 EJB 3.0에서 WorkManagers를 사용하는 좋은 사례가 없습니다.

특히, 내가 알고 싶습니다 :

1) 정확히 무슨, 어떤 경우에, 내 배포 설명자 (EJB-jar.xml의 친구)에 넣어해야합니까?

2) @Resource 주석을 사용하여 WorkManager를 EJB 3 세션 빈에 주입하고 싶습니다. 자원을 위해 사용하는 "이름"은 무엇입니까?

3) WorkManager의 스레드 수와 기타 매개 변수를 구성하는 방법은 무엇입니까?

내 이해는 WebLogic의 기본 구현이 CommonJ이지만 가능한 경우 비 독점적 접근 방식을 사용하고 싶습니다.

+0

이 기사에서 설명하는 TimerService를 사용하는 접근 방식을 선호하여 작업 관리자를 포기했습니다. http://www.devx.com/Java/Article/33694/1954 단순하고 까다로운 요구 조건에 비해 더 간단하고 휴대 성이 뛰어납니다. – hallidave

답변

8

먼저 BEA 오라클과 IBM이 개발 한 타이머 및 워크 관리자 API 구현 인 CommonJ에 대한 설명서를 Timer and Work Manager API (CommonJ) Programmer’s Guide에 있습니다. 그것들은 Work Manager 예제를 제공하지만이 문서에는 삽입되어 있지 않습니다.

1) 배포 설명자 (ejb-jar.xml 및 friends)를 정확히 입력해야합니까? Work Manager Deployment 부에 따르면

:

작업 관리자는 적절한 배치 디스크립터에서 자원 REF 통해 서버 레벨에서 정의된다. web.xml 또는 ejb-jar.xml 일 수 있습니다.

배포 설명자 다음 조각은 WorkManager 를 구성하는 방법을 보여줍니다 :

... 
<resource-ref> 
    <res-ref-name>wm/MyWorkManager</res-ref-name> 
    <res-type>commonj.work.WorkManager</res-type> 
    <res-auth>Container</res-auth> 
    <res-sharing-scope>Shareable</res-sharing-scope> 
</resource-ref> 
... 

참고 : WorkManager 객체의 JNDI 네임 스페이스에 권장되는 접두사가 자바입니다 : 광고/ENV/WM. 자세한 내용은

확인 WorkManager의 javadoc (예 : "정식 고해상도 및 고해상도 공유 범위는이 버전의 규격에서 무시됩니다.이 할 필요가 같이 EJB 나 서블릿은 다음 WorkManager를 사용할 수 있습니다. ").

2) @Resource 주석을 사용하여 WorkManager를 EJB 3 세션 빈에 주입하고 싶습니다. 자원을 위해 사용하는 "이름"은 무엇입니까?

나는 이런 식으로 뭔가 (하지 테스트)를 말할 것 : 나는 WorkManager에 대한 스레드와 다른 매개 변수의 수를 구성하려면 어떻게

@ResourceRef(jndiName="java:comp/env/wm/MyWorkManager", 
auth=ResourceRef.Auth.CONTAINER, 
type="commonj.work.WorkManager", 
name="MyWorkManager") 

3).

는 일 관리자에 대한 자세한 정보를하여 <work-manager> 요소의 설명과 Using Work Managers to Optimize Scheduled Work를 참조

나의 이해 웹 로직의 구현이 CommonJ이지만, '비 독점적를 사용하는 것을 선호 것이다 접근 가능하다면.

다른 제안 사항이 없습니다. (이 구현이 표준을 따르는 한 사용하지 않을 것입니다.)

+0

1)과 2)는 같은 두 가지 다른 버전입니까? 난 당신이 할 필요가 있다고 가정 해요 2) 순수한 EJB를 3 애플 리케이션인가요? – hallidave

+0

나는 그렇게 생각한다. 그러나 나는 시험 1)을 한 것이지 2) –