![](/img/trans.png)
[英]Camel Spring JavaConfig Maven-Camel-Plugin without any xml
[英]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.