更新camel-sap缓存而不重新启动整个实例

问题描述 投票:2回答:2

我在RedHat's camel-sap component中使用RedHat Fuse通过SAP RFC调用模块。每次调整模块的结构时,必须重新启动Fuse实例以缓存更新的SAP存储库。有没有办法使用SAP存储库更新缓存而无需重新启动实例?

java apache-camel osgi sap jbossfuse
2个回答
2
投票

最简洁的答案是不。

在SAP系统中更改RFC的结构是一项重大的系统更改。该组件旨在与稳定的生产SAP系统集成,并缓存SAP元数据以提高效率。我假设您必须在开发环境中修改RFC。如果是这种情况,那么您需要重新启动任何已连接的Fuse容器,因为您已更改了SAP系统。


1
投票

这个camel-sap组件似乎使用SAP Java Connector(JCo)和Java IDoc类库(JIDocLIb)。

出于性能原因,这些库将RFC和IDoc永久保存在内存中所需的元数据。但是这些库还提供了用于从缓存中删除元数据或清除整个元数据存储库的API。因此,可以在使用camel-sap组件中以某种方式实现所需的功能,或者如果您可以直接访问使用过的SAP Connector API,则可以在Java中自行实现。

不可能的是,在ABAP后端修改后,元数据缓存将被自动清除或无效。但由于我不知道骆驼汁,我在这里无法进一步帮助。

© www.soinside.com 2019 - 2024. All rights reserved.