171장. JClouds 구성 요소
Camel 버전 2.9에서 사용 가능
이 구성 요소를 사용하면 클라우드 공급자 키-값 엔진(blobstores) 및 컴퓨팅 서비스와 상호 작용할 수 있습니다. 구성 요소는 Blobstore 및 컴퓨팅 서비스에 대한 추상화를 제공하는 라이브러리인 jclouds 를 사용합니다.
ComputeService 는 클라우드에서 머신을 관리하는 작업을 간소화합니다. 예를 들어 ComputeService를 사용하여 5대의 시스템을 시작하고 해당 시스템에 소프트웨어를 설치할 수 있습니다.
BlobStore 는 Amazon S3와 같은 키-값 공급자를 간단하게 처리할 수 있습니다. 예를 들어 BlobStore는 컨테이너에 대한 간단한 Map 보기를 제공할 수 있습니다.
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 blobstore 및 컴퓨팅 서비스를 사용합니다. 구성 요소에서는 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 및 컴퓨팅 서비스를 처리할 수 있음을 알 수 있습니다. 각 끝점에서 사용할 실제 구현은 URI 내에서 공급자를 전달하여 지정합니다.