java - 将 Apache Camel 与 Spring 框架集成

标签 java spring spring-mvc apache-camel

我是 Apache Camel 的新手。我试图了解 Spring 框架与 Apache Camel 集成的使用。我不是在这里比较 Spring 和 Apache Camel。我试图了解依赖注入(inject)是否是 Java 项目中将 Spring 与 Camel 集成的唯一用途。由于 Camel 可以处理很多事情,比如路由和 JDBC 配置,甚至 Spring 框架也可以做到。在我的项目中,我们使用 Google Juice 进行 DI 而不是 Spring。我知道还有其他模块,如 spring security、AOP 可以从 spring 中使用。但您不认为我们可以使用其他库实现相同的目的吗?那么我在这里缺少什么?我的理解正确吗?当我们可以使用 google guice 和 Camel 实现相同的 DI 时,将 Spring 与 apache Camel 集成还有什么其他用途。

最佳答案

如果您的项目camel有spring,您可以使用spring框架的所有功能,例如,如果您需要Spring JDBC,您可以声明该依赖项并在camel中使用它。我给你举个例子:

在你的 pom.xml 中

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <scope>provided</scope>
</dependency>    

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <scope>provided</scope>
</dependency>

在你的camel-context.xml中

<!-- Datasource -->
<bean class="org.springframework.jdbc.datasource.SimpleDriverDataSource"
    id="dataSource">
    <property name="driverClass" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
    <property name="url"
        value="${ds.urlString}://${ds.server}:${ds.port};databaseName=${ds.bd}" />
    <property name="username" value="${ds.user}" />
    <property name="password" value="${ds.password}" />
</bean>

<!-- processors -->
<bean
    class="com.mycomapny.Processor"
    id="idProcessor" />

正如您在示例中看到的,您正在注入(inject)依赖项,并且可以在 dao 类中使用它。

问候

关于java - 将 Apache Camel 与 Spring 框架集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46960676/

相关文章:

Spring - java.lang.NoSuchMethodError : org. springframework.web.accept.ContentNegotiationManager.getStrategies()Ljava/util/List;?

java - Maven:插件配置异常

java - Thymeleaf 表单验证唯一值,如何将错误传递给 View

spring-mvc - Tomcat 部署的 war 未部署在 JBoss 上

java - 创建名称为 "sessionFactory"的 bean 时出错

java - Spring 集成 - 队列/轮询器似乎在没有任何操作的情况下耗尽线程池

hibernate - java.lang.NoClassDefFoundError : org/springframework/beans/factory/NoUniqueBeanDefinitionException

java - 用子字符串替换字符串

java - 将参数传递给 Java 方法内定义的方法

java - 用java方法从网站读取和组织数据