我使用Apache Camel和ActiveMQ Artemis创建了一个非常简单的Sping Boot 3.0项目,因为ActiveMQ“Classic”支持在Spring Boot 3中已经停止。我的MQ路由不工作。任何帮助在这里真的很感激。pom.xml
依赖项:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-jms-client</artifactId>
<version>2.28.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-jms-starter</artifactId>
<version>3.20.2</version>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
<version>3.20.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-artemis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
@SpringBootApplication
public class ArtemisApplication {
public static void main(String[] args) {
SpringApplication.run(ArtemisApplication.class, args);
}
}
application.properties
:
spring.artemis.broker-url=tcp://localhost:61616
camel.springboot.auto-startup=true
spring.artemis.password=admin
spring.artemis.user=admin
spring.artemis.mode=native
camel.servlet.mapping.context-path=/services/*
RouteBuilder类:
@Component
@Slf4j
public class ArtemisMQRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:queue:input")
.routeId("ArtemisMQRouter ")
.id("activemq:queue:input")
.log(LoggingLevel.INFO, log, "Message received from activemq:queue:input")
.to("activemq:queue:output")
.log(LoggingLevel.INFO, log, "Message successfully sent to the activemq:queue:output")
.end();
}
}
1条答案
按热度按时间moiiocjp1#
你需要Apache Camel v4来使用Sping Boot 3。Camel v3只兼容Sping Boot 2。