I am running OpenFire 3.10.2 on a Java JRE 1.8.0_77 system with JTDS 1.2.2 connecting to a local MS-SQL database - and everything runs great.
I then swap out the JTDS for the 1.3.1 version and everything stills runs without a noticeable issue, but now I get database connection errors (see below) reported by OpenFire.
Even with the errors- it appears things are running as it should, message archiving, etc.
I have only seen the errors reported for these 4 operations:
roster.DefaultRosterItemProvider.getItems()
group.DefaultGroupProvider.getGroupNames()
reporting.stats.RrdSqlBackend.exists()
group.AbstractGroupProvider.getPublicSharedGroupNames()
It is like they are unique in the way they access SQL through JTDS.
Here is a full message…
2016.04.22 10:08:47 org.jivesoftware.database.DbConnectionManager - Unable to get a connection from the database pool (attempt 0 out of 10).
java.sql.SQLException: Network error IOException: \localhost\pipe\sql\query (The system cannot find the path specified)
at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:436)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConn ectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:211 )
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(DefaultConnec tionProvider.java:86)
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:125)
at org.jivesoftware.openfire.roster.DefaultRosterItemProvider.getItems(DefaultRost erItemProvider.java:245)
at org.jivesoftware.openfire.roster.Roster.(Roster.java:133)
:
So that one was for roster.DefaultRosterItemProvider.getItems(). I also see it for:
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:125)
at org.jivesoftware.openfire.group.DefaultGroupProvider.getGroupNames(DefaultGroup Provider.java:292)
at org.jivesoftware.openfire.group.AbstractGroupProvider.getSharedGroupNames(Abstr actGroupProvider.java:170)
and
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:125)
at org.jivesoftware.openfire.reporting.stats.RrdSqlBackend.exists(RrdSqlBackend.ja va:211)
at org.jivesoftware.openfire.reporting.stats.RrdSqlBackendFactory.exists(RrdSqlBac kendFactory.java:43)
and
at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager .java:125)
at org.jivesoftware.openfire.group.AbstractGroupProvider.getPublicSharedGroupNames (AbstractGroupProvider.java:232)
at org.jivesoftware.openfire.group.AbstractGroupProvider.getSharedGroupNames(Abstr actGroupProvider.java:175)
Named pipes is allowed in MS SQL Config Mgr
Thanks,
Scott