Openfire 连接因内部错误而关闭

Openfire connection closed with internal error

所以我有这个代码可以连接到 openfire

XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();  

      config.setUsernameAndPassword(loginUser, passwordUser);
      config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
      config.setServiceName(serverAddress);
      config.setHost(serverAddress);
      config.setPort(5222);
      config.setDebuggerEnabled(true);
      connection = new XMPPTCPConnection(config.build());
  ReconnectionManager.getInstanceFor(connection).enableAutomaticReconnection();

      System.out.println("Reconnection enabled : " + ReconnectionManager.getInstanceFor(connection).isAutomaticReconnectEnabled());

      ConnectionListener connectionListener = new XMPPConnectionListener();
      connection.addConnectionListener(connectionListener);

但是当我尝试连接时出现此错误:

org.jivesoftware.smack.XMPPException$StreamErrorException: internal-server-error You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1007) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access0(XMPPTCPConnection.java:948) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.run(XMPPTCPConnection.java:963) at java.lang.Thread.run(Thread.java:744)

编辑: Openfire 的日志:

警告日志:

2016.06.13 11:06:31 org.apache.mina.core.filterchain.DefaultIoFilterChain - Unexpected exception from exceptionCaught handler. 
java.lang.NoSuchMethodError:     java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; 
at org.jivesoftware.openfire.roster.Roster.broadcastPresence(Roster.java:628) 
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.broadcastUpdate(PresenceUpdateHandler.java:309) 
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:163) 
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:138) 
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:202) 
at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:144) 
at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:80) 
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:88) 
at org.jivesoftware.openfire.SessionManager$ClientSessionListener.onConnectionClose(SessionManager.java:1267) 
at org.jivesoftware.openfire.nio.NIOConnection.notifyCloseListeners(NIOConnection.java:266) 
at org.jivesoftware.openfire.nio.NIOConnection.close(NIOConnection.java:248) 
at org.jivesoftware.openfire.nio.ConnectionHandler.exceptionCaught(ConnectionHandler.java:162) 

我尝试连接到本地 openfire 服务器 (windows),我成功了,但是当我尝试连接到 ubuntu openfre 服务器时失败了。 任何帮助将不胜感激。

较新版本的 Openfire 需要 Java8(或更高版本)。

准确地说:openfire 需要 oracle jre 8 而不是 Openjdk