网站内容优化的重要性,推广平台有哪些适用于广告,无锡网站排名优化,绍兴网站建设团队hello#xff0c;大家好#xff0c;有今天没有写文章了#xff0c;因为呢#xff0c;最近#xff0c;公司有点事情#xff0c;需要我呢#xff0c;搭建一个demo#xff0c;框架呢是springbootActive实现消息的延时发送和定时发送功能#xff0c;为了项目以后中使用到大家好有今天没有写文章了因为呢最近公司有点事情需要我呢搭建一个demo框架呢是springbootActive实现消息的延时发送和定时发送功能为了项目以后中使用到所以呢看springbootActiveMq 能不能实现这个场景接下来呢我说一下我搭好框架之后遇到的一个问题吧。如何获取application.yml文件数据或者application.properties文件值我的是application.ymlactivemq: brokerUrl: tcp://127.0.0.1:61616 user: admin password: admin #in-memory: true #是否启用内存模式(也就是不安装MQ项目启动时同时也启动一个MQ实例) # 等待消息发送响应的时间。设置为0等待永远。 send-timeout timeout: 0 # 队列名称 queueName: springbootActiveMqTest topicName: publishTopic # 是否在回滚回滚消息之前停止消息传递。这意味着当启用此命令时消息顺序不会被保留。 non-blocking-redelivery: false pool: enabled: true max-connections: 10第一种方式:1.定义一个实体类然后扫描到ComponentConfigurationProperties(prefix activemq)public class MyProps { //用户名 private String user; //密码 private String password; //链接地址 private String brokerUrl; // 超时时间 private String timeout; // 队列名称 private String queueName; 然后实现set ,get 方法。测试类2RunWith(SpringRunner.class)SpringBootTest(classes AdminApplication.class)public class TestActiveMq {//第一种方式获取 Autowired private MyProps myProps;//第二种方式获取 Value(${user.userName}) private String userName; Test public void test_send() { logger.info(发送开始测试-------------------------------------------------------); logger.info(用户名3------------------------------myProps.getUser()); }} Test public void test_send() { logger.info(发送开始测试-------------------------------------------------------); logger.info(用户名2------------------------------userName); } 结果也没获取到你们相信吗这居然被我遇到了因为这种几种方式获取呢以前写过也没出现过这种问题我靠脑袋有点懵了 于是第三种方式来了YamlPropertiesFactoryBean yamlMapFactoryBean new YamlPropertiesFactoryBean(); //可以加载多个yml文件 yamlMapFactoryBean.setResources(new ClassPathResource(application.yml)); Properties properties yamlMapFactoryBean.getObject(); userCommon.setUser(properties.getProperty(activemq.user)); userCommon.setPassword(properties.getProperty(activemq.password)); retrun userCommon; 我靠居然获取到了你说气人不 // 测试类pom.xml 配置 junit junit 4.12// 扫描文件配置 org.springframework.boot spring-boot-configuration-processor true// test 配置 org.springframework.boot spring-boot-starter-test test还有更奇葩的是;在测试类上面的这个扫描RunWith(SpringRunner.class)SpringBootTest(classes AdminApplication.class)死活没法引用查了很多方法虽然也有同志遇到过这个问题但答案很多idea 始终无法引用换成eclipse 引入这个项目然后随便敲一下就可以引入了我靠然后在idea 这边居然还是报红我靠 我没救了最后写了个main 方法实现这个Active MQ 调用生产者发送消息吧然后消费者也是这样的main 方法消费的好吧至少实现了这个 Active mq 消息延时发放和定时发送的功能了 先这样吧今天有点无语了特别是这个引入的问题大家觉得这个简单的问题会是哪个细节出了问题呢。欢迎大家留言讨论谢谢。