171장. JClouds 구성 요소
Camel 버전 2.9에서 사용 가능
이 구성 요소를 사용하면 클라우드 공급자 키 값 엔진(blobstores) 및 계산 서비스와 상호 작용할 수 있습니다. 구성 요소에서는 Blobstore 및 컴퓨팅 서비스에 대한 추상화를 제공하는 라이브러리인 jclouds 를 사용합니다.
ComputeService 는 클라우드에서 머신 관리 작업을 간소화합니다. 예를 들어 ComputeService를 사용하여 5대의 시스템을 시작하고 소프트웨어를 설치할 수 있습니다.
BlobStore 는 Amazon S3와 같은 키 값 공급자의 처리를 단순화합니다. 예를 들어, BlobStore는 컨테이너에 대한 간단한 맵 보기를 제공할 수 있습니다.
camel jclouds 구성 요소를 사용하면 JcloudsBlobStoreEndpoint와 JcloudsComputeEndpoint의 두 가지 유형의 끝점을 추측하므로 추상화를 모두 사용할 수 있습니다. Blobstore 끝점에 생산자와 소비자를 둘 다 가질 수 있지만 컴퓨팅 엔드 포인트에만 생산자가 있을 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml
에 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jclouds</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
171.1. 구성 요소 구성
camel jclouds 구성 요소는 초기화 중에 구성 요소로 전달되는 한 여러 jclouds Blob 및 컴퓨팅 서비스를 사용합니다. 구성 요소에서는 list blobstore 및 컴퓨팅 서비스를 사용할 수 있습니다. 구성할 수 있는 방법은 다음과 같습니다.
<bean id="jclouds" class="org.apache.camel.component.jclouds.JcloudsComponent"> <property name="computeServices"> <list> <ref bean="computeService"/> </list> </property> <property name="blobStores"> <list> <ref bean="blobStore"/> </list> </property> </bean> <!-- Creating a blobstore from spring / blueprint xml --> <bean id="blobStoreContextFactory" class="org.jclouds.blobstore.BlobStoreContextFactory"/> <bean id="blobStoreContext" factory-bean="blobStoreContextFactory" factory-method="createContext"> <constructor-arg name="provider" value="PROVIDER_NAME"/> <constructor-arg name="identity" value="IDENTITY"/> <constructor-arg name="credential" value="CREDENTIAL"/> </bean> <bean id="blobStore" factory-bean="blobStoreContext" factory-method="getBlobStore"/> <!-- Creating a compute service from spring / blueprint xml --> <bean id="computeServiceContextFactory" class="org.jclouds.compute.ComputeServiceContextFactory"/> <bean id="computeServiceContext" factory-bean="computeServiceContextFactory" factory-method="createContext"> <constructor-arg name="provider" value="PROVIDER_NAME"/> <constructor-arg name="identity" value="IDENTITY"/> <constructor-arg name="credential" value="CREDENTIAL"/> </bean> <bean id="computeService" factory-bean="computeServiceContext" factory-method="getComputeService"/>
구성 요소에서 여러 Blobstore 및 컴퓨팅 서비스를 처리할 수 있습니다.As you can see the component is able to handling multiple blobstores and compute services. 각 엔드포인트에서 사용할 실제 구현은 URI 내부의 공급자를 전달하여 지정됩니다.