189.6. 예제

아래 스니펫에서 direct:george 끝점으로 전송되는 교환 데이터는 LIVERPOOL 이라는 시스템의 라이브러리 BEATLES 의 데이터 큐에 PENNYLANE 에 배치됩니다.
다른 사용자는 동일한 데이터 큐에 연결하여 데이터 대기열에서 정보를 수신하고 mock:ringo 끝점으로 전달합니다.

public class Jt400RouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
       from("direct:george").to("jt400://GEORGE:EGROEG@LIVERPOOL/QSYS.LIB/BEATLES.LIB/PENNYLANE.DTAQ");
       from("jt400://RINGO:OGNIR@LIVERPOOL/QSYS.LIB/BEATLES.LIB/PENNYLANE.DTAQ").to("mock:ringo");
    }
}

189.6.1. 원격 프로그램 호출 예 (Camel 2.7)

아래 코드 조각에서 직접:work 끝점으로 전송되는 데이터 교환에는 라이브러리 "assets"에서 프로그램 "compute"에 대한 인수로 사용되는 세 가지 문자열이 포함됩니다. 이 프로그램은 2nd 및 3rd 매개변수에 출력 값을 작성합니다. 모든 매개변수는 direct:play 끝점으로 전송됩니다.

public class Jt400RouteBuilder extends RouteBuilder {
    @Override
    public void configure() throws Exception {
       from("direct:work").to("jt400://GRUPO:ATWORK@server/QSYS.LIB/assets.LIB/compute.PGM?fieldsLength=10,10,512&ouputFieldsIdx=2,3").to(“direct:play”);
    }
}

189.6.2. 키화된 데이터 큐에 쓰기

from("jms:queue:input")
.to("jt400://username:password@system/lib.lib/MSGINDQ.DTAQ?keyed=true");

189.6.3. 키화된 데이터 큐에서 읽기

from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKey=MYKEY&searchType=GE")
.to("jms:queue:output");