0

リモートサーバーのキュー(「JBossMQ」を実行)にメッセージを送信して、メッセージを処理して処理できるようにする必要があります。

    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");

しかし、上記のコードを実行すると例外が発生します:(リモートサーバーにpingを実行できますが)。

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 

リモートキューに接続するために何か特別なことはありますか?

4

2 に答える 2

1

使用している IP アドレスが正しくありません: 192.168.1.131.129 には 5 つの数字がありますが、4 つしかないはずです。

于 2009-11-25T13:45:09.653 に答える
1

次のプロセス引数を使用して JBoss サーバーを再起動することで問題を解決しました。

-b 0.0.0.0

JBoss サーバーはデフォルトで開始され、ローカル接続のみを許可します。前述の引数で開始することにより、リモート接続を受け入れるように指示します。

于 2009-12-13T20:48:25.623 に答える