Camel ActiveMQ + Spring boot不读取spring activemq配置

2023-11-21

我正在尝试使用 Spring Boot 1.5.2.RELEASE + Camel (Spring Boot Starter) + ActiveMQ 的非常简单的路线,即从特定队列读取然后记录它。但是,它看起来好像没有获取我的 spring.activemq URL 配置,正如我在日志中看到的那样,它正在尝试连接到不同的 url,并且它继续连接它,而我的 spring boot 应用程序永远不会启动。这些问题基于我在下面提供的配置,我该如何执行以下操作:

  1. 修复配置以允许 spring 的 activemq 配置
  2. 配置 maxReconnectAttempts,以便在 URL 无法访问时不会尝试永远连接(如果 ActiveMQ 实例出现故障,则可能会出现这种情况)

任何帮助将不胜感激。我确实在 stackoverflow 上搜索了相关问题,但没有一个给我解决我面临的问题

我在控制台上看到错误,并且持续尝试 60-70 次并且还在增加。正如你所看到的,camel 获取的代理 URL 是 spring 默认配置的一些默认 URL

Failed to connect to [tcp://localhost:61616] after: 10 attempt(s) continuing to retry.

这是我当前的配置/代码:

pom.xml - 相关部分

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
</parent>

<dependencyManagement>
    <dependencies>
        <!-- Spring Cloud is part of the project where I am configuring camel routes -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Camden.SR5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring-boot-dependencies</artifactId>
            <version>2.19.2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <!-- I have this as the same project works as a web app as well 
    and therefore I do not need the 
    camel.springboot.main-run-controller=true configuration to be set
    which is as per camel's spring boot documentation-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Camel - start -->
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-camel</artifactId>
    </dependency>
    <!-- Camel - end -->

</dependencies>

应用程序.yml(Spring Boot ActiveMQ 属性)

spring:
  activemq:
    brokerUrl: tcp://my.company.host:[port] //This port is up and running
    user: user
    password: password

JAVA 骆驼路线

package com.mycamel.route;

import org.apache.camel.builder.RouteBuilder;
import org.springframework.stereotype.Component;

@Component
public class SampleAmqCamelRouter extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("activemq:some.queue").to("log:com.mycamel.route?level=INFO&groupSize=10");
    }

}

首先你应该添加spring-boot-starter-activemq依赖于您的 pom.xml。然后您可以使用其自动配置功能,这将创建一个ConnectionFactory基于您在 application.yml 中指定的属性。

之后你必须配置Camel的ActiveMQComponent也。如果您想重复使用ConnectionFactory(由自动配置创建)然后可以通过以下方式实现:

@Configuration
public class ActiveMQComponentConfig {

    @Bean(name = "activemq")
    public ActiveMQComponent createComponent(ConnectionFactory factory) {
        ActiveMQComponent activeMQComponent = new ActiveMQComponent();
        activeMQComponent.setConnectionFactory(factory);
        return activeMQComponent;
    }
}

您可以在以下位置找到更多信息Camel的ActiveMQ文档.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Camel ActiveMQ + Spring boot不读取spring activemq配置 的相关文章

  • 运行SpringBootTest时访问H2控制台

    如果我正在运行测试 SpringBootTest有什么办法可以访问H2控制台吗 我有一个访问 H2 数据库 成功 的测试 但如果我想自己检查数据库 我该怎么做 我首先运行测试webEnvironment DEFINED PORT and h
  • 配置文件上的 Spring 自动配置顺序/优先级

    我刚刚阅读了一些 Spring 文档 并且对自动配置的工作方式有疑问 因此 如果我们运行具有特定配置文件的 Java 应用程序 它将自动使用以下格式命名的配置文件 application profileName properties 假设我
  • 使用 API 密钥和机密保护 Spring Boot API

    我想保护 Spring Boot API 的安全 以便只有拥有有效 API 密钥和秘密的客户端才能访问它 但是 程序内部没有身份验证 使用用户名和密码的标准登录 因为所有数据都是匿名的 我想要实现的目标是所有 API 请求只能用于特定的第三
  • Spring boot 404错误自定义错误响应ReST

    我正在使用 Spring boot 来托管 REST API 即使浏览器正在访问 URL 以及自定义数据结构 我也希望始终发送 JSON 响应 而不是使用标准错误响应 我可以使用 ControllerAdvice 和 ExceptionHa
  • 混合参数策略 - 仅使用命名策略、位置策略或 JPA 序数策略之一

    我正在从 Oracle 数据库调用函数并面临以下异常 org hibernate engine query ParameterRecognitionException 混合参数策略 仅使用命名 位置或 JPA 序数策略之一 这是我的用户 j
  • Spring Data Redis 覆盖默认序列化器

    我正在尝试创建一个RedisTemplatebean 将具有更新的值序列化器来序列化对象JSONredis 中的格式 Configuration class RedisConfig Bean name redisTemplate Prima
  • 将 WAR 部署到 Tomcat(Spring Boot + Angular)

    我正在尝试使用以下命令部署 Spring Boot 应用程序WAR包装至Tomcat 10 应用程序已成功部署 但是 当我尝试访问端点时 它会导致404 未找到 战争文件 应用程序 war http localhost 8080 appli
  • 从 SCDF 执行任务时,数据库凭证作为部分作业参数公开

    我有自定义构建的 SCDF 它在 Openshift 中构建为 docker 映像 并在 server deployment yaml 中称为 docker 映像 我使用 Oracle 数据库来存储任务元数据 并且是此处的外部源 我传递了
  • 在 Spring Boot 应用程序中启用 Spring 框架的日志记录

    我已经使用 spring boot 创建了简单的网络应用程序 我想为 springframework 包启用调试日志 我知道如何在普通 spring mvc 项目中启用日志记录 我在这里尝试了相同的操作 但它不起作用 有人可以帮我吗 我的
  • 未注入带有 JPA2 的 Apache Ignite 2.7 IgniteRepository

    使用在 Web 上建立的 guildes 我使用 Spring Data JPA 2 应用程序制作了简单的 Spring Boot 2 仅在 2 7 版本中才向 Apache Ignite 添加了 Spring Boot JPA 2 支持
  • 避免 @Secured 注释的重复值

    我正在尝试使用以下方法来保护我的服务方法 Secured如下 public interface IUserService Secured ROLE ROLE1 ROLE ROLE2 ResponseEntity saveUser Creat
  • 为什么 html 页面没有在 thymeleaf 中显示?

    我在用着spring boot和thymeleaf查看引擎 问题是控制器没有显示正确的 html 页面 并且总是显示Whitelabel Error Page 控制器 package com example controller impor
  • 使用 Spring Embedded Kafka 测试 @KafkaListener

    我正在尝试为我正在使用 Spring Boot 2 x 开发的 Kafka 侦听器编写单元测试 作为一个单元测试 我不想启动一个完整的 Kafka 服务器作为 Zookeeper 的实例 所以 我决定使用 Spring Embedded K
  • Spring引导@Configurable

    我正在尝试配置Autowired在 Spring Boot 应用程序下的非 Spring 托管类中 我在部署在 tomcat 服务器下的 Web 应用程序下成功运行了这个 但是当我想在 Spring Boot 下运行它时 没有任何效果 我制
  • 如何在不同的班级中启动和停止计时器?

    我想测量从传入 HTTP 请求开始到应用程序到达某个点的时间 这两个时间点都位于不同的类中 我将如何启动和停止这些不同类别的计时器 我没有看到使用 MeterRegistry 中的 命名 计时器的方法 我该怎么办呢 您可以使用 AOP 如下
  • Spring Boot中服务接口类的用途

    我的问题是关于接口类的使用 我对 Spring 还很陌生 所以如果这过于简单 请耐心等待 首先 当您可以在 BoxService 中声明 find all 时 这里拥有 IBoxService 接口有什么意义 其次 在控制器中如何使用IBo
  • HTTPS 请求仅在 iOS、Ionic 2 上失败

    我有一个Ionic 2调用一个应用程序Spring Boot用于向其他设备发送推送通知的 API API 配置为 HTTPS The API POST请求适用于一切except iOS 我在服务器上的 SSL 证书是自签名的 也许就是这样
  • Spring boot 2 启用非安全 /health 端点

    我有一个带有客户端和服务器身份验证的 Spring Boot 2 项目 并且我试图仅公开 actuator health端点 因此不需要任何身份验证 我的初始WebSecurityConfigurerAdapter was EnableWe
  • spring boot框架下如何过滤tomcat产生的访问日志

    我们使用spring boot框架 通过嵌入式tomcat生成访问日志 访问日志的格式如下 server tomcat access log enabled true server tomcat access log pattern h l
  • Spring Boot 中的 Spring Security 配置

    我正在努力转换Spring 3项目到Spring 4 Spring 启动 我还不知道这样做是否正确 我转换Spring 安全 XML配置到一个基于Java的配置如下 Configuration EnableWebSecurity publi

随机推荐

  • PHP,strip_tags 在文本区域中剥离 \n。怎么阻止呢?

    我希望能够接受 n or r n并将它们转换为 br 以在页面中使用 尽管当用户提交包含新段落的文本区域时 strip tags函数似乎将它们直接剥离了 我能做些什么来将这些保留在字符串中吗 谢谢 您可以使用nl2br添加BR换行符元素到换
  • 如何编写写入 stdin 的 Go 测试?

    假设我有一个简单的应用程序 它从标准输入读取行并简单地将其回显到标准输出 例如 package main import bufio fmt io os func main reader bufio NewReader os Stdin fo
  • Hibernate @OrderBy 与引用的类

    我有一堂课说 ClassA 其中有 ClassB 的集合 OneToMany cascade CascadeType ALL fetch FetchType LAZY JoinColumn name COLUMN NAME private
  • 如何从 C++ 对象中获取类名?

    是否也可以获取对象名称 include
  • 如何在 AOSP 构建中添加 APK?

    我需要将一些第 3 方 APK 添加到我的 AOSP 版本中 我应该将这些 APK 保存在哪个文件夹中 以便在构建代码并创建映像时将其安装在模拟器中 看起来系统应用程序保存在包 应用程序文件夹 所以我需要知道第三方 APK 的保存位置 将第
  • 使用具有特定精度的小数作为 Dapper 的输出参数

    我正在评估 Dapper 作为自定义和繁琐代码的替代品 到目前为止 一切都非常好并且很有前途 但是今天早上我偶然发现了动态参数的问题并且找不到解决方案 存储过程计算客户的帐户余额和可用余额 并以两位小数输出参数返回其结果 这些小数在存储过程
  • 使用 Java8 计算 int 出现次数

    Java8 有没有更好的方法来计算 int 出现次数 int monthCounter new int 12 persons stream forEach person gt monthCounter person getBirthday
  • 两个 Wifi 设备之间的数据传输

    我在谷歌上搜索过 在 Android 2 2 和 sdk 8 中 如何在 Android 列表中使用 SSID 通过使用 SSID 应以编程方式获取特定的启用 WiFi 的设备属性 有了这个帮助 应该可以在 Android 中的两个支持 W
  • 如何在postgres中编写组合函数?

    我有一个这种形式的 PostgreSQL 表 base id int mods smallint 3 7 15 48 我需要填充这种形式的表 combo id int base id int mods smallint 1 3 2 3 7
  • pprint 对字典排序但不对集合排序?

    我知道字典和集合没有排序 因此相等的集合或字典可能会以不同的方式打印 所有测试都使用Python 3 6 1 gt gt gt for obj in 0 8 8 0 0 0 8 8 8 8 0 0 print obj 0 8 8 0 0 0
  • Jaxer 的优点和缺点

    我意识到这个问题已经之前问过 但已经一个月了 没有像样的回应 我正在看阿普塔纳的贾克瑟我发现这个概念非常令人兴奋 对于那些不熟悉的人来说 这里是一个快速概述 用他们的话来说 Jaxer 是 世界上第一个真正的 AJAX 服务器 它基于 Mo
  • geom_bar(position = "dodge") 中的条形宽度相同

    我想绘制具有相同宽度的条形图 这是我的最小示例代码 data lt data frame A letters 1 17 B sample 1 500 17 C c rep 1 5 rep 2 6 rep c 3 4 5 each 2 ggp
  • Android 应用程序在卸载并重新安装后会记住其数据

    在开发针对 4 1 以上所有版本的 Android 应用程序时 我发现卸载应用程序并再次安装不会清除其数据 该应用程序旨在存储其在第一个屏幕中询问的详细信息 在操作系统版本4 4 4中卸载并重新安装后 应用程序会提示用户填写数据 这是正常现
  • 地点自动完成状态代码 9001

    我试图使用 Google Play 服务中的 Places Autocomplete API 进行地点预测 但这是我得到的状态 Status statusCode unknown status code 9001 resolution nu
  • Apache Flink:如何为动态表启用“upsert 模式”?

    我看到好几处提到 更新插入模式 Flink 文档和 Flink 官方博客中基于唯一键的动态表 但是 我没有看到任何有关如何在动态表上启用此模式的示例 文档 例子 博客文章 当通过更新模式在流上定义动态表时 我们可以指定一个唯一键表上的属性
  • 转换说明符 %ju

    在下一页中 我找到了类似的代码 CERT INT15 C 使用 intmax t 或 uintmax t 对程序员定义的整数类型进行格式化 IO uintmax t temp if scanf ju temp 1 我不熟悉 ju 说明符 而
  • 如何删除 ActionBar 上应用程序图标和屏幕边缘之间的边距?

    我的应用程序有一个自定义主页图标 我希望它一直与操作栏的左侧对齐 以便它接触屏幕边缘 这可能吗 如果可以 该怎么做 我没有看到任何设置填充或边距以使其一直向左对齐的内容 我终于得到了这个 您需要使用自定义操作栏视图 其实很简单 这是使用 A
  • 使用枚举基编写枚举时出现不明确的重载,但仅使用 clang

    我想使用运算符 include
  • 如何在可绘制形状 XML 选择器中制作底部边框?

    我正在尝试为我的按钮创建一个具有不同状态的可绘制形状 所以我写了这个
  • Camel ActiveMQ + Spring boot不读取spring activemq配置

    我正在尝试使用 Spring Boot 1 5 2 RELEASE Camel Spring Boot Starter ActiveMQ 的非常简单的路线 即从特定队列读取然后记录它 但是 它看起来好像没有获取我的 spring activ