我需要在wso2启动时运行一次任务。我们如何确保这一点。 以下内容在计划任务中不起作用
<trigger once="true"/>
答案 0 :(得分:1)
尝试
<trigger count="1" interval="1"/>
答案 1 :(得分:1)
我正在使用ESB 4.8.1。对我来说,两种配置都很好。以下是我在每种情况下测试的样本计划任务。
1.Configuration 1 - <trigger once="true"/>
<?xml version="1.0" encoding="UTF-8"?>
<task xmlns="http://ws.apache.org/ns/synapse" name="MyTask" class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz">
<trigger once="true"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">
<name xmlns="">The message will be displayed once</name>
</property>
</task>
2.Configuration - <trigger count="1" interval="1"/>
<?xml version="1.0" encoding="UTF-8"?>
<task xmlns="http://ws.apache.org/ns/synapse" name="MyTask" class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz">
<trigger count="1" interval="1"/>
<property xmlns:task="http://www.wso2.org/products/wso2commons/tasks" name="message">
<name xmlns="">The message will be displayed once</name>
</property>
</task>
但是,在ESB文档中,建议在esb启动后仅使用<trigger once="true"/>
执行一次任务。
答案 2 :(得分:0)
我也有同样的问题(使用ESB4.9)。在尝试了很多选项之后,我发现了一个有效的配置:
<trigger once="true" count="1" interval="1"/>
答案 3 :(得分:0)
最新的ESB(集成商6.4.0版)中似乎仍然存在一个错误。
在启动和/或部署CAR归档文件时触发触发器的唯一方法是,如果您将时间间隔设置为大于1000的任何数字。我将其设置为1001,它在部署和部署时都会立即运行重新开始。下面的示例配置:
<?xml version="1.0" encoding="UTF-8"?>
<task class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz" name="TSK_Logoff" xmlns="http://ws.apache.org/ns/synapse">
<trigger interval="1001" count="1" />
<property name="sequenceName" value="SEQ_Logoff" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/>
<property name="injectTo" value="sequence" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/>
<property name="message" xmlns:task="http://www.wso2.org/products/wso2commons/tasks">
<logoff/>
</property>
答案 4 :(得分:0)
仅作记录,我使用的版本是4.8.1。我没有解决此问题,而是解决了该问题,并移走了我们只需要执行一次的功能。我将其从WSO2初创公司移至我们的Web层,从而避免了以后需要进行各种WSO2版本升级的麻烦。
我知道这个问题发生在2016年初,让我在2019年3月回答这个问题看起来很奇怪。但是这个问题似乎也在更新版本的WSO2中发生,并且同行的架构师一直在对此进行评论。即使在2019年1月也发布了帖子。因此,对我最终做的事情发表评论是合适的。