2012-11-24 20 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