javax.naming.CommunicationException: Connection refused
hi,
I am trying to get the jndi context using the following program with oracle application server which is running in remote system.
import javax.naming.InitialContext;
import java.util.Hashtable;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueConnection;
import javax.jms.QueueSession;
import javax.jms.QueueSender;
import javax.jms.TextMessage;
import javax.jms.Queue;
public class MessageSender
{
public static void main(String[] args)
{
if(args.length != 3) {
System.out.println("Try as java <queue-connection-factory-name> <queue-name> <message>");
}
String queueConnFactory = args[0];
String queueName = args[1];
String message = args[2];
InitialContext jndiContext = null;
QueueConnection qcon = null;
try
{
Hashtable props = new Hashtable();
props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
props.put(InitialContext.PROVIDER_URL, "ormi://inauser30:23791");
jndiContext = new InitialContext(props);
QueueConnectionFactory qcf = (QueueConnectionFactory) jndiContext.lookup(queueConnFactory);
Queue queue = (Queue) jndiContext.lookup(queueName);
qcon = qcf.createQueueConnection();
QueueSession qses = qcon.createQueueSession(false, 0);
QueueSender qsen = qses.createSender(queue);
TextMessage msg = qses.createTextMessage();
msg.setText(message);
qsen.send(msg);
}
catch (Exception ex)
{
ex.printStackTrace();
} finally {
try
{
qcon.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
}
But its throwing the exception as:
javax.naming.CommunicationException: Connection refused: connect [Root exception
is java.net.ConnectException: Connection refused: connect]
at com.evermind.server.rmi.RMIClient.lookup(RMIClient.java:258)
at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java
:50)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.inatech.jms.MessageSender.main(MessageSender.java:34)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.evermind.server.rmi.RMIClientConnection.createSocket(RMIClientCon
nection.java:635)
at oracle.oc4j.rmi.ClientSocketRmiTransport.createNetworkConnection(Clie
ntSocketRmiTransport.java:58)
at oracle.oc4j.rmi.ClientRmiTransport.connectToServer(ClientRmiTransport
.java:78)
at oracle.oc4j.rmi.ClientSocketRmiTransport.connectToServer(ClientSocket
RmiTransport.java:68)
at com.evermind.server.rmi.RMIClientConnection.connect(RMIClientConnecti
on.java:600)
at com.evermind.server.rmi.RMIClientConnection.lookup(RMIClientConnectio
n.java:130)
at com.evermind.server.rmi.RMIClient.lookup(RMIClient.java:249)
please mail me the solution for the same.

