Spring中使用中间件服务注意事项
Contents
千万不要在Spring中手动来处理各种中间件的资源. 例如
redis connection
这些最好使用 Framework 自身带的连接池, 以及相应的模板类. 例如 RedisTemplate
rabbitmq connection 以及 channel
最好使用 RabbitTemplate
原因
发现公司里同事写的有些代码, 是使用手动来管理资源的, 例如 RabbitMQ 的连接 connection 以及 channel .
一般情况下, 可能可以运行比较长的时间, 但一出现问题, 它就会导致内存泄漏, 排查问题起来也极不容易. 因为往往一出现问题, 导致整个中间件的服务器连接过大, 而ssh不上服务器了.
除非是有极有理由的原因, 否则全部统一用 Spring 框架自带的 XxxxTemplate
模板类来进行各种读写操作是最好的.
这个是血淋淋的教训.