gpt4 book ai didi

java - Camel Spring javaconfig

转载 作者:行者123 更新时间:2023-12-02 03:33:33 26 4
gpt4 key购买 nike

我在配置camel以使用java配置与mavencamel:run插件时遇到问题。

这是插件 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 上下文文件”,该文件所需要做的就是导入您的 Java 配置。

Java 配置

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

}

Maven Camel 插件

            <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 方法。并删除camel maven插件以支持exec:java命令。

更新了没有 Xml 的 Java 配置

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>

关于java - Camel Spring javaconfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37736692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com