一些总结

一,SpringBoot项目启动时初始化操作的几种方式:

1.给方法加上@PostConstruct 注解:@PostConstruct会在所在类的构造函数执行之后执行,在serverlet的init()方法执行之前执行
2.实现 @CommandLineRunner 接口并重写run()方法,多个实现类可以并存并且根据order注解排序顺序执行
3.实现 @ApplicationRunner 接口并重写run()方法,多个实现类可以并存并且根据order注解排序顺序执行

以上三种方式,类均需@Component注解

二丶读取resource目录下的文件方式:

1.ClassPathResource类
ClassPathResource classPathResource = new ClassPathResource("static/assets/test.txt");
InputStream inputStream = classPathResource.getInputStream();
2.ClassLoader.getSystemResources(PLUGIN_PATH)
3.ClassLoader cl = ClassUtils.getDefaultClassLoader();
cl.getResources(PLUGIN_PATH)

三.导出xml文件:

导出xml文件可以使用org.jdom类来操作

四.jdk1.8日期工具:

LocalTime--时间(时分秒) LocalDate--日期(年月日) LocalDateTime--日期时间(年月日时分秒)
1.Duration计算两个时间之间的间隔(LocalTime,Instant)
2.Period计算两个日期之间的间隔(LocalDate)
3.TemporalAdjuster时间校正器,如获取下一个周日的时间
LocalDateTime localDate = LocalDateTime.now();
System.out.print(localDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY)));
4.DateTimeFormatter 时间格式化
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ISO_DATE;
DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
System.out.print(localDate.format(dateTimeFormatter2));

五.RabbitMQ Client的重连机制

RabbitMQ Java Client提供了重连机制,不过在RabbitMQ Java Client 4.0版本之前,自动重连默认是关闭的。从Rabbit Client 4.0版本开始,自动重连默认是打开的。控制自动重连的属性是com.rabbitmq.client.ConnectionFactory类的automaticRecovery和topologyRecovery属性。

设置automaticRecovery属性为true时,会执行以下recovery:

1)Connection的重连。

2)侦听Connection的Listener的恢复。

3)重新建立在Connection基础上的Channel。

4)侦听Channel的Listener的恢复。

5)Channel上的设置,如basicQos,publisher confirm以及事务属性等的恢复。

当设置topologyRecovery属性为true时,会执行以下recovery:

1)exchange的重新定义(不包含预定义的exchange)

2)queue的重新定义(不包含预定义的queue)

3)binding的重新定义(不包含预定义的binding)

4)所有Consumer的恢复

六. mandatory、publisher-confirms、publisher-return属性区别

1.publiser-confirm模式可以确保生产者到交换器exchange消息有没有发送成功
2.publisher-return模式可以在消息没有被路由到指定的queue时将消息返回,而不是丢弃
3.mandatory:交换器无法根据自身类型和路由键找到一个符合条件的队列时的处理方式
true:RabbitMQ会调用Basic.Return命令将消息返回给生产者
false:RabbitMQ会把消息直接丢弃
生产者通过调用channel.addReturnListener()方法来添加ReturnListener监听器,实现获取没有被正确路由到合适队列的消息

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容