1、需求:
从ActiveMQ生产端中监听消息并且解析,对其中个别参数进行互信规则加密(SHA加密),传入http接口,解析回参,存入mysql数据库。
2、技术:
springboot基础,整合AvtiveMQ对消息进行处理,用@JmsListener进行监听,参数是http接口路径
回参数json串数据,一开始用的是fastjson技术,都很正常,但是后面对复杂json解析,出现了瓶颈,改用Gson,解析数据。其实都差不多只是api方法名不一样罢了。
按照互信规则传参,进行参数拼接,并且参数加密。
3、难点:
(1)互信原则纠缠了半天。
(2)复杂json处理,存入对象并进行存储
(3)复杂json接收及回参。
4、解决方法:***重点记录部分***
(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日记