2012-11-24 48 views
0

我運行的Openfire服務器作爲我的聊天服務器的基礎,但我不喜的Openfire的魯棒性,它似乎有很多java的錯誤,Openfire的錯誤,沒有答案

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

這可以是一個與你(或沒有)傳遞到你的數據庫驅動程序的參數問題 - 或者可能在數據庫驅動程序本身的錯誤。我的猜測是,你沒有在你的數據庫連接字符串中傳遞所需的屬性。

這當然不是用的Openfire本身就是一個問題 - 我們已經使用了很多年的Openfire現在,這是一個特殊的軟件。

+0

我沒有做任何幻想,我使用MySQL數據庫,並使用ofproperty表中這樣定義下面 – mahen3d

+0

jdbcProvider.driver com.mysql.jdbc.Driver org.jivesoftware.openfire.auth.JDBCAuthProvider.co .. 。\t JDBC的:mysql://本地主機/ lxx_chat用戶= LXX & PAS ... \t jdbcAuthProvider.passwordSQL \t SELECT SESSION_ID FROM lxx_main.user WHERE user_i ... – mahen3d

+0

jdbcAuthProvider.passwordType \t平原 jdbcUserProvider.loadUserSQL \t SELECT名,MAIL FROM lxx_main.user其中USER_ID ... jdbcUserProvider.userCountSQL \t SELECT COUNT(*)FROM lxx_main.user jdbcUserProvider.allUsersSQL \t SELECT USER_ID FROM lxx_main.user jdbcUserProvider.searchSQL \t SELECT USER_ID FROM lxx_main.user WHERE jdbcUserProvider.usernameField \t user_id說明 jdbcUserProvider.nameField \t名 jdbcUserProvider.emailField \t電子郵件 jdbcProvider.connectionString \t的jdbc:mysql的: //本地主機/ lxx_chat?USER = LXX&passwor ... – mahen3d