Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 替换Camel v2.16.0中不推荐使用的beanRef()_Java_Apache Camel - Fatal编程技术网

Java 替换Camel v2.16.0中不推荐使用的beanRef()

Java 替换Camel v2.16.0中不推荐使用的beanRef(),java,apache-camel,Java,Apache Camel,我们正在从Camel v2.13升级到v2.16,发现beanRef()已被标记为不推荐。Apache Camel推荐的替代品/替代品是什么。我在Camel v2.16.0文档站点上找不到任何有用的东西。 即使是最新的例子也不可用 beanRef()是Camel的Java DSL Bean语言中的语法。我假设您讨论的是ProcessorDefinition类 javadoc注释说使用bean(…)方法代替beanRef(…)方法 参考资料来源:这里是Camel 2.16.3中beanRef的润滑

我们正在从Camel v2.13升级到v2.16,发现beanRef()已被标记为不推荐。Apache Camel推荐的替代品/替代品是什么。我在Camel v2.16.0文档站点上找不到任何有用的东西。 即使是最新的例子也不可用


beanRef()是Camel的Java DSL Bean语言中的语法。

我假设您讨论的是
ProcessorDefinition

javadoc注释说使用
bean(…)
方法代替
beanRef(…)
方法


参考资料来源:

这里是Camel 2.16.3中beanRef的润滑方法列表

org.apache.camel.model.ProcessorDefinition.beanRef(字符串)
使用ProcessorDefinition.bean(对象)

org.apache.camel.model.ProcessorDefinition.beanRef(字符串,布尔值)
使用ProcessorDefinition.bean(对象、字符串、布尔值)

org.apache.camel.model.ProcessorDefinition.beanRef(String,String)
使用ProcessorDefinition.bean(对象、字符串)

org.apache.camel.model.ProcessorDefinition.beanRef(字符串、字符串、布尔值)
使用ProcessorDefinition.bean(对象、字符串、布尔值)

org.apache.camel.model.ProcessorDefinition.beanRef(字符串、字符串、布尔值、布尔值)
不推荐使用多参数阵列选项。

资料来源参考:


令人沮丧的是,官方Camel文档/示例在2017年年中仍然使用beanref。我也有同样的问题——Apache Camel的官方建议是什么?accept的答案并不是很有用,因为我试图引用一个已经实例化的bean(而不是创建一个新的bean)。有人在这方面找到任何官方指导吗?这些方法接受一个对象,而不是引用bean的字符串。这改变了范式。对于在路由中获取容器管理bean的实例以便与这些方法一起使用,是否有任何官方建议?Camel文档在示例中仍然使用beanref。我建议您顺便问一个问题,您读过吗?我认为“JavaDSLbean语法”部分回答了您的问题。谢谢,我刚才在这里回答了。本节确实展示了如何将其用于新对象或路由中已有的对象,但是我试图引用描述符中指定的Spring托管bean,它们没有展示如何做到这一点(或者从容器中检索bean以传入)。不过谢谢。在版本2.22中,bean()接受对象,所以您可以将String和BeanWelcome传递到堆栈溢出!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满您的代码,因为这会降低代码和解释的可读性!
from(...).to("bean:beanId?method=myMethod")
from(...).bean("beanId", "myMethod")