Java 사용자 정의 메시지 처리 노드 수명 주기

이 주제에서는 Java 프로그래밍 언어에 대한 사용자 정의 메시지 처리 노드 수명 주기의 여러 단계를 안내합니다. 작성되고 폐기되는 오브젝트 및 다음 단계에서 호출되는 메소드와 클래스가 포함됩니다.

이 항목의 정보는 출력 노드 및 메시지 처리 노드에 적용됩니다. 메시지 처리 노드는 메시지를 처리하는 데 사용되고 출력 노드는 비트스트림 형식으로 출력을 제공하는 데 사용되지만 어느 한 유형의 노드를 사용하여 이러한 기능 중 하나를 수행할 수 있으므로 두 노드 유형을 동시에 고려할 수 있습니다.

등록

등록 단계는 Java로 작성된 사용자 정의 메시지 처리 노드가 브로커에 알려지거나 브로커에 등록될 때 발생합니다.

브로커가 시작될 때마다 관련된 모든 LIL과 Java 클래스를 로드합니다. 메시지 처리 노드가 브로커에 등록되게 하려면 MbNodeInterface 인터페이스를 구현하고 브로커의 클래스 경로에 포함되는 클래스를 브로커에 제공해야 합니다.

인스턴스화

Java 사용자 정의 메시지 처리 노드는 브로커가 사용자 정의 메시지 처리 노드가 들어 있는 메시지 플로우를 전개할 때 인스턴스화됩니다. 노드가 인스턴스화될 때, 메시지 처리 노드의 클래스 구성자가 호출됩니다.

노드가 인스턴스화되면 지정된 터미널이 작성됩니다. 메시지 처리 노드에는 여러 개의 입력 및 출력 터미널이 연관될 수 있습니다. 이러한 터미널을 선언하려면 노드 구성자에 createInputTerminalcreateOutputTerminal 메소드가 포함되어야 합니다.

출력 터미널에는 out, failure 및 catch 터미널이 포함됩니다. 출력 터미널을 필요한 수만큼 작성하려면 노드 클래스 구성자 내에서 createOutputTerminal 클래스를 사용하십시오.

최소한 구성자 클래스를 사용하여 이러한 출력 터미널을 작성하기만 하면 됩니다. 그러나, 속성 값을 초기화해야 하는 경우, 이 지점의 코드도 메시지 처리 노드에 포함시켜야 합니다.

메시지 처리 노드로 다시 전달되는 예외를 처리하려면 사용자 정의 메시지 처리 노드에 대한 failure 터미널을 작성하거나 createOutputTerminal 메소드를 사용하여 처리하는 것이 좋습니다. failure 터미널은 WebSphere Message Broker 오류가 전달되는 곳이므로 이 프로세스에 사용하는 것이 좋습니다.

메시지 처리 노드가 포착한 예외가 올바르게 처리되도록 해야 합니다. failure 터미널을 포함시키지 않으면 메시지 처리 노드가 예외를 처리하지 않습니다. 메시지 플로우에 예외 처리 메소드가 포함되지 않으면 발생된 예외는 입력 노드로 다시 전달되고, 입력 노드가 예외를 처리합니다.

예외를 포착한 경우 메시지 처리 노드가 처리할 수 없는 예외를 다시 전달했는지 확인하십시오. 그렇게 하면 예를 들어 트랜잭션을 롤백할 때 예외가 처리를 위해 입력 노드로 다시 전달됩니다.

처리

사용자 정의 메시지 처리 노드 수명 주기의 처리 단계에서 메시지 처리 노드는 메시지의 논리 계층을 선택하여 특정 방식으로 처리합니다.

폐기

Java 사용자 정의 메시지 처리 노드는 노드가 삭제되거나 브로커가 종료될 때 제거됩니다. 노드의 물리적 삭제를 지정하는 부분을 코드에 포함시킬 필요가 없습니다. 그렇게 하면 가비지 콜렉터에 의해 처리될 수 있습니다.

그러나 노드가 곧 삭제될 것임을 알리려면 onDelete 메소드를 사용할 수 있습니다. 가비지로 수집할 자원이 아닌 자원을 삭제할 경우 이 메소드를 사용할 수 있습니다. 예를 들어 소켓을 연 경우 노드가 자동으로 삭제되면 소켓이 올바르게 닫히지 않습니다. 이 지시사항을 onDelete 메소드에 포함시켜 소켓을 올바르게 닫을 수 있습니다.

주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
as24999_