3장. 예
다음 표에 나열된 빠른 시작 예제는 Camel Quarkus Examples Git 리포지토리에서 복제하거나 다운로드할 수 있습니다.
예의 수: 1
| 예제 | 설명 |
|---|---|
| CSV 파일을 사용하고 데이터를 마샬링하고 FTP를 통해 보내는 방법을 보여줍니다. |
3.1. 파일 소비자 빠른 시작 예 링크 복사링크가 클립보드에 복사되었습니다!
Camel Quarkus Examples Git 리포지토리에서 퀵 스타트를 다운로드하거나 복제할 수 있습니다. 이 예제는 file-bindy-ftp 디렉터리에 있습니다.
zip 파일의 내용을 추출하거나 리포지토리를 로컬 폴더에 복제합니다(예: 빠른 시작 이라는 새 폴더).
명령줄에서 로컬 시스템의 개발 모드에서 이 예제를 실행할 수 있습니다. 개발 모드를 사용하면 개발의 통합을 신속하게 반복하고 코드에 대한 신속한 피드백을 받을 수 있습니다. 자세한 내용은 Camel Quarkus 사용자 가이드 의 개발 모드 섹션을 참조하십시오.
컨테이너 리소스 제한을 구성하거나 Quarkus Kubernetes 클라이언트가 자체 서명된 인증서를 신뢰하도록 활성화해야 하는 경우, 이러한 구성 옵션은 CloudEvent/ main/resources/application.properties 파일에서 확인할 수 있습니다.
사전 요구 사항
-
OpenShift 클러스터에 대한
클러스터 관리자액세스 권한이 있어야 합니다. -
SFTP 서버에 액세스할 수 있으며 애플리케이션 속성 구성 파일에 서버 속성(
ftp접두사가 접두사로 지정됨)을설정했습니다.
절차
Maven을 사용하여 개발 모드에서 예제 애플리케이션을 빌드합니다.
cd quickstarts/file-bindy-ftp mvn clean compile quarkus:dev
$ cd quickstarts/file-bindy-ftp $ mvn clean compile quarkus:devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 애플리케이션은 10초마다 타이머 구성 요소를 트리거하고, 임의의 "북" 데이터를 생성하고, 100개의 항목이 있는 임시 디렉터리에 CSV 파일을 생성합니다. 콘솔에 다음 메시지가 표시됩니다.
[route1] (Camel (camel-1) thread #3 - timer://generateBooks) Generating randomized books CSV data
[route1] (Camel (camel-1) thread #3 - timer://generateBooks) Generating randomized books CSV dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음으로 CSV 파일은 파일 소비자가 읽고 개별 데이터 행을 Book 개체로 마샬링하는 데 사용됩니다.
[route2] (Camel (camel-1) thread #1 - file:///tmp/books) Reading books CSV data from 89A0EE24CB03A69-0000000000000000
[route2] (Camel (camel-1) thread #1 - file:///tmp/books) Reading books CSV data from 89A0EE24CB03A69-0000000000000000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음으로 Book 개체의 컬렉션은 개별 항목으로 분할되며 그로 인한 속성을 기반으로 집계됩니다.
[route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 34 books for genre 'Action' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 31 books for genre 'Crime' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 35 books for genre 'Horror'
[route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 34 books for genre 'Action' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 31 books for genre 'Crime' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 35 books for genre 'Horror'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마지막으로 집계된 도서 컬렉션은 요약되지 않고 CSV 형식으로 다시 업로드되고 테스트 FTP 서버에 업로드됩니다.
[route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Action-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Crime-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Horror-89A0EE24CB03A69-0000000000000069.csv
[route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Action-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Crime-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Horror-89A0EE24CB03A69-0000000000000069.csvCopy to Clipboard Copied! Toggle word wrap Toggle overflow JVM 모드에서 애플리케이션을 실행하려면 다음 명령을 입력합니다.
mvn clean package -DskipTests java -jar target/*-runner.jar
$ mvn clean package -DskipTests $ java -jar target/*-runner.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 OpenShift에 예제 애플리케이션을 빌드하고 배포할 수 있습니다.
mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=true
$ mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pod가 실행 중인지 확인합니다.
$oc get pods NAME READY STATUS RESTARTS AGE camel-quarkus-examples-file-bindy-ftp-1-d72mb 1/1 Running 0 5m15s ssh-server-deployment-5f6f685658-jtr9n 1/1 Running 0 5m28s
$oc get pods NAME READY STATUS RESTARTS AGE camel-quarkus-examples-file-bindy-ftp-1-d72mb 1/1 Running 0 5m15s ssh-server-deployment-5f6f685658-jtr9n 1/1 Running 0 5m28sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 입력하여 애플리케이션 로그를 모니터링합니다.
oc logs -f camel-quarkus-examples-file-bindy-ftp-5d48f4d85c-sjl8k
oc logs -f camel-quarkus-examples-file-bindy-ftp-5d48f4d85c-sjl8kCopy to Clipboard Copied! Toggle word wrap Toggle overflow