在Talend路由中使用特定版本的Bean

问题描述 投票:0回答:1

我正在使用Talend Open Studio for ESB(7.2.1)创建Apache Camel路由。一个项目中包含多个路由,并且该路由还包含多个bean。

某些路由共享一些Bean,随着时间的流逝,路由可能会与Bean的最新版本不兼容-而且这种不兼容只会在运行时甚至在特定情况下才会出现。

所以我的问题是:是否可以指定所引用的bean的确切版本(因为所有必需的版本都存储在Talend项目中)?我认为这可能在cBean组件中,在[[cBeanRegister组件中,在Spring配置中或在路由依赖项的配置中? -但未找到任何文档或信息。

我的确切问题是此异常:

首先只有public static void beans.ArticleGroupHandler.handleGroup(org.apache.camel.Exchange)方法存在于Bean中,因此我在没有方法规范的情况下使用

cBean

组件是可行的。在不同的路由上更新后,添加了方法public static void beans.ArticleGroupHandler.handleNavisionGroups(org.apache.camel.Exchange),并且在执行过程中第一条路由的新构建导致上述异常。

[我知道我可以通过指定要使用的确切方法来解决该异常,但是想知道,将来是否可以通过指定bean版本来规避此类问题。

java apache-camel talend
1个回答
0
投票
要在一个应用程序中支持同一个bean的多个版本,请尝试复制带有版本号(例如V1V2等)的后缀。这将使所有不同版本都可以在路由的类路径中访问,可以将它们称为beans.MyBeanV1beans.MyBeanV2等。>
© www.soinside.com 2019 - 2024. All rights reserved.