我一直在阅读关于Camel属性的以下页面:

http://camel.apache.org/using-propertyplaceholder.html并且还阅读了“Camel In Action”一书.

我发现“Camel In Action”的第6章在定义Camel属性方面非常有用,我可以从config.properties加载以下三个属性:

config.timeout=10000

config.numSamples=1000

config.defaultViz=a

当我运行我的Java代码时,我能够在applicationContext.xml中的camel路由中看到以下三个值,如下面的线程#0消息所示:

14669 [Camel (HelloWorldContext) thread #0 - timer://hello.world.request.timer] INFO route1 - printing values read from config.properties file

14669 [Camel (HelloWorldContext) thread #0 - timer://hello.world.request.timer] INFO route1 - config.timeout= 10000

14669 [Camel (HelloWorldContext) thread #0 - timer://hello.world.request.timer] INFO route1 - config.numSamples= 1000

14670 [Camel (HelloWorldContext) thread #0 - timer://hello.world.request.timer] INFO route1 - config.defaultViz= a

但是,当我尝试将变量{{config.defaultViz}}传递给我的SensorGenerator Java类中名为defaultViz的String,并打印该字符串时,我在控制台上获得“{{config.defaultViz}}”而不是包含的值在{{config.defaultViz}}内.

换句话说,这就是我在屏幕上看到的内容:

Returning List

defaultViz= {{config.defaultViz}}

但我真的想在屏幕上看到这个:

Returning List

defaultViz=a

那么我在applicationContext.xml中做错了什么?

更新:问题是我需要在Spring和Camel之间添加一个Bridge,如上面引用的链接中所述.

这是我的UPDATED applicationContext.xml和桥:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camel="http://camel.apache.org/schema/spring"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:util="http://www.springframework.org/schema/util"

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd

http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />

uri="timer://hello.world.request.timer?fixedRate=true&period={{config.timeout}}" />

class="org.apache.camel.component.properties.PropertiesComponent">

java camel from uri_java – 如何将Camel属性加载到Bean中?相关推荐

  1. JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象

    转载自:https://www.cnblogs.com/lindsayYang/p/9843599.html JAVA 8 lambda 表达式实现按某个属性值查找对象集合中符合条件的对象 当前的需求 ...

  2. java报错-找不到或无法加载主类(Error: Could not find or load main class)

    此文首发于我的个人博客:java报错-找不到或无法加载主类(Error Could not find or load main class) - zhang0peter的个人博客 比如说test.ja ...

  3. java文件读入原理_描述一下JVM加载class文件的原理机制

    1.JVM 简介 JVM 是我们Javaer 的最基本功底了,刚开始学Java 的时候,一般都是从"Hello World "开始的,然后会写个复杂点class ,然后再找一些开源 ...

  4. java类验证和装载顺序_Java类的加载机制和双亲委派模型

    Java类的加载机制和双亲委派模型 1类的加载机制 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading).验证(Verification).准备(Prepar ...

  5. java代码加载_java类中代码加载顺序

    package org.senssic; /** * 一般顺序:静态块-->静态变量-->成员变量-->构造方法-->静态方法(或非静态方法,需要调用) * 1.静态代码块(只 ...

  6. Java 错误:找不到或无法加载主类(源文件中含有包名 package)

    1. 问题定位 编译(javac)和执行(java)java 程序时,出现这种类型的错误:找不到或无法加载主类: 首先排除是否是环境变量配置不当造成的问题,只要保证,命令行界面能够识别 javac/j ...

  7. java动态编译类文件并加载到内存中

    如果你想在动态编译并加载了class后,能够用hibernate的数据访问接口以面向对象的方式来操作该class类,请参考这篇博文-http://www.cnblogs.com/anai/p/4270 ...

  8. 什么是java的类加载器_JAVA-大白话探索JVM-类加载器(一)

    JVM??? Java语言的一个非常重要的特点就是与平台的无关性.而使用Java虚拟机是实现这一特点的关键.JVM是Java Virtual Machine(Java虚拟机)的缩写,Java程序编译后 ...

  9. java 动态卸载jar包_jar包 热加载/卸载 的初步实现

    这两天做的项目中按照客户要求需要将插件模式应用到本项目中,以达到客户可以自己动态增加相关功能的目的,然后我们就根据需求制定出接口,再由客户自己实现接口,通过项目提供的相应界面将实现的jar包上传,由服 ...

最新文章

  1. Jenkins部署SpringBoot应用到远程服务器
  2. 从Altium Designer导出PCB的3D模型至Solidworks
  3. Android-去除Button默认边框
  4. 《Cassandra实战》CassSeller程序源代码下载
  5. CopyOnWriteArrayList源码
  6. Kylin启动异常:java.lang.outofMemoryError:Requested array size exceeds VM limit
  7. 数百款惠普打印机易受严重RCE漏洞影响
  8. 在哪里学python-python的强项在哪里
  9. IOS为UIImageView图片添加点击事件
  10. PyMining-开源中文文本数据挖掘平台 Ver 0.1发布
  11. 最新win7/win10/XP系统下载_「装机系统」_百度云
  12. Janusgraph索引
  13. 20组事后诸葛亮会议总结
  14. java怎么给文件加密_java中如何给文件加密
  15. win10内存占用率过高怎么办_win10磁盘占用和内存CPU占用率太高怎么办
  16. C++输出流cout的执行顺序问题
  17. 定义类Shape作为父类,并在类中定义方法求周长和面积; (2)定义Shape子类圆形(circle),具有半径属性和常量PI,同时重写父类中的方法; (3)定义Shape子类长方形(rect
  18. 成功解决 ValueError: Not a TBLoader or TBPlugin subclass: <class ‘tensorboard_plugin_wit.wit_plugin_load
  19. 四、《云原生 | Kubernetes篇》二进制安装部署k8s高可用集群V1.24
  20. 在服务器上安装tensorflow-gpu版本及其使用

热门文章

  1. Nginx的基本介绍反向代理
  2. 【安全漏洞】Struts2漏洞集合总结
  3. Windows x64内核学习笔记(三)—— SMEP SMAP
  4. C++编程风格(一)
  5. 5、ResultSet结果集
  6. 3、绘制E-R图:数据库概要设计阶段
  7. 1.1 对象的概念及面向对象的三个基本特征
  8. 1.18 Java直接插入排序法
  9. DFS实现逆拓扑排序
  10. java消息推送怎么实现_调用钉钉接口实现机器人推送消息