2009-11-25 2 views
0

Мне нужно отправить сообщение в очередь удаленного сервера (работает «JBoss MQ»), чтобы он мог обработать сообщение и действовать на нем.JMS-сообщение удаленному серверу

Properties properties = new Properties(); 
    properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 
    properties.put(Context.URL_PKG_PREFIXES, "org.jnp.interfaces"); 
    properties.put(Context.PROVIDER_URL, "jnp://192.168.1.131.129:1299"); 
    InitialContext jndiContext = new InitialContext(properties); 

    //[2] Look up connection factory and queue. 
    ConnectionFactory connectionFactory = (ConnectionFactory)jndiContext.lookup("UIL2XAConnectionFactory"); 
    Queue queue = (Queue)jndiContext.lookup("Queue/DataTransferQueue"); 

, но я получаю исключение при выполнении приведенного выше кода: (даже если я могу пинговать удаленный сервер).

javax.naming.CommunicationException: Could not obtain connection to any of these urls: 192.168.1.131.129:1299 and 
discovery failed with error: javax.naming.CommunicationException: 
Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] 
[Root exception is javax.naming.CommunicationException: Failed to connect to server 192.168.1.131.129:1299 

Есть ли что-нибудь особенное, чтобы подключиться к удаленной очереди?

+0

Почему это запрещено? – Adam

ответ

1

IP-адрес вы используете неправилен: 192.168.1.131.129 имеет 5 номеров, он должен иметь только 4.

+0

благодарит человека, исправляя опечатку и повторю попытку. – Attilah

1

Я решил проблему путем перезагрузки моего сервера JBoss со следующими параметрами процесса:

-b 0.0.0.0

Сервер JBoss по умолчанию запускается только для локальных подключений. запустив его с указанными выше аргументами, вы просите его принять удаленные подключения.

Смежные вопросы