-1

こんにちは、RabbitMQ を使用して Android でチャット アプリケーションを開発しようとしています。コードは、ローカルにインストールされた rabbitMQ サーバーで正常に動作しています。

メッセージをキューに送信するには、Android APP が通信している robbitMQ サーバーのアドレスが必要です。アプリケーション コードでローカルの rabbitMQ を置き換えて、cloudfoundry で RabbitMQ を使用できますか?

ConnectionFactory factory = new ConnectionFactory();
 factory.setHost("<RobbitMQ server>");


 Connection connection = factory.newConnection();
 Channel channel = connection.createChannel();
 channel.exchangeDeclare(EXCHANGE_NAME, "fanout", true);
 channel.queueDeclare(QUEUE_NAME, false, false, false, null);
4

1 に答える 1

1

これにはいくつかの問題があります。

  1. cloudfoundry.com の RabbitMQ サービスのアドレスは動的に割り当てられます... web アプリ内で cloudfoundry.com の環境から参照できますが、リモートのネイティブ Android アプリでは簡単に取得できません。
  2. 現在、cloudfoundry.com のサービスへのリモート AMQP 接続を作成することはできません。Cloud Foundry vcap 環境内でのみ可能です。そのため、アドレスがあったとしても、Android アプリから直接 JMS 経由で AMQP 接続を行うことはできません。

EC2 インスタンスで RabbitMQ を実行するのはどうですか? または、Cloud Foundry インスタンスで実行されている RabbitMQ と通信し、Android が SockJS を介してバックエンドと通信する、Android アプリ用の Web アプリ バックエンドの構築についてはどうでしょうか?

于 2012-06-14T10:54:33.897 に答える