1장. 새 Fuse 통합 프로젝트 생성
1.1. 개요
새 Fuse Integration 프로젝트를 생성하려면 다음과 같은 주요 단계가 포함됩니다.
프로젝트를 구성한 후 툴은 필요한 Maven 종속 항목을 모두 다운로드하고 프로젝트를 실행하고 게시하는 데 필요한 POM 파일을 생성합니다.
1.2. 사전 준비 사항
새 Fuse Integration 프로젝트를 생성하기 전에 다음 정보를 확보해야 합니다.
- 대상 런타임 환경: OpenShift 또는 Fuse 독립 실행형으로 Fuse on OpenShift 또는 Fuse (스프링 부팅, Fuse on Karaf 또는 Fuse on EAP)
- Camel 버전(컬렉션에서 기본 사용 이외의 경우)
1.3. 프로젝트 이름 및 작업 공간 지정
새 Fuse Integration 프로젝트를 생성하려면 다음 단계를 따르십시오.
New
Project Red Hat Fuse Fuse Integration Project 를 선택하여 New Fuse Integration Project 마법사를 엽니다. 위치 창에서 선택한 Use default workspace location 옵션을 사용하여 마법사가 열립니다.
-
프로젝트 이름에 새 프로젝트의 이름을 입력합니다(예:
MySampleProject
). 프로젝트의 데이터를 저장할 작업 공간 위치를 지정합니다.
- 기본 작업 공간을 사용하려면 Use default workspace location 옵션을 활성화한 상태로 둡니다.
대체 위치를 사용하려면 기본 작업 공간 위치 사용 옵션을 지우고 경로 필드에 위치를 지정합니다.
을 클릭하여 대체 작업 영역을 신속하게 찾아서 선택합니다.
- 다음을 클릭하여 대상 환경 선택 페이지를 엽니다.
1.4. 프로젝트 배포 환경 구성
새 프로젝트를 생성할 때 프로젝트에 런타임 시 필요한 리소스가 있도록 프로젝트의 대상 배포 환경을 지정합니다. 배포 플랫폼과 Camel 버전을 선택해야 합니다. 선택적으로 런타임 구성을 지정할 수 있습니다.
대상 환경 선택 페이지가 열립니다.
Kubernetes/OpenShift 또는 독립 실행형 플랫폼에 프로젝트를 배포할지 여부를 선택합니다.
배포 플랫폼에 Kubernetes/OpenShift 를 선택하면 Cryostat 부팅 런타임 이 자동으로 선택되어 3단계로 건너뛸 수 있습니다.
배포 플랫폼에 대해 독립 실행형 을 선택하는 경우:
대상 런타임 환경을 선택합니다.
- Spring Boot
- Karaf/Fuse
- EAP에서 Wildfly/Fuse
Karaf 및 EAP 독립 실행형 런타임 환경의 경우 런타임 구성에 대해 다음 옵션 중 하나를 선택합니다.
- None 선택한 옵션을 수락합니다(나중에 런타임 구성을 정의할 수 있음).
- 드롭다운 메뉴에서 기존 런타임 구성을 선택합니다.
- “새 대상 런타임 생성 (선택 사항)” 에 설명된 대로 새 런타임 구성을 생성합니다.
새 프로젝트 창의 Camel 버전 선택에서 런타임과 관련된 기본 Camel 버전을 수락하거나 다음을 통해 기본값을 변경합니다.
- 드롭다운 목록에서 Camel 버전 선택. Fuse Tooling은 나열된 제품화된 버전을 지원합니다.
제품화되지 않은 버전(지원되지 않음)을 실험하려는 경우 다른 Camel 버전을 입력합니다.
Verify 버튼을 클릭하여 툴링이 지정된 버전에 액세스할 수 있는지 여부를 확인할 수 있습니다. 그렇지 않은 경우 다음 예제와 유사한 알림이 Select a Target Runtime 페이지 헤더에 표시됩니다.
참고프로젝트를 생성, 구성 및 저장한 후 Camel 버전을 변경할 수 있습니다. 11장. Camel 버전 변경을 참조하십시오.
- 런타임 환경과 새 Fuse Integration 프로젝트를 기반으로 할 Camel 버전을 선택한 후 Next 를 클릭하여 마법사의 고급 프로젝트 설정 페이지를 연 다음 “프로젝트 템플릿 선택” 의 단계를 따릅니다.
1. 새 대상 런타임 생성 (선택 사항)
Karaf 및 EAP 독립 실행형 런타임 환경의 경우 선택적으로 New Fuse Integration Project 마법사에서 새 런타임 구성을 생성할 수 있습니다.
마법사의 대상 런타임 선택 페이지에서 새로 만들기를 클릭하여 새 서버 런타임 환경 페이지를 엽니다.
Red Hat JBoss Middleware
폴더를 확장한 다음 Red Hat Fuse 런타임 환경을 선택합니다.새 로컬 서버 만들기 옵션을 선택하지 않은 상태로 둡니다. 나중에 프로젝트를 게시할 준비가 되면 로컬 서버를 생성할 수 있습니다( 27.1절. “서버 추가”참조).
참고새 로컬 서버 생성 옵션을 선택하면 New Fuse Integration Project 마법사에서 Fuse 서버 런타임을 정의하고 구성하는 추가 단계를 안내합니다( 27.1절. “서버 추가”에 설명된 대로). 그런 다음 프로젝트를 빌드할 때 Fuse Integration 관점의 서버 뷰에 서버 런타임도 추가합니다.
다음을 클릭하여 서버의 새 서버 런타임 환경 페이지를 엽니다.
서버 런타임의 이름 , 홈 디렉터리, 실행 환경을 지정합니다.
- name Cryostat->-<Accept the default 또는 enter a new name for the runtime environment.
홈 디렉터리 Cryostat-에서 서버 런타임의 설치 디렉토리를 찾아서 선택하려면 찾아보기 를 클릭합니다.
참고서버가 컴퓨터에 설치되어 있지 않은 경우 런타임 링크를 다운로드하여 설치한 다음 사이트의 다운로드 지침에 따라 지금 설치할 수 있습니다. 사이트에 따라 다운로드 프로세스를 계속하기 전에 유효한 인증 정보를 제공해야 할 수 있습니다.
런타임 JRE: 실행 환경 기본값을 수락하거나 드롭다운 목록에서 다른 JavaSE 버전을 선택합니다.
원하는 버전이 목록에 나타나지 않으면 환경 버튼을 클릭하고 해당 목록에서 버전을 선택합니다. 선택한 JRE 버전이 시스템에 설치되어 있어야 합니다.
참고Fuse 7.x에는 JRE 버전 1.8이 필요합니다.
- 런타임 JRE: JRE 대체 - 프로젝트에 다른 버전의 Java가 필요한 경우 이 옵션을 사용할 수 있습니다.
마침 을 클릭하여 New Fuse Integration Project 마법사의 대상 실행 선택 페이지로 돌아갑니다.
새로 구성된 대상 런타임은 대상 런타임 창의 드롭다운 메뉴에 표시되고 런타임에서 지원하는 Camel 버전이 Camel Version 창에 표시되고 회색으로 표시됩니다.
Fuse Integration 프로젝트를 생성한 후에는 Camel 버전을 변경할 수 있습니다. 11장. Camel 버전 변경을 참조하십시오.
- “프로젝트 템플릿 선택” 에 설명된 대로 프로젝트에 대한 템플릿을 지정하려면 다음을 클릭합니다.
1.5. 프로젝트 템플릿 선택
고급 프로젝트 설정 페이지에는 새 프로젝트의 시작점으로 사용할 수 있는 템플릿 목록이 있습니다. 일반적인 사용 사례를 기반으로 하는 템플릿은 샘플 코드와 데이터를 제공하여 빠르게 시작할 수 있습니다. 사용 가능한 템플릿 목록은 이전 페이지에서 선택한 런타임 환경에 따라 다릅니다. 오른쪽 창에서 해당 설명을 볼 템플릿을 선택합니다.
OpenShift의 Fuse 에는 Spring XML 구성 파일을 사용하여 Spring Boot에서 Camel 경로를 구성하는 방법을 보여주는 단일 템플릿이 있습니다. 이 템플릿은 Fuse Integration 프로젝트를 생성하며 2.18.1.redhat-000012 보다 최신 버전이 필요합니다.
이 템플릿은 OpenShift 서버에서 실행되는 프로젝트를 생성하고 Spring DSL만 지원합니다. 이 템플릿 사용에 대한 자세한 내용은 6장. OpenShift에서 Fuse 시작하기 을 참조하십시오.
Wildfly 또는 Fuse on EAP 의 경우 "Hello"라고 하는 Quarkus 서비스를 호출하는 샘플 Camel 경로를 제공하는 단일 템플릿이 있습니다. 이 템플릿은 Red Hat EAP 서버에서 실행되는 프로젝트를 생성하고 Spring DSL만 지원합니다.
Karaf 또는 Fuse on Karaf 의 경우 템플릿을 선택할 수 있습니다. 지원되는 세 가지 DSL(Domain Specific Languages)을 기반으로 스케일톤 Camel 컨텍스트 라우팅 파일을 생성하는 빈 프로젝트를 생성할 수도 있고, 각각 일반적인 사용 사례를 기반으로 사전 정의된 템플릿을 사용할 수 있습니다. 개별 템플릿에서는 모든 DSL 옵션을 지원하지 않을 수 있습니다.
참고Java DSL의 경우 툴링은 툴의 Java 편집기에서 편집할 수 있는
CamelRoute.java
파일을 생성하지만 그래픽 다이어그램을 생성하지는 않습니다.콘텐츠 기반 라우터 - 특정 위치에서 파일을 읽고 메시지 콘텐츠에 따라 다른 출력 폴더에 라우팅하는 샘플 Camel 경로를 제공합니다.
이 템플릿은 Red Hat Fuse 서버에서 실행되는 프로젝트를 생성하고 세 가지 DSL을 모두 지원합니다.
CXF 코드는 먼저 CXF 웹 서비스 호출에 의해 시작되는 샘플 Camel 경로를 제공합니다.
이 템플릿은 Red Hat Fuse 서버에서 실행되는 프로젝트를 생성하고 Spring 및 Java DSL만 지원합니다.
- 목록에서 템플릿을 선택합니다.
완료를 클릭합니다.
툴링은 프로젝트 빌드를 시작하고 Project Explorer 보기에 추가합니다.
Fuse Integration 모드가 아직 열려 있지 않은 경우 툴링은 현재로 전환할지 여부를 묻는 메시지를 표시합니다.
예 를 클릭하여 Fuse Integration 관점에서 새 프로젝트를 엽니다.
프로젝트가 Project Explorer 보기에 표시됩니다. 기본적으로 프로젝트에는 XML( Apache Camel 컨텍스트) 파일이 포함되어 있습니다.
캔버스 하단에서 소스 탭을 클릭하여 생성된 Camel 컨텍스트 파일을 확인합니다.
프로젝트에 새 Camel 컨텍스트 파일을 추가하려면 10장. 새 Camel XML 파일 생성 을 참조하십시오.
CXF를 사용하는 프로젝트를 빌드할 때 빌드 프로세스가 Java 파일에서 자동으로 작동하여 WSDL 파일을 생성할 수 있습니다. 이렇게 하려면 프로젝트의 .pom
파일에서 java2ws
Maven 플러그인을 구성합니다. Apache CXF 개발 가이드, Maven 툴 참조, java2ws 를 참조하십시오.
1.6. Maven 종속성 오류 해결
새 Fuse Integration 프로젝트를 생성한 후 Maven 종속성 오류가 발생할 수 있습니다.
다른 시간에 발생할 수 있지만 프로세스가 완료되기 전에 프로젝트 빌드를 취소하면 더 일반적으로 발생합니다. 이러한 방식으로 프로세스를 중단하면 모든 프로젝트의 종속 항목이 Maven 리포지토리에서 다운로드되지 않는 경우가 많습니다.
Maven 종속성을 다음과 같이 업데이트하여 이러한 종속성 오류를 해결할 수 있습니다.
- Project Explorer 보기에서 루트 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 엽니다.
-
Maven
Update Project 를 선택합니다. Maven 프로젝트 업데이트 마법사에서 다음을 수행합니다.
- 마법사 목록에 둘 이상의 항목이 표시되면 업데이트할 프로젝트를 선택합니다.
- Force Update of Snapshots/Releases 옵션을 클릭하여 활성화합니다.
OK를 클릭합니다.
워크벤치의 오른쪽 하단에서 Maven 리포지토리에서 누락된 종속성이 다운로드되면 진행률 상태 표시줄 축소를 볼 수 있습니다.