现象:
用eclipse调试Openfire源代码,遇到传入的参数无效Illegal JID:cn_dotte,导致Openfire无法正常启动。
原因:
经调查,是因为计算机名“cn_dotte”中有特殊字符“_”,故提示无效的参数。于是将计算机名改为"CNDOTTE",去掉了“_”,重启系统后启动服务还是同样的错误。
然后继续找原因,发现是数据库中有一个表ofProperty,其中有一条记录xmpp.domain的值为cn_dotte。已经被写入数据库了。所有将这条记录的值改为“cndotte”。然后重启后,一切OK了。
就是计算机名惹的祸,不能包括特殊字符。