当前位置: 首页 > news >正文

手机哪个网站好做网站 思源字体

手机哪个网站好,做网站 思源字体,wordpress 下载页插件下载,中车建设工程有限公司网站apache camel文件轮询器是解决常见IT问题的非常有用的机制。 Camel的内置file组件非常灵活#xff0c;并且有许多选项可用于配置。 让我们在这里介绍一些常用用法。 轮询目录以输入文件 这是一条典型的骆驼Route用于每秒轮询一次目录以查找输入文件。 import org.slf4j.*; i… apache camel 文件轮询器是解决常见IT问题的非常有用的机制。 Camel的内置file组件非常灵活并且有许多选项可用于配置。 让我们在这里介绍一些常用用法。 轮询目录以输入文件 这是一条典型的骆驼Route用于每秒轮询一次目录以查找输入文件。 import org.slf4j.*; import org.apache.camel.*; import org.apache.camel.builder.*; import java.io.*;public class FileRouteBuilder extends RouteBuilder {static Logger LOG LoggerFactory.getLogger(FileRouteBuilder.class);public void configure() {from(file://target/input?delay1000).process(new Processor() {public void process(Exchange msg) {File file msg.getIn().getBody(File.class);LOG.info(Processing file: file);}});} } 使用以下命令运行 mvn compile exec:java -Dexec.mainClassorg.apache.camel.main.Main -Dexec.args-r camelcoredemo.FileRouteBuilder 该程序将开始轮询当前目录下的target/input文件夹并等待传入​​文件。 要测试输入文件您需要打开另一个终端然后按照以下步骤创建一些文件。 echo Hello 1 target/input/test1.txt echo Hello 2 target/input/test2.txt 现在您应该看到第一个提示窗口开始拾取文件并传递到下一个Processor步骤。 在Processor 我们从消息正文中获取File对象。 然后它仅记录它的文件名。 完成后您可以按CTRLC 您可以在URL中使用file组件中的许多可配置选项但是大多数默认设置足以使您如上所示。 其中一些默认行为是如果输入文件夹不存在它将创建它。 当文件由Route完成处理后它将被移入.camel文件夹。 如果在处理后根本不需要文件则在URL中设置deletetrue 。 读入文件内容并转换为不同类型 默认情况下 file组件将为找到的每个文件创建一个org.apache.camel.component.file.GenericFile对象并将其作为消息正文传递给Route 。 您可以通过此对象检索所有文件信息。 或者您也可以使用Exchange API将邮件正文对象自动转换为希望接收的类型例如与msg.getIn().getBody(File.class) 。 在上面的示例中 File是您希望从消息正文中获取的类型因此Camel将尝试为您转换文件。 骆驼使用上下文的注册表空间来预注册许多TypeConverter 它们可以处理大多数常见数据类型例如Java primitive等的转换。 这些TypeConverter s为强大的方式来让你的Route和Processor更flexbile和便携。 Camel不仅可以从邮件正文转换您的File对象还可以读取文件内容。 如果文件是基于字符文本的则只需执行此操作。 from(file://target/input?charsetUTF-8).process(new Processor() {public void process(Exchange msg) {String text msg.getIn().getBody(String.class);LOG.info(Processing text: text);}}); 而已 只需指定String类型Camel就会读入您的文件并将整个文件文本内容作为正文消息传递。 您甚至可以使用charset更改编码。 如果要处理二进制文件则只需尝试byte[] bytes msg.getIn().getBody(byte[].class); 转换。 太酷了吧 轮询和处理大文件 处理大文件时 file组件中很少有选项可用于确保正确处理。 例如您可能想在Route开始处理之前将输入文件移动到staging文件夹中 完成后将其移至.completed文件夹。 from(file://target/input?preMovestagingmove.completed).process(new Processor() {public void process(Exchange msg) {File file msg.getIn().getBody(File.class);LOG.info(Processing file: file);}}); 要将输入文件正确地馈入轮询文件夹最好是发件人首先在一个临时文件夹中生成输入文件然后只有在准备好之后才将其移入轮询文件夹。 如果输入文件可能需要花费一些时间来生成这将最大程度地减少通过Route读取不完整的文件。 对此的另一种解决方案是将配置file端点配置为仅在存在信号或就绪标记文件时读取轮询文件夹。 例如 from(file://target/input?preMovestagingmove.completeddoneFileNameReadyFile.txt).process(new Processor() {public void process(Exchange msg) {File file msg.getIn().getBody(File.class);LOG.info(Processing file: file);}}); 当存在ReadyFile.txt文件时以上内容只会读取target/input文件夹。 标记文件可以只是一个空文件并且在轮询后将被Camel删除。 该解决方案将使发送者可以花费很长时间生成输入文件。 大文件处理的另一个问题是避免将整个文件内容加载到内存中进行处理。 为了更实际您希望将文件拆分为记录例如每行并一一处理或称为“流”。 这是您使用骆驼做的方法。 from(file://target/input?preMovestagingmove.completed).split(body().tokenize(\n)).streaming().process(new Processor() {public void process(Exchange msg) {String line msg.getIn().getBody(String.class);LOG.info(Processing line: line);}}); 此Route将允许您处理大型文件而不会占用太多内存并且可以非常高效地逐行处理文件。 将消息写回文件 file组件也可以用于将消息写入文件。 回想一下我们可能使用dataset组件来生成样本消息。 我们将使用它来填充Route并发送到file组件以便您看到生成的每个消息都将保存到文件中。 package camelcoredemo;import org.slf4j.*; import org.apache.camel.*; import org.apache.camel.builder.*; import org.apache.camel.main.Main; import org.apache.camel.component.dataset.*;public class FileDemoCamel extends Main {static Logger LOG LoggerFactory.getLogger(FileDemoCamel.class);public static void main(String[] args) throws Exception {FileDemoCamel main new FileDemoCamel();main.enableHangupSupport();main.addRouteBuilder(createRouteBuilder());main.bind(sampleGenerator, createDataSet());main.run(args);}static RouteBuilder createRouteBuilder() {return new RouteBuilder() {public void configure() {from(dataset://sampleGenerator).to(file://target/output);}};}static DataSet createDataSet() {return new SimpleDataSet();} } 编译并运行 mvn compile exec:java -Dexec.mainClasscamelcoredemo.FileDemoCamel 完成后您会看到在target/output文件夹中将生成10个文件文件名的格式为ID-hostname-unique-number-msg-seq-num 。 您可以浏览“ 文件”组件中的更多选项。 尝试一下路线 亲自体验一下。 参考在A Programmers Journal博客上从我们的JCG合作伙伴 Zemian Deng 探索Apache Camel Core –文件组件 。 翻译自: https://www.javacodegeeks.com/2013/09/exploring-apache-camel-core-file-component.htmlapache camel
http://www.huolong8.cn/news/29463/

相关文章:

  • 湖北建设厅网站怎么打不开php做网站需要html
  • 建设电视台微信网站必要性官方网站重要性
  • 珠海品牌机械网站建设php网站怎么搭建环境配置
  • 工商银行门户网站是什么意思wordpress分类页打不开
  • 紫金网站制作东莞常平房价2023最新楼盘消息
  • 网站文章编辑器代码甘肃交通工程建设监理公司网站
  • 一个人建设小型网站口碑营销话题
  • 为什么网站建设要将access数据库文件变成asa网站百度地图
  • 顺德网站设计石材做网站
  • 编辑网站教程网络推广技术培训
  • 延庆区加工网站建设推广低代码开发平台公司
  • 建设银行陕西分行网站城市建设理论研究网站
  • 网站的推广方式包括成都互联网公司数量排名
  • html5模板网站福州医社保增减员在什么网站做
  • 企业如何做网站建站商品推广软文800字
  • 做网站的公司济南赛博科技市场泵网站建设
  • 网站建设对比分析网站建设测评报告
  • 淘宝网发布网站建设深圳专业网站开发
  • 网站seo在线诊断wordpress 自动上传插件
  • 广东省东莞市建设培训中心网站深圳网站建设开发需要多少钱
  • 网站建设项目结构分析多推网怎么推广
  • 怎样查别人网站的外链友情链接网站
  • 学校联系我们网站制作做网站找哪家好思南
  • 租网站服务器价格小程序需要租服务器吗
  • 响应式网站建设原则中装建设股票
  • 做3d打印网站wordpress文章设置到导航栏
  • 建设模板网站网站审核备案
  • 做外汇看什么网站网站建设培训 上海
  • 顺德 网站设计如何自定义wordpress登录
  • 如何看网站是用什么程序做的无锡本地做网站