我正在运行openfire服务器作为聊天服务器的基础,但我对openfire的健壮性感到不满意,似乎有很多java错误,
与我交谈的java专家说,它的所有编码错误,java异常都无法正确处理。只想知道从java专家那里得到的错误是java编程问题还是我的服务器或设置问题。
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.logicalcobwebs.proxool.util.FastArrayList.get(FastArrayList.java:475)
at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:184)
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.jivesoftware.database.DefaultConnectionProvider.getConnection(DefaultConnectionProvider.java:86)
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:124)
at org.jivesoftware.openfire.spi.PresenceManagerImpl.userUnavailable(PresenceManagerImpl.java:280)
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:168)
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:135)
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:199)
at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:149)
at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:85)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:84)
at org.jivesoftware.openfire.SessionManager$ClientSessionListener.onConnectionClose(SessionManager.java:1164)
at org.jivesoftware.openfire.net.VirtualConnection.notifyCloseListeners(VirtualConnection.java:214)
at org.jivesoftware.openfire.net.VirtualConnection.close(VirtualConnection.java:190)
at org.jivesoftware.openfire.http.HttpSession$HttpVirtualConnection.systemShutdown(HttpSession.java:1008)
at org.jivesoftware.openfire.spi.LocalRoutingTable.stop(LocalRoutingTable.java:146)
at org.jivesoftware.openfire.spi.RoutingTableImpl.stop(RoutingTableImpl.java:857)
at org.jivesoftware.openfire.XMPPServer.shutdownServer(XMPPServer.java:948)
at org.jivesoftware.openfire.XMPPServer.access$700(XMPPServer.java:146)
at org.jivesoftware.openfire.XMPPServer$ShutdownHookThread.run(XMPPServer.java:898)
2012.11.24 05:50:37 org.jivesoftware.util.log.util.CommonsLogFactory - Problem
java.sql.SQLException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:235)
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:89)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.jivesoftware.database.DefaultConnectionProvider.getConnection(DefaultConnectionProvider.java:86)
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:124)
at org.jivesoftware.openfire.spi.PresenceManagerImpl.userUnavailable(PresenceManagerImpl.java:280)
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:168)
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:135)
at org.jivesoftware.openfire.handler.PresenceUpdateHandler.process(PresenceUpdateHandler.java:199)
at org.jivesoftware.openfire.PresenceRouter.handle(PresenceRouter.java:149)
at org.jivesoftware.openfire.PresenceRouter.route(PresenceRouter.java:85)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:84)
at org.jivesoftware.openfire.SessionManager$ClientSessionListener.onConnectionClose(SessionManager.java:1164)
at org.jivesoftware.openfire.net.VirtualConnection.notifyCloseListeners(VirtualConnection.java:214)
at org.jivesoftware.openfire.net.VirtualConnection.close(VirtualConnection.java:190)
at org.jivesoftware.openfire.http.HttpSession$HttpVirtualConnection.systemShutdown(HttpSession.java:1008)
at org.jivesoftware.openfire.spi.LocalRoutingTable.stop(LocalRoutingTable.java:146)
at org.jivesoftware.openfire.spi.RoutingTableImpl.stop(RoutingTableImpl.java:857)
at org.jivesoftware.openfire.XMPPServer.shutdownServer(XMPPServer.java:948)
at org.jivesoftware.openfire.XMPPServer.access$700(XMPPServer.java:146)
at org.jivesoftware.openfire.XMPPServer$ShutdownHookThread.run(XMPPServer.java:898)
答案 0 :(得分:0)
这是您(或不是)传递给数据库驱动程序的参数的问题 - 或者可能是数据库驱动程序本身的错误。我的猜测是你没有在数据库连接字符串中传入必需的属性。
openfire本身肯定不是问题 - 我们已经使用openfire多年了,它是一款非常出色的软件。