我正在寻求有关以下用例的最合适方法的建议。
我使用WSO2数据服务服务器创建了许多服务,我想定期运行传递上次运行日期的参数。即。数据服务有两个参数开始和结束日期来运行sql。
我计划在WSO2 ESB中创建一个服务来调解这些服务的执行,将结果合并到另一个Web服务上。我想我可以管理这个;-)我将使用计划任务以预定义的间隔启动它。
我在寻求建议的地方是如何跟踪上次成功的运行时间,因为我需要将其用作数据服务Web服务的参数。 我看到他们的选择
根据我目前的知识,似乎1是最简单的但是感觉不对,因为我必须具有对数据库的写访问权限,这在我将来构建这样的解决方案时通常不会有。 ,2似乎可以使用我迄今为止对WSO2 ESB的有限知识但是3是最佳选择吗?但正如你从上面的细节中看到的那样,这就是我开始挣扎的地方。
欢迎任何建议
答案 0 :(得分:0)
我对ESB没有多少经验。但是我也觉得你的第一个选择会更容易实现。
最近在主题mailing list
的WSO2架构"[Architecture] Allow ESB to put and update registry properties"中讨论了一个相关主题讨论了介绍注册中介,但我不确定它会很快实施。
我希望这会有所帮助。
答案 1 :(得分:0)
截至目前,没有直接的方法可以通过ESB将内容保存到ESB。但是你总是可以编写一个自定义中介来执行此操作或使用脚本中介来实现此目的
以下是脚本调解器的代码片段
<script language="js"><![CDATA[
importPackage(Packages.org.apache.synapse.config);
/* creates a new resource */
mc.getConfiguration().getRegistry().newResource("conf:/store/myStore",false);
/* update the resource */
mc.getConfiguration().getRegistry().updateResource(
"conf:/store/myStore", mc.getProperty("myProperty").toString());
]]></script>
我在ESB 4.8.1中撰写了一篇关于如何执行此操作的博客文章。你可以找到它here