MYSQL & OPENJMS : Communications link failure due to underlying exception
Posted by: anagha joshi
Date: June 13, 2005 05:44AM

Hi All.
I'm using following config:
mysql : 3.23.54
RedHat Linux : 2.4.20-8 (OS 9)
mysql-connector-java-3.1.8
openjms : openjms-0.7.6.1

Part of my "openjms.xml" looks like this :
<DatabaseConfiguration>
<RdbmsDatabaseConfiguration
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3607/openjms"
user="openjms"
password="openjms"
maxActive="10"
maxIdle="5"
evictionInterval="3600"
testQuery="select current_date"/>
</DatabaseConfiguration>

When I started opnejms server I got following excpetion :
org.exolab.jms.server.ServerException: org.exolab.jms.persistence.PersistenceException: java.lang.NullPointerException
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:1845)
at com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:1770)
at java.lang.String.valueOf(String.java:2131)
at java.lang.StringBuffer.append(StringBuffer.java:370)
at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
at com.mysql.jdbc.Connection.registerStatement(Connection.java)
at com.mysql.jdbc.Statement.<init>(Statement.java:171)
at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:139)
at com.mysql.jdbc.Connection.clientPrepareStatement(Connection.java:1053)
at com.mysql.jdbc.Connection.clientPrepareStatement(Connection.java:989)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:1381)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:1335)
at org.apache.commons.dbcp.PoolingConnection.makeObject(PoolingConnection.java:223)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:792)
at org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:130)
at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:216)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:323)
at org.exolab.jms.persistence.RDBMSAdapter.getSchemaVersion(RDBMSAdapter.java:875)
at org.exolab.jms.persistence.RDBMSAdapter.<init>(RDBMSAdapter.java:182)
at org.exolab.jms.persistence.DatabaseService.createRdbmsAdapter(DatabaseService.java:236)
at org.exolab.jms.persistence.DatabaseService.<init>(DatabaseService.java:163)
at org.exolab.jms.persistence.DatabaseService.instance(DatabaseService.java:115)
at org.exolab.jms.server.JmsServer.registerServices(JmsServer.java:274)
at org.exolab.jms.server.JmsServer.init(JmsServer.java:185)
at org.exolab.jms.server.JmsServer.main(JmsServer.java:229)
Mon Jun 13 16:51:47 IST 2005 TRACE: --> Statement.java:1627 com.mysql.jdbc.Statement.finalize()
Mon Jun 13 16:51:47 IST 2005 TRACE: --> PreparedStatement.java:2087 com.mysql.jdbc.PreparedStatement.realClose(false)
Mon Jun 13 16:51:47 IST 2005 TRACE: --> Statement.java:1576 com.mysql.jdbc.Statement.realClose(false)


So, I changed port no. in my config like this :
<DatabaseConfiguration>
<RdbmsDatabaseConfiguration
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3607/openjms"
user="openjms"
password="openjms"
maxActive="10"
maxIdle="5"
evictionInterval="3600"
testQuery="select current_date"/>
</DatabaseConfiguration>

Pls. note the port no as "3607"
My stacktrace is like this now:


org.exolab.jms.server.ServerException: org.exolab.jms.persistence.PersistenceException: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, cause:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:151)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1774)
at com.mysql.jdbc.Connection.<init>(Connection.java:437)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:268)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:82)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:838)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:821)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
at org.exolab.jms.persistence.DBCPConnectionManager.getConnection(DBCPConnectionManager.java:119)
at org.exolab.jms.persistence.RDBMSAdapter.getConnection(RDBMSAdapter.java:709)
at org.exolab.jms.persistence.RDBMSAdapter.<init>(RDBMSAdapter.java:180)
at org.exolab.jms.persistence.DatabaseService.createRdbmsAdapter(DatabaseService.java:236)
at org.exolab.jms.persistence.DatabaseService.<init>(DatabaseService.java:163)
at org.exolab.jms.persistence.DatabaseService.instance(DatabaseService.java:115)
at org.exolab.jms.server.JmsServer.registerServices(JmsServer.java:274)
at org.exolab.jms.server.JmsServer.init(JmsServer.java:185)
at org.exolab.jms.server.JmsServer.main(JmsServer.java:229)


** END NESTED EXCEPTION **


at com.mysql.jdbc.Connection.createNewIO(Connection.java:1839)
at com.mysql.jdbc.Connection.<init>(Connection.java:437)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:268)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:82)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:300)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:838)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:821)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
at org.exolab.jms.persistence.DBCPConnectionManager.getConnection(DBCPConnectionManager.java:119)
at org.exolab.jms.persistence.RDBMSAdapter.getConnection(RDBMSAdapter.java:709)
at org.exolab.jms.persistence.RDBMSAdapter.<init>(RDBMSAdapter.java:180)
at org.exolab.jms.persistence.DatabaseService.createRdbmsAdapter(DatabaseService.java:236)
at org.exolab.jms.persistence.DatabaseService.<init>(DatabaseService.java:163)
at org.exolab.jms.persistence.DatabaseService.instance(DatabaseService.java:115)
at org.exolab.jms.server.JmsServer.registerServices(JmsServer.java:274)
at org.exolab.jms.server.JmsServer.init(JmsServer.java:185)
at org.exolab.jms.server.JmsServer.main(JmsServer.java:229)

WHEN I did "ps -ax|grep mysql" I got :
15433 pts/5 S 0:00 /bin/sh /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf

"etc/my.cnf" looks like this :
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

"mysqladmin -h localhost version variables|more" shows "skip_networking" as "OFF".

I've tried almost all workarounds from the docs and forums.
Any solution to this ?

Thanks in advance,
Anagha

Options: ReplyQuote


Subject
Written By
Posted
MYSQL & OPENJMS : Communications link failure due to underlying exception
June 13, 2005 05:44AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.