0

Apache Camel にバンドルされている JMS サンプルを試しています

ApplicationContext context = new ClassPathXmlApplicationContext("camel-config.xml");

producer)
ProducerTemplate camelTemplate = context.getBean("camelTemplate", ProducerTemplate.class);

System.out.println("Invoking the multiply with 22");
int responseData = (Integer)camelTemplate.sendBody("jms:queue:numbers", ExchangePattern.InOut, 22);
System.out.println("... the result is: " + responseData);

これがコードです。これは、スタンドアロン アプリケーションとして実行すると完全に機能します。

同じことをサーブレットに入れて実行してみました。このエラーが発生しまし た The OUT message was not received within within

4

1 に答える 1

0

これは本当に私が作った大失敗でした。

質問を削除する考え。しかし、多くの人が同じ過ちを犯す可能性があります

camelTemplate.sendBody("jms:queue:numbers", ExchangePattern.InOut, 22);

問題は上記の行にありました。整数であるパラメーターとして 22 を渡していますが、JSM の実際のメソッドは引数として InputStream を受け取っていました。

変更したところ、問題は解決しました。

于 2013-01-02T06:17:22.620 に答える