Mule 3中的石英cron表达式-可以使其成为动态的吗?

Mule 3中的石英cron表达式-可以使其成为动态的吗?,mule,Mule,Quartz端点中的cron表达式是否可以设置为动态的 我尝试按如下方式配置我的端点: <quartz:inbound-endpoint jobName="trigger" cronExpression="#[app.registry.abc.cronEx]" repeatInterval="0" responseTimeout="10000" doc:name="Quartz"> <quartz:event-generator-

Quartz端点中的cron表达式是否可以设置为动态的

我尝试按如下方式配置我的端点:

<quartz:inbound-endpoint jobName="trigger"
        cronExpression="#[app.registry.abc.cronEx]"
        repeatInterval="0" responseTimeout="10000" doc:name="Quartz">
        <quartz:event-generator-job />
</quartz:inbound-endpoint>

其中abc是一种春豆

但当应用程序启动时,它会引发异常:

10/04/12 16:49:27.955 ERROR [main] DefaultMuleApplication - null
java.text.ParseException: Unexpected character: #
at org.quartz.CronExpression.storeExpressionVals(CronExpression.java:642)
at org.quartz.CronExpression.buildExpression(CronExpression.java:430)
at org.quartz.CronExpression.<init>(CronExpression.java:255)
at org.quartz.CronTrigger.setCronExpression(CronTrigger.java:474)
at org.mule.transport.quartz.QuartzMessageReceiver.doStart(QuartzMessageReceiver.java:125)
at org.mule.transport.AbstractTransportMessageHandler$3.onTransition(AbstractTransportMessageHandler.java:316)
at org.mule.lifecycle.AbstractLifecycleManager.invokePhase(AbstractLifecycleManager.java:141)
at org.mule.transport.ConnectableLifecycleManager.fireStartPhase(ConnectableLifecycleManager.java:51)
10/04/12 16:49:27.955错误[main]默认多应用程序-空
java.text.ParseException:意外字符:#
位于org.quartz.CronExpression.storeExpressionVals(CronExpression.java:642)
位于org.quartz.CronExpression.buildExpression(CronExpression.java:430)
位于org.quartz.CronExpression.(CronExpression.java:255)
位于org.quartz.CronTrigger.setCronExpression(CronTrigger.java:474)
位于org.mule.transport.quartz.QuartzMessageReceiver.doStart(QuartzMessageReceiver.java:125)
位于org.mule.transport.AbstractTransportMessageHandler$3.onTransition(AbstractTransportMessageHandler.java:316)
位于org.mule.lifecycle.AbstractLifecycleManager.InvokePase(AbstractLifecycleManager.java:141)
位于org.mule.transport.ConnectableLifecycleManager.fireStartPhase(ConnectableLifecycleManager.java:51)

有没有办法做到这一点

谢谢。

使用:


我试着运行应用程序,默认值被读取,应用程序启动并运行。现在,当我在运行时更改值时,cron表达式没有更新,仍然会读取默认值,知道出了什么问题吗?如果您想在Mule启动后修改这些值,则必须使用Mule的内部API来重新配置(并可能重新启动)入站端点。我不确定该API。您可以分享一些关于要使用的API的详细信息,以及该API的确切调用位置(在上下文逻辑中或在流中),您有两个潜在的Mule内部入口点:MuleContext,它允许您访问注册表,其中所有内容都可以访问(连接器…)或者MBeanServer,其中重要的内部构件正在注册MBean。
cronExpression="#{abc.cronEx}"