Hi.
We have one problem in samsung in korea.
But we can't solved.
Please help us.
I would like to know
The following error appears in any situation.
(Marked in red section)
=====================================================================
13:08:17 ERROR: Cannot recreate ConnectionFactory.
com.datec.mq.sonic.exception.SonicMQAdapterException: com.datec.mq.sonic.exception.SonicMQAdapterException: Error during connection setup.
at com.datec.mq.sonic.session.SenderConnectionObject.reinitializeConnection(SenderConnectionObject.java:183)
at com.datec.mq.sonic.session.SenderPoolManager$SenderConnectionChecker.run(SenderPoolManager.java:139)
Caused by: com.datec.mq.sonic.exception.SonicMQAdapterException: Error during connection setup.
at com.datec.mq.sonic.session.SenderSessionObject.initializeSession(SenderSessionObject.java:69)
at com.datec.mq.sonic.session.SenderConnectionObject.reinitializeConnection(SenderConnectionObject.java:177)
... 1 more
Caused by: javax.jms.JMSException: An open connection has not been established
at progress.message.jimpl.JMSExceptionUtil.createJMSException(Unknown Source)
at progress.message.jimpl.MessageProducer.n_(Unknown Source)
at progress.message.jimpl.MessageProducer.<init>(Unknown Source)
at progress.message.jimpl.QueueSender.<init>(Unknown Source)
at progress.message.jimpl.Session.createProducer(Unknown Source)
at com.datec.mq.sonic.session.SenderSessionObject.initializeSession(SenderSessionObject.java:50)
=====================================================================
When the error occured, the status of network was normal.
When the error occured, the status of MQ Server was normal!!!
When the error occured, all of the other Send Thread was normal!!!
The following sources(SenderSessionObject.java) are part of the error occurs.
=====================================================================
public synchronized SenderSessionObject initializeSession() throws SonicMQAdapterException {
try {
if ( _connect != null ) {
_sendSession = _connect.createSession( false, Integer.parseInt( props.getProperty( "datec.mq.sonic.service." + _serviceName + ".ACKNOWLEDGE_MODE" ) ) );
// Send 세션에 setFlowControlDisabled( true ) 설정
( ( progress.message.jclient.Session ) _sendSession ).setFlowControlDisabled( true );
if ( _destinationName != null ) {
try {
if ( _serviceType.equals( "TOPIC" ) ) {
Topic sendTopic = _sendSession.createTopic( _destinationName );
_sender = _sendSession.createProducer( sendTopic );
} else {
Queue sendQueue = _sendSession.createQueue( _destinationName );
_sender = _sendSession.createProducer( sendQueue );
}
} catch ( InvalidDestinationException e ) {
throw new SonicMQAdapterException( _serviceType + "_NAME, '" + _destinationName + "' is not correct." );
}
log.debug( "Create Session : " + _connect.getBrokerURL() + ", SendSession : " + _sendSession + ", QueueName : " + _destinationName );
}
}
} catch ( JMSException jmse ) {
boolean connectionDropped = false;
// If connection was dropped, try to reconnect.
// Otherwise, print the stack trace of the exception and exit.
int dropCode = ErrorCodes.ERR_CONNECTION_DROPPED;
if ( ErrorCodes.testException( jmse, dropCode ) ) {
connectionDropped = true;
_connect = null;
} else if ( connectionDropped ) { // Check whether the onException listener has already detected dropped connection.
_connect = null;
} else {
throw new SonicMQAdapterException( "Error during connection setup.", jmse );
}
}
return this;
}
=====================================================================
I would appreciate your kind consideration,
and hope to receive your favorable reply at your earliest convenience.
Thanks.
However, there was a problem in a particular Send Thread.