A
Alex_Sun
Вот простой скрипт, отправляющий одно сообщение
[codebox] try {
com.sun.messaging.ConnectionFactory myConnFactory = new com.sun.messaging.ConnectionFactory();
myConnFactory.setProperty(ConnectionConfiguration.imqAddressList, "192.9.200.54:7676,broker2:5000,broker3:9999");
Connection myConn = myConnFactory.createConnection();
Session mySess = myConn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
Queue myQueue = new com.sun.messaging.Queue("q");
MessageProducer myMsgProducer = mySess.createProducer(myQueue);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter message: ");
String str = in.readLine();
TextMessage myTextMsg = mySess.createTextMessage();
myTextMsg.setText( str );
System.out.println("Sending Message: " + myTextMsg.getText());
myMsgProducer.send(myTextMsg);
mySess.close();
myConn.close();
} catch (Exception jmse) {
System.out.println("Exception occurred : " + jmse.toString());
jmse.printStackTrace();
}[/codebox]
Всё работает когда брокер на локалхосте, но когда он на другой машине начинаются проблемы, причём только если это "desktop application".
Консольное приложение отрабатывает без проблем, а Desktop Application возвращает ошибку при попытки создания конекции(Connection myConn = myConnFactory.createConnection())
Exception occurred : com.sun.messaging.jmq.jmsclient.ConnectException: [C4003]: Error occurred on connection creation [192.9.200.54:7676,broker2:5000,broker3:9999].
Может на десктопное приложение действуют какие-то политики безопасности?
[codebox] try {
com.sun.messaging.ConnectionFactory myConnFactory = new com.sun.messaging.ConnectionFactory();
myConnFactory.setProperty(ConnectionConfiguration.imqAddressList, "192.9.200.54:7676,broker2:5000,broker3:9999");
Connection myConn = myConnFactory.createConnection();
Session mySess = myConn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
Queue myQueue = new com.sun.messaging.Queue("q");
MessageProducer myMsgProducer = mySess.createProducer(myQueue);
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter message: ");
String str = in.readLine();
TextMessage myTextMsg = mySess.createTextMessage();
myTextMsg.setText( str );
System.out.println("Sending Message: " + myTextMsg.getText());
myMsgProducer.send(myTextMsg);
mySess.close();
myConn.close();
} catch (Exception jmse) {
System.out.println("Exception occurred : " + jmse.toString());
jmse.printStackTrace();
}[/codebox]
Всё работает когда брокер на локалхосте, но когда он на другой машине начинаются проблемы, причём только если это "desktop application".
Консольное приложение отрабатывает без проблем, а Desktop Application возвращает ошибку при попытки создания конекции(Connection myConn = myConnFactory.createConnection())
Exception occurred : com.sun.messaging.jmq.jmsclient.ConnectException: [C4003]: Error occurred on connection creation [192.9.200.54:7676,broker2:5000,broker3:9999].
Может на десктопное приложение действуют какие-то политики безопасности?