2016-08-08 3 views
1

Websphere Liberty 서버에 설치하는 비 JMS MDB가 있습니다.메시지 구동 Bean에는 활성화 사양이 필요합니까?

추가 구성없이
package mdb.test; 

import javax.ejb.MessageDriven; 

@MessageDriven() 
public class TheMDB implements MyOwnListener { 

    public TheMDB() {} 

    @Override 
    public void onMyOwnMessage(MyOwnMessage message) {} 

} 

, 서버는 다음과 같은 메시지를 제공한다 :

[경고] CNTR4015W 다음 mdb.test/TheMDB 활성화 스펙을 사용할 수 없기 때문에 TheMDB 메시지 구동 빈에 대한 메시지 엔드 포인트를 활성화 할 수 없다 . 메시지 엔드 포인트는 활성화 스펙이 사용 가능해질 때까지 메시지를 수신하지 않습니다.

MDB에는 정품 인증 사양이 있어야합니까? 서버에 추가 구성을 추가하지 않고도 활성화 만하고 싶습니다.

+0

MDB에서 소비 할 메시지는 무엇입니까? 메시지가 있다는 것을 MDB에 어떻게 통보 하시겠습니까? – kaczyns

+0

내 리소스 어댑터가 될 가능성이 있습니다. 그러나 현재 MDB를 활성화 할 수 없으므로 메시지가 표시됩니다. –

답변

2

기본적으로 서버는 메시지 종단점을 발견했지만 메시지를 배달하지 못한다고 말합니다. Bean이 메시지를 ^을 수 있도록 활성화 스펙 (JMS 또는 JCA)을 추가해야합니다. JCA 활성화 스펙을 정의에 대한 일부 정보 :

http://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_jca_config_actspec.html

나는이 활성화 스펙에 연결하지 않고 콩을 활성화하는 방법을 잘 모르는 것 같아요. 그 기능은 메시지를 처리하기위한 것이기 때문에 활성화 스펙이 없다면 거의 쓸모가 없습니다. 아직 메시지를 작성하지 않고 있어도 진행을 위해 활성화 스펙을 코딩하기 위해 RA를 충분히 쌓아 올려야 할 수도 있습니다.

0

메시지 엔드 포인트로 사용되는 Java EE 메시지 구동 Bean 이어야하며 JCA 1.5 (또는 그 이후) 자원 어댑터 구성 (ra.xml) 내에 정의 된 ActivationSpecification을 사용하여 배치해야합니다.