次のキャメルルートがあります:
RequestToOrderTransform requestToOrderTransform =
new RequestToOrderTransform();
from("ghttp:///processOrder")
.transform(requestToOrderTransform)
.bean(OrderProcessor.class)
.to("direct:endOfRoute");
HttpServletRequest
Camel-GAE を使用して GAE サーブレットからを受け取り( )、リクエストをPOJO にprocessOrder
変換し、最後にその注文を処理します ( )。Order
OrderProcessor
org.apache.camel.Expression
私は自分の( )を書きたいと思ってrequestToOrderTransform
います。これまでのところ、スケルトン/フレームワークがあります。
public class RequestToOrderTransform implements Expression {
@Override
public <T> T evaluate(Exchange arg0, Class<T> arg1) {
// ???
return null;
}
}
ここで、どうにかしてHttpServletRequest
( GAEサーブレット コンシューマーから取得したものだと思います) を独自のOrder
POJO に変換する必要があります。しかし、そもそも入手方法がわかりませんHttpServletRequest
。リクエストを受け取ったら、必要なパラメーターを抽出して、新しい注文インスタンスをインスタンス化できます。しかし、 Camel が元の ではなくルーティングすることを認識できるように、 をどうすればよいかOrder
わかりませんHttpServletRequest
。
だから私は尋ねます:
HttpServletRequest
my (または GAE サーブレット エンドポイントから取得したオブジェクト)のインスタンスを取得するにはどうすればよいですか?Order
新しくインスタンス化されたインスタンスを設定して、Camel が (OrderProcessor
Bean に)ルーティングするユニットとして使用するようにするにはどうすればよいですか?
前もって感謝します!