サンプルコード (FileToFileのCamelサンプル) | 2012-03-13 17:34 |
documents (OSC2015沖縄セミナー資料) | 2015-07-09 11:48 |
Camelのサンプルで、よく"direct"のキーワードが出てきますが、その簡単な使い方。Servletで受信したメッセージをCamelのdirectコンポーネントを介してCamelに送るサンプルです。
HelloWorldサーブレット
public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out=response.getWriter(); WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext()); CamelContext camelCtx = (CamelContext) ctx.getBean("myCamel"); //myCamelコンテキストを取得 ProducerTemplate template = camelCtx.createProducerTemplate(); template.sendBody("direct:inPort", "This is a string"); //inPortにメッセージ送信 out.println("<html><head>"); out.println("<title>Hello, World!!</title>"); out.println("</head><body>"); out.println("<p>Hello,World!!</p>"); out.println("</body></html>"); } }
applicationContext.xmlファイル
<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring" autoStartup="true"> <route id="directテスト"> <from uri="direct:inPort" /> <to uri="SomeProcess" /> <log logName="LOG_1" loggingLevel="INFO" message="body=${body}" /> </route> </camelContext> <bean id="SomeProcess" class="sample.MyProcess" />