이벤트 소스 작성

이벤트 소스는 이미터 오브젝트를 통해 이벤트 서버와 상호작용합니다.

이벤트 소스는 이미터를 사용하여 이벤트 서버로 이벤트를 전송하는 응용프로그램입니다. 다음 응용프로그램은 이벤트 소스의 예입니다.

이벤트 소스는 J2SE(Java 2 Platform, Standard Edition) 또는 J2EE(Java 2 Platform, Enterprise Edition)를 사용하여 Java 프로그래밍 언어로 구현됩니다. 이벤트 소스는 공통 기본 이벤트 모델을 준수하는 유효한 이벤트를 제출해야 합니다. 각 이벤트는 Java 오브젝트로 표시됩니다.

이미터 및 이미터 팩토리

이벤트 소스는 이벤트 서버와 직접 상호작용하지 않습니다. 대신 이미터(com.ibm.events.emitter.Emitter 인터페이스의 구현)라고 하는 오브젝트와 상호작용합니다. 이미터는 이벤트를 전송하는 메소드를 제공하는 로컬 오브젝트입니다.

일반적으로 이미터는 이벤트 전송의 세부사항을 처리하므로, 이벤트 소스 개발자는 이벤트 서버 위치, 필터 설정 또는 기본적인 전송 메커니즘에 대해 관심을 기울이지 않아도 됩니다. 이와 같은 세부사항은 관리자가 구성하는 오브젝트인 이미터 팩토리에 의해 관리되고 JNDI(Java Naming and Directory Interface) 네임 스페이스에서 바인드됩니다. 이미터 팩토리는 com.ibm.events.emitter.EmitterFactory의 인스턴스이고 이미터 오브젝트를 작성하는 데 사용됩니다. 또한 작성되는 이미터의 작동을 정의합니다. 다음에 대한 설정이 포함되어 있습니다.
  • 선호되는 트랜잭션 모드. 이 설정은 이미터가 새 트랜잭션 또는 현재 트랜잭션에서 각 이벤트를 전송하는지 여부를 지정합니다. 이벤트 소스는 특정 이미터 또는 이벤트 제출에 대해 이 설정을 변경할 수 있지만 프로파일은 기본값을 지정합니다. 이 설정은 J2EE 컨테이너에서만 유효합니다. J2SE 플랫폼은 트랜잭션 제어를 제공하지 않습니다.
  • 선호되는 동기화 모드. 이 설정은 이벤트를 전송할 때 동기식 전송을 사용하는지 아니면 비동기식 전송을 사용하는지를 지정합니다. 동기식 전송은 이벤트가 처리될 때까지 sendEvent() 메소드가 제어를 호출자에게 리턴하지 않음을 의미하고, 비동기식 전송은 이벤트를 제출한 후 즉시 메소드가 제어를 리턴하고 호출자에게 이벤트 처리에 대한 추가 정보가 없음을 의미합니다. 이벤트 소스는 이미터 또는 이벤트 제출에 대해 이 설정을 변경할 수 있지만 프로파일은 기본값을 지정합니다.
  • 사용할 전송 프로파일. 전송 프로파일은 이벤트를 이벤트 서버에 전송하는 특정 전송 메커니즘을 정의하는 구성 오브젝트입니다. 이미터 팩토리 프로파일은 두 가지의 전송 프로파일을 지정할 수 있습니다. 하나는 동기식 전송 프로파일이고 다른 하나는 비동기식 전송 프로파일입니다. 이벤트 소스는 이미터가 사용하는 전송 프로파일을 변경할 수 없습니다.
  • 이미터에 사용할 필터 구성. 필터 구성은 이미터로 제출된 이벤트를 필터하는 데 사용되는 필터링 플러그인을 정의합니다. 공통 이벤트 하부 구조에 기본 필터 플러그인이 포함되지만, 다른 필터링 엔진을 사용하려는 경우 사용자 고유의 필터 플러그인을 구현할 수도 있습니다.

관리자는 여러 개의 이미터 팩토리 프로파일을 작성할 수 있습니다. 각 프로파일은 서로 다른 이미터 구성을 정의합니다. 이벤트 소스는 기존 이미터 팩토리 프로파일과 연관되는 이미터 팩토리를 사용하여 이미터를 확보합니다. 따라서 특정 이미터 팩토리에서 작성되는 모든 이미터에는 동일한 기본 작동이 있습니다. 자세한 정보는 이미터 가져오기를 참조하십시오.

주: 이벤트 소스가 Java 2 보안이 사용 가능한 상태에서 실행 중이고 사용자 고유의 글로벌 고유 ID(GUID)를 생성하려는 경우 올바르게 처리할 수 있도록 정책 파일을 수정해야 합니다. 다음 항목을 추가하십시오.
permission java.io.FilePermission "${java.io.tmpdir}${/}guid.lock",
  "read,write,delete";
permission java.net.SocketPermission "*", "resolve";

이용약관 |

최종 갱신: 2006년 4월 13일

(c) Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org 웹 사이트 참조)