今日も今日とて研究室。台数増やしたらうまく動かなかったのでいろいろ調べていたりしたら、こんなページに行き当たりました。
Some JXTA users assume that advertisements must be remote published to another peer in order for the advertisement to be discovered. This is not true!
うおー、I have misunderstood exactly as you wrote. って感じです。
ようやく光が見えてきましたとかいいながら、その後全力でJXTAの罠にかかる。 remotePublish() は propagate なんかしませんよ、って話。えー、じゃあ publish() と remotePublish() の違いって何だ?と思ったら、remotePublish() and publish() are separate APIs for implementation efficiency reasons only って言い切ってる。うえー。 remotePublish() は、(コード読むかぎり) 一応 RendezVous Service で propagate してるけど、これも 2 hop 以上先には行かない感じ。なんてこったー。
うまくはいかないもんです。
「JXTAのすべて」 ( JXTA に関するほぼ唯一の参考書、でも古すぎて肝心のサンプルソースが参考にならない) の最後のサンプルとして JXTA Messenger とか載ってるけど、この PresenceService のコードは (ver. 2 系列用に rewrite したところで) 期待する動作はしないわけだ。世の中の remotePublish() の勘違いの発端はこのサンプルじゃないのかと問い詰めたい・・・。
そしてここまで書いてから、読んでも誰も分からないことを書いちゃってることに気がつきました。うーん。research (主にひとりごとをつぶやく) タグを付けておくことにします。