-4

「mina:tcp://localhost:9990」でホストされているサーバーに非常に単純なメッセージを送信する、「mina:tcp://localhost:9991」でホストされているサンプル アプリケーションを作成しようとしています。

確かに、これを行う方法を理解するのにいくつか問題があります。String order私の最初のアプローチは、との 2 つのフィールドを持つ Message というクラスを作成することでしたString host。しかし、私はこれを行う方法についてひどく混乱しています。

最初に、ReportGenerator に基づいて loadbalancer-example に従い、メッセージを作成して返すことができる MessageGenerator クラスを作成しようとしました。

ただし、問題があります。メッセージを作成するにはパラメーターが必要です。これは、例からレポートを作成するときに発生しません。

//Message constructor
public Message(String order, String host){
    //constructor stuff
}

Camel in Action を読むことで、Bean を使用してパラメーターを持たないメソッドを呼び出す方法はわかりましたが、Bean を使用して複数のパラメーターを持つメソッドを呼び出す方法をまだ理解していません (プロセッサーを使用する必要がありますか?)

それから、おそらく私は物事を少し複雑にしていて、メッセージを送信する簡単な方法があることに気付きました. そのため、別のアプローチを試してみましたが、コードのサンプルが小さくなり、うまくいきませんでした。その件については、別の質問を作成しました。

明らかに私は何か間違ったことをしており、何がわかりません。だから、私は2つの質問があります:

  1. Manning のCamel in Actionでは、Bean を使用する簡単な方法と難しい方法が定義されていますが、パラメーターを使用して Bean を使用する簡単な方法がわかりませんでした。誰かがその例を提供できますか?
  2. Bean を使用せずに Camel の複数のフィールドで構成されるメッセージを送信する方法 (プロセッサを使用しない簡単な方法) はありますか? もしそうなら、どのように?
4

1 に答える 1

3

Camel でメッセージを送信するには、いくつかの方法があります。Camel フォーラムで提供されているヘルプによると、最適なものは次の 2 つです。

  1. POJOS とルートにリンクされた Bean を使用する (例: http://camel.apache.org/loadbalancing-mina-example.html )
  2. Producer テンプレートの使用 (ドキュメント: http://camel.apache.org/producertemplate.html )

いつか誰かに役立つことを願っています。

于 2013-11-10T18:39:59.227 に答える