当前位置 : 主页 > 编程语言 > c++ >

使用Apache Camel进行路由制定和功能操作

来源:互联网 收集:自由互联 发布时间:2021-06-30
启动文件路由 package com.file.ProcessWithCamel;import org.apache.camel.CamelContext;import org.apache.camel.Processor;import org.apache.camel.builder.RouteBuilder;import org.apache.camel.impl.DefaultCamelContext;public class ProcessFi
启动文件路由
package com.file.ProcessWithCamel;

import org.apache.camel.CamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;

public class ProcessFileWithCamel {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		CamelContext context = new DefaultCamelContext();
		final String sfrom = "file:/run/media/root/81e2b3a4-2d4f-48e8-8737-dbf1c7a5c94c1/JavaCode/test_in";
		final String sto = "file:/run/media/root/81e2b3a4-2d4f-48e8-8737-dbf1c7a5c94c1/JavaCode/test_out";
		final FIleConvertProcessor pro = new FIleConvertProcessor();
		try {
			context.addRoutes(new RouteBuilder() {

				@Override
				public void configure() throws Exception {
					// TODO Auto-generated method stub
					from(sfrom).process(pro).to(sto);
				}
				
			});
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			context.start();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		boolean loop = true;
		while(loop){
			try {
				Thread.sleep(25000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		try {
			context.stop();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
制定操作流程
package com.file.ProcessWithCamel;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.camel.Exchange;
import org.apache.camel.Processor;

public class FIleConvertProcessor implements Processor {
	public void process(Exchange exchange){
		try{
			InputStream body = exchange.getIn().getBody(InputStream.class);
			System.out.println(body);
			BufferedReader in = new BufferedReader(new InputStreamReader(body));
			StringBuffer strbf = new StringBuffer("");
			String str = null;
			str = in.readLine();
			while(str != null){
				System.out.println(str);
				strbf.append(str + "");
				str = in.readLine();
			}
			exchange.getOut().setHeader(Exchange.FILE_NAME, "convert.txt");
			exchange.getOut().setBody(strbf.toString());
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}
上一篇:Jackson的读取和生成
下一篇:jquery ui
网友评论