0

プラットフォーム間のエージェント移行のために Jade で IPMS を使用しています。IPMS 1.2 で Jade 3.6 を使用しています。スレーブ 1 (元のプラットフォーム) とスレーブ 2 (ターゲット プラットフォーム) の両方でサービスを有効にしました。この-accept-foreign-agents trueオプションは、両方のプラットフォームでも設定されます。タイムアウト設定も増やしました。移行のコードは次のとおりです。

AID remoteAMS = new AID("ams@slave2:1099/JADE", AID.ISGUID);
remoteAMS.addAddresses("http://slave2:7778/acc");
PlatformID destination = new PlatformID(remoteAMS);
agent.doMove(destination);

スレーブ 1 でのみタイムアウトが発生していましたが、詳細なログを有効にした後、スレーブ 2 で次のエラーが発生しました。

WARNING: FAILURE-ams-9 - Receiver does not exist.
jade.core.NotFoundException: getContainerID() failed to find agent ams@slave1
    at jade.core.MainContainerImpl.getContainerID(MainContainerImpl.java:1318)
    at jade.core.messaging.MessagingService.deliverInLocalPlatfrom(MessagingService.java:1255)
    at jade.core.messaging.MessagingService.deliverNow(MessagingService.java:1187)
    at jade.core.messaging.MessageManager$Deliverer.run(MessageManager.java:152)
    at java.lang.Thread.run(Thread.java:662)

これをデバッグする方法に関するヒントはありますか?

4

3 に答える 3

1

この問題は、プラットフォームに適切なホスト名が設定されていないために発生します。JADE は、127.0.0.1 をホストでは「slave1」に、ターゲット プラットフォームでは「slave2」に解決できる必要があります。この問題を解決するために、/etc/hosts ファイルを編集し、両方のシステムで localhost をコメントアウトしました。

# 127.0.0.1     localhost 
127.0.0.1       slave1 
192.168.56.101  slave2

スレーブ 2 についても同様です。詳細なチュートリアルで、これと他のいくつかのエラーについて説明しました: Agent Mobility with JADE and JIPMS

于 2011-12-29T04:02:09.280 に答える
0

この問題は、JAVA RMI でも使用される標準ポート 1099 で JADE プラットフォームを実行することによっても発生する可能性があります。ポートがすでに使用されている場合、同じエラーが表示されます。もちろん、ホスト ファイル、両方のコンピューターの空きポート番号、および JADE プラットフォームを起動するコマンドのパラメーターが正しく入力されているかどうかも確認する必要があります。もちろん、JADE プラットフォームに使用する目的のポートが許可されているかどうか、常にファイアウォールを確認してください。

しかし、それはプラグインをインストールして動作させたときの私の経験です。

于 2013-01-23T01:26:25.967 に答える
0

IPMS 2.0 で Jade 4.3.0 を使用すると、エージェントを簡単に移行できます。エージェントを移動する宛先の remoteAMS AID アドレスに amm を入力する必要があります。このような:

AID remoteAMS = new AID("amm@slave2:1099/JADE", AID.ISGUID);
remoteAMS.addAddresses("http://slave2:7778/acc");

PlatformID destination = new PlatformID(remoteAMS);
agent.doMove(destination);
于 2013-06-28T11:02:14.233 に答える