Velocity可配置消息模版封装
背景:项目中时常有一些需要发消息给通知的场景(不是指消息队列..)。 消息的形式 有许多比如邮件,比如钉钉。 消息的内容 由业务决定,而且其中可能还包含动态参数。 消息的接收人 可能是固定的人,也可能是动态不确定的人。 消息的发送时机 一般都是在一段业务逻辑处理完成之后。 现在在做的项目,发送消息使用了Velocity 模板引擎。 在资源目录下有一个模版文件夹,专门放置.vm的消息模版。 每当有新的需要发送消息的场景就新建一个模版然后开发业务代码把动态参数和模版整合。 一般业务逻辑很少变化,可是出于体验或者什么的考量产品会经常调整消息的内容,这个时候就要改模版内容,然后上线。 优化:为了避免由于改动模版内容引发频繁上线,将消息模版做成可配置的。 需要抽离出来的就是三个部分:消息内容,消息接收人,消息发送时机。 1.思路: 2.方案: 3.实现: 3.1.涉及到的包: <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> <exclusions> <exclusion> <groupId>commons-collections</groupId> <artifactId>commons-collections<