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");