내 이벤트 소스가 이벤트를 전송하려고 시도하지만
이미터가 이벤트 서비스에 이벤트를 제출하지 않고
로그 파일에 CEIEM0015E 메시지("The emitter does not support the specified
synchronization mode")를 출력합니다.
원인
이 문제점은 이벤트 전송 시 이벤트 소스가 전달하는 매개변수가
이미터가 지원하지 않는 동기화 모드를 지정함을 표시합니다. 다음 두 조건 중 하나로 인해 이 문제점이 발생할 수 있습니다.
- 이벤트 소스가 유효하지 않은 동기화 모드를 지정하고 있습니다.
"Synchronization mode mode is not valid."라는 메시지와 함께
IllegalArgumentException이 이를 표시합니다.
- 이벤트 소스가 이미터가 지원하도록 구성되지 않는 동기화 모드를 지정하고 있습니다.
"The emitter does not support the specified synchronization mode: mode."라는 메시지와 함께
IllegalArgumentException이 이를 표시합니다.
해결책
예외 메시지가 이벤트 소스가 유효하지 않은 동기화 모드를 지정하고 있음(IllegalArgumentException)을 표시하는 경우,
이벤트를 전송하려는 메소드 호출을 확인하십시오. 메소드 매개변수가 다음과 같이 유효한 동기화 모드 중 하나를 지정하는지 확인하십시오.
- SynchronizationMode.ASYNCHRONOUS
- SynchronizationMode.SYNCHRONOUS
- SynchronizationMode.DEFAULT
이러한 상수는 com.ibm.events.emitter.SynchronizationMode
인터페이스로 정의됩니다.
예외 메시지가 지정된 동기화 모드를 이미터가 지원하지 않음(SynchronizationModeNotSupportedException)을
표시하는 경우, 이미터 팩토리 구성을 확인하십시오.
- 관리 콘솔에서 서비스 통합 > CEI(Common Event Infrastructure)
> 이벤트 이미터 팩토리 > emitter_factory를 클릭하십시오.
이벤트 소스 응용프로그램이 사용하는 이미터 팩토리를 보고 있는지 확인하십시오.
- 이미터 팩토리 설정을 확인하여 지원되는 동기화 모드를 확인하십시오.
- 이벤트 서비스 전송 지원 특성이 선택된 경우, 동기 모드가 지원됩니다.
- JMS 전송 지원 특성이 선택된 경우, 비동기 모드가 지원됩니다.
트랜잭션 모드 조회: 이벤트 소스는
isSynchronizationModeSupported() 메소드를 사용하여 특정 이미터에 대해 지원되는 트랜잭션 모드를 프로그램적으로 조회할 수 있습니다. 자세한 정보는
Javadoc API 문서를 참조하십시오.
- 사용하려는 동기화 모드를 이미터가 지원하지 않는 경우,
이미터 팩토리 구성을 변경하거나 지원되는 동기화 모드를 사용하도록 이벤트 소스를 수정해야 합니다.