1、需求:

从ActiveMQ生产端中监听消息并且解析,对其中个别参数进行互信规则加密(SHA加密),传入http接口,解析回参,存入mysql数据库。

2、技术:

springboot基础,整合AvtiveMQ对消息进行处理,用@JmsListener进行监听,参数是http接口路径

回参数json串数据,一开始用的是fastjson技术,都很正常,但是后面对复杂json解析,出现了瓶颈,改用Gson,解析数据。其实都差不多只是api方法名不一样罢了。

按照互信规则传参,进行参数拼接,并且参数加密。

3、难点:

(1)互信原则纠缠了半天。

(2)复杂json处理,存入对象并进行存储

(3)复杂json接收及回参。

4、解决方法:***重点记录部分***

json在线视图查看器

(1)复杂json一开始不明白怎么处理,进行了大量的demo练习,总结各个不同情况

总结就是一句话:回参的json,不管多复杂 有多少个string+list类型的数据,都要在实体类中进行体现,并且创建相对应的实体类。整了好几个实体类,因为回参里面穿插了好几个lsit集合的参数。

 (2)基本上数据都是日志报文的形式进行,截图就不发了,得打码啥的,麻烦。然后打印实体类数据的时候,出现了只有实体类的 类全名@十六进制的hashCode值

所以没有数据,因为啥:没写toString方法,引用类型需要写toString方法才能输出看到。

然后后面就是直接使用mybatis-Plus,进行数据库交互。

BaseMapper<EopJobNumberInfo>继承该类。并且在逻辑中进行
eopJobNumberInfoDao.insert(eopJobNumberInfo)进行存储,其他update、delete、find方法相同,不做记录。

然后配置文件。因为是一个处理数据的接口,所以  配置文件需要外置

http://t.csdn.cn/DaGKE 学习路径,感谢大佬提供方法。其实就是在jar包同级中创建一个config文件,把配置文件放进去,springboot会优先访问config目录下的配置文件。

然后就接口完成了,比较麻烦的就是复杂json因为头一次处理,所以用的时间比较多。

Mua马

2022-4-18日记