首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WSO2企业服务总线配置中添加任务

在WSO2企业服务总线配置中添加任务
EN

Stack Overflow用户
提问于 2016-02-09 19:11:59
回答 1查看 442关注 0票数 0

我必须在WSO2企业服务总线配置文件中添加一个任务(XML格式),而不需要通过企业服务总线用户界面。我在外部的基于Java的应用程序中编写这个xml,然后将获得的XML (以<task>标记开头和结尾)插入到我的企业服务总线中。如何以动态的方式插入我的任务(添加、修改或删除任务),以便以安全的方式达到这个目标?是否有一些WSO2应用程序接口可以帮助我?

EN

回答 1

Stack Overflow用户

发布于 2016-02-10 00:18:45

您可以使用管理服务:打开CARBON_HOME/repository/conf/cion.xml并将HideAdminServiceWSDLs属性设置为false

启动ESB,您现在可以访问管理服务wsdl。

您将找到一个名为"TaskAdmin“的服务:https://localhost:8243/services/TaskAdmin?wsdl

它包含一个名为addTaskDescription的操作,但我从未使用过它,希望它能对您有所帮助。

如果需要管理服务的列表,可以使用-DosgiConsole选项启动Carbon服务器,进入osgi控制台。如果您在控制台中键入help,您将获得所有可用的命令。

listAdminServices命令将列出所有可用的服务。

此示例可能会对您有所帮助:此javascript为您提供了一种从中介内部启动/停止计划任务的方法:

代码语言:javascript
运行
复制
 <script language="js">importPackage(Packages.org.apache.synapse);
    importPackage(Packages.org.apache.synapse.config);
    importPackage(Packages.org.apache.synapse.task);
    var sc = mc.getConfiguration();
    var task = sc.getStartup("TestTask");
    var td = task.getTaskDescription() 
    td.setCount(0);
    //td.setCron(null);
    task.setTaskDescription(td);            
    sc.updateStartup(task);
    mc.setConfiguration(sc);
    task.destroy();
    task.init(mc.getEnvironment());</script>

如果您的任务具有Cron表达式,使用td.setCount(0),任务执行停止,使用td.setCount(-1),任务执行重新开始。

使用td.setCount(1) + td.setCron(null),当您在ESB Console中编辑任务时,您可以观察到定义已经更新:触发器类型从'Cron‘更改为'Simple’(使用count=1和interval=0)。定义在内存中更改,并在重新启动ESB时丢失

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35290528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档