繁体   English   中英

骆驼弹簧javaconfig

[英]Camel spring javaconfig

我在配置骆驼以与Maven camel:run插件一起使用java config时遇到麻烦。

这是插件xml:

            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-maven-plugin</artifactId>
                <version>2.15.1.redhat-621084</version>
                <configuration>
                    <mainClass>com.deltashade.config.MyRouteConfiguration</mainClass>
                </configuration>
            </plugin>

这是课程代码

import org.apache.camel.spring.javaconfig.Main;
import org.apache.camel.spring.javaconfig.CamelConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.deltashade.hellocamel")
public class MyRouteConfiguration extends CamelConfiguration {
    public static void main(String[] args) throws Exception {
        Main main = new Main();
        main.setConfigClass(MyRouteConfiguration.class);
        main.run();
    }
}

当我使用set config类时,出现以下错误: The method setConfigClass(Class<MyRouteConfiguration>) is undefined for the type Main

完成答案改版。

为了专门使用maven camel run插件,您将需要添加“模板camel-context文件”。此文件所需要做的就是导入Java配置。

Java配置

@Configuration
@ComponentScan("com.mcf.xml.free.route")
public class RouteJavaConfig extends CamelConfiguration {

}

Maven骆驼插件

            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-maven-plugin</artifactId>
                <version>${camel.version}</version>
            </plugin>

Spring Xml上下文

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

  <context:annotation-config/>
  <bean class="com.mcf.xml.free.config.RouteJavaConfig"/>
</beans>

如果您想完全免费使用xml,可以删除Spring Xml Context,并在Java配置中添加一个新的main方法。 并删除骆驼maven插件,转而使用exec:java命令。

更新了Java配置,没有Xml

import org.apache.camel.spring.javaconfig.CamelConfiguration;
import org.apache.camel.spring.javaconfig.Main;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.mcf.xml.free.route")
public class RouteJavaConfig extends CamelConfiguration {
    public static void main(String[] args) throws Exception {
        Main main = new Main();
        main.setConfigClass(RouteJavaConfig.class);
        main.run();
    }
}

exec maven插件(使用exec:java运行)

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <configuration>
        <mainClass>com.mcf.xml.free.config.RouteJavaConfig</mainClass>
    </configuration>
</plugin>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM