32.3. Cryostat Cryostat
32.3.1. 매개변수 바인딩 주석
Apache Camel 8080 통합을 사용하여 Java 8080에서 메서드를 호출할 때 @XPath
주석을 사용하여 교환에서 값을 추출하고 메서드 매개 변수에 바인딩할 수 있습니다.
예를 들어 AccountService
오브젝트에서 credit
메서드를 호출하는 다음 경로 조각을 고려하십시오.
from("queue:payments") .beanRef("accountService","credit") ...
credit
메서드는 매개 변수 바인딩 주석을 사용하여 메시지 본문에서 관련 데이터를 추출하고 다음과 같이 매개 변수에 삽입합니다.
public class AccountService { ... public void credit( @XPath("/transaction/transfer/receiver/text()") String name, @XPath("/transaction/transfer/amount/text()") String amount ) { ... } ... }
자세한 내용은 고객 포털 의 Apache Camel 개발 가이드 의 Cryostat 통합을 참조하십시오.
32.3.2. 네임스페이스
표 32.1. “@XPath에 대해 사전 정의된 네임스페이스” 은 Cryostat에 대해 사전 정의된 네임스페이스를 표시합니다. @XPath
주석에 표시되는 Cryostat 표현식
에서 이러한 네임스페이스 접두사를 사용할 수 있습니다.
네임스페이스 URI | 접두사 |
---|---|
| |
|
32.3.3. 사용자 정의 네임스페이스
@NamespacePrefix
주석을 사용하여 사용자 지정 XML 네임스페이스를 정의할 수 있습니다. @NamespacePrefix
주석을 호출하여 @XPath
주석의 namespace 인수 를
초기화합니다. 그런 다음 @NamespacePrefix
에서 정의한 네임스페이스를 @XPath
주석의 표현식 값에 사용할 수 있습니다.
예를 들어, 접두사인 ex
를 사용자 지정 네임스페이스인 http://fusesource.com/examples
와 연결하려면 다음과 같이 @XPath
주석을 호출합니다.
public class AccountService { ... public void credit( @XPath( value = "/ex:transaction/ex:transfer/ex:receiver/text()", namespaces = @NamespacePrefix( prefix = "ex", uri = "http://fusesource.com/examples" ) ) String name, @XPath( value = "/ex:transaction/ex:transfer/ex:amount/text()", namespaces = @NamespacePrefix( prefix = "ex", uri = "http://fusesource.com/examples" ) ) String amount, ) { ... } ... }