我想以编程方式设置org.springframework.amqp.rabbit.connection.CachingConnectionFactory上的主机
属性。我想保留Spring Boot自动配置的默认值和来自我的应用程序的值-{profile name}。yml文件,因此出于这些原因,我不想简单地创建自己的cachingConnectionFactorybean。
我找到了org.springframework.boot.autoconfigure.amqp。ConnectionFactoryCustomizer类,看起来非常有前途,因为我看到了如何在RabbitAutoConfiguration类中调用它来配置底层com.rabbitmq.client。spring框架中的ConnectionFactory CachingConnectionFactory。但是,我不知道如何创建我的ConnectionFactoryCustomizer实例并将其注册为回调,以及如何以正确的顺序调用它(我认为是最后调用的)。
我尝试了这个,但是仍然连接到“localhost”:
@Bean
@Order(Integer.MAX_VALUE)
public ConnectionFactoryCustomizer myConnectionFactoryCustomizer() {
return factory -> {
factory.setHost("anotherhost");
};
}
我也尝试了这种方法,我从另一个stackoverflow帖子中得到了启发,并提出了一个有点类似的问题:如何为RabbitMQ连接设置自定义名称?
@Bean
public SmartInitializingSingleton configureConnectionFactory(final CachingConnectionFactory factory) {
factory.setHost("anotherhost");
return () -> {
factory.setHost("anotherhost");
};
}
但是这两种方法都不起作用。正在执行调用factory.setHost
的代码,所以我显然做错了什么。我的日志输出仍然是这样的:
2021-10-17 13:45:24,271|信息||myContainer-3|org.springframework.amqp.rabbit.connection.CachingConnectionFactory|正在尝试连接到:[本地主机:5672]
那么,在连接工厂中以编程方式重写host等值的正确方法是什么呢?(当然,在创建任何连接之前)
Boot 配置 CachingConnectionFactory.addresses
属性(将覆盖主机
)。
试试这个。。。
@Bean
@Order(Integer.MAX_VALUE)
public ConnectionFactoryCustomizer myConnectionFactoryCustomizer() {
return factory -> {
factory.setHost("anotherhost");
};
}
@Bean
ApplicationRunner runner(CachingConnectionFactory ccf) {
ccf.setAddresses(null);
return args -> {
};
}
它可以在任何其他bean定义中完成(不一定是运行器),但不能在myConnectionFactoryCustomizer
bean中完成,因为存在循环引用。
或
@Bean
ApplicationRunner runner(CachingConnectionFactory ccf) {
ccf.setAddresses(null);
ccf.setHost("another");
return args -> {
};
}
我最近从GlassFish 4迁移到Wildfly 8.1 我在GlassFish中配置了JMS连接工厂和目标: 在Wildfly中,我进入配置- 但它没有给我和例外,也没有用以前的电子邮件设置发送电子邮件
4.1 根据条件的自动配置 @conditional是基于条件的自动配置,一般配合Condition接口一起使用,只有接口实现类返回true,才装配,否则不装配. 用实现了Condition接口的类传入@Conditional中 @Conditional可以标记在配置类的方法中,也可以标记在配置类上.标记的位置不同,作用域不同. @Conditional可以传入多个实现了condition接口的类
本文向大家介绍浅谈springboot自动配置原理,包括了浅谈springboot自动配置原理的使用技巧和注意事项,需要的朋友参考一下 从main函数说起 一切的开始要从SpringbootApplication注解说起。 其中最重要的就是EnableAutoConfiguration注解,开启自动配置。 通过Import注解导入AutoConfigurationImportSelector。在这
我有一个很好的小Spring Boot JPA web应用程序。它部署在Amazon Beanstalk上,并使用Amazon RDS持久化数据。然而,它并不经常使用,因此会在一段时间后失效,这是一种例外: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功接收的最后一个数据包是79,870,633毫秒之前。 成功发送到服务
问题内容: 我正在使用POST方法。我需要创建一次,并且应该使用Keep Alive Connection。但是我认为,它每次都会建立一个新的连接。 因此,我需要使用 保持活动 连接。 这是我的代码段,很多帮助将不胜感激。 而且logcat日志是: 问题答案: 10:07:29.746:D / org.apache.http.headers(1529):>>连接:保持活动 您正在要求保持活动状态。