44.2. 메시지 인터페이스 구현
44.2.1. 사용자 정의 메시지 구현 방법 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
예 44.2. “사용자 정의 메시지 구현” DefaultMessage 클래스를 확장하여 메시지를 구현하는 방법을 간략하게 설명합니다.
예 44.2. 사용자 정의 메시지 구현
- 1
org.apache.camel.impl.DefaultMessage클래스를 확장하여 사용자 정의 메시지 클래스인 CustomMessage 를 구현합니다.- 2
- 일반적으로 기본 속성이 있는 메시지를 생성하는 기본 생성자가 필요합니다.
- 3
- 메시지 문자열을 사용자 지정하려면
toString()메서드를 재정의합니다. - 4
newInstance()메서드는MessageSupport.copy()메서드 내부에서 호출됩니다.newInstance()메서드의 사용자 지정은 현재 메시지 인스턴스의 모든 사용자 지정 속성을 새 메시지 인스턴스로 복사하는 데 중점을 두어야 합니다.MessageSupport.copy()메서드는copyFrom()을 호출하여 일반 메시지 속성을 복사합니다.- 5
createBody()메서드는MessageSupport.getBody()메서드와 함께 작동하여 메시지 본문에 대한 지연 액세스를 구현합니다. 기본적으로 메시지 본문은null입니다. 이는 애플리케이션 코드가 (getBody()() 호출) 본문에 액세스하려고 할 때만 본문을 생성해야 합니다.MessageSupport.getBody()는 메시지 본문에 처음 액세스하면createBody()를 자동으로 호출합니다.- 6
populateInitialHeaders()메서드는 헤더 getter 및 setter 메서드와 함께 작동하여 메시지 헤더에 대한 지연 액세스를 구현합니다. 이 메서드는 메시지를 구문 분석하여 메시지 헤더를 추출하고 해시 맵에 삽입합니다.사용자가 처음으로 헤더(또는 헤더)에 액세스하려고 할 때(getHeaders(),getHeaders(),메서드가 자동으로 호출됩니다.setHeaders()또는setHeaders()를 호출하여)populateInitialHeaders()- 7
populateInitialAttachments()메서드는 attachment getter 및 setter 방법과 함께 작동하여 첨부 파일에 대한 지연 액세스를 구현합니다. 이 방법은 메시지 첨부 파일을 추출하여 해시 맵에 삽입합니다.populateInitialAttachments()메서드는 사용자가getAttachment(), getAttachments() ,또는getAttachmentNames()addAttachment()를 호출하여 처음으로 첨부(또는 첨부 파일)에 액세스하려고 할 때 자동으로 호출됩니다.