第 171 章 JClouds Component


从 Camel 版本 2.9 开始提供

此组件允许与云提供商键值引擎(blobstores)和计算服务交互。组件使用 jclouds,它是
为 blob 存储和计算服务提供抽象的库。

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 blobstores 和 compute 服务。组件接受列表 blobstores 和 compute 服务。以下是如何配置它。

    <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"/>

正如您所见,组件能够处理多个 blob 存储和计算服务。每个端点将使用的实际实现是通过在 URI 内传递提供程序来指定的。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.