平台迁移救火一

平台迁移救火一

对于不听取别人意见的人来说,他们工作很轻松,随意而为;但老司机得随时给他们搽屁股救火;

这给了我们一个警示:招聘新人必须考量这个人的性格特质

废话不多说,我们看问题

问题: 站内聊天不能打开,提示登录失败

bm站内聊天, 使用的是openfire

查看日志报错:
1. 空指针异常
2019.07.30 08:44:04 org.jivesoftware.openfire.container.PluginServlet - 
java.lang.NullPointerException

由于使用了openjdk11(迁移人员挖的坑没有使用旧环境版本),旧环境使用的是openjdk8,更换旧jdk后异常消失
该错误并不容易排查,因为NullPointerException可触发的情况比较多,openfire又无法直接检视源码,根据Java开发经验,因为旧环境无问题,新环境有问题,大概率是jdk版本问题

2.  插件异常
2019.07.30 09:32:18 org.jivesoftware.openfire.container.PluginManager - An exception occurred while loading plugin 'broadcast':
java.lang.ClassNotFoundException: org.jivesoftware.openfire.plugin.BroadcastPlugin

下载更换最新版broadcast.jar插件,重启后,异常消失

3. restAPI异常
2019.07.30 08:50:51 org.jivesoftware.openfire.container.PluginServlet - org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "groups" (Class org.jivesoftware.openfire.plugin.rest.entity.UserEntity), not marked as ignorable

Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "groups" (Class org.jivesoftware.openfire.plugin.rest.entity.UserEntity), not marked as ignorable

更换restAPI版本为旧的版本,重启服务后异常消失 

完结

关键点需要会查看错误日志,判断哪些jar包不匹配,这一点上新人确实经验欠缺,尤其与开发业务相关的点