在apache camel中将cron变量动态提供给Quartz2使用者路由时出现无效的cron错误

在apache camel中将cron变量动态提供给Quartz2使用者路由时出现无效的cron错误,cron,apache-camel,quartz-scheduler,crontrigger,Cron,Apache Camel,Quartz Scheduler,Crontrigger,我使用Quartz2路由(from)根据给定的cron表达式触发作业。当我给cron加上硬编码时,它就起作用了 from("quartz2://group1/trigger1?**cron=0/30+*+*+?+*+*+***&stateful=true") 由于cron表达式是动态构建的,因此我从FileInputStream中检索它并将其提供给cousumer路由,但它不以这种方式工作,尽管变量具有正确/有效的cron。e、 g final String tim

我使用Quartz2路由(from)根据给定的cron表达式触发作业。当我给cron加上硬编码时,它就起作用了

from("quartz2://group1/trigger1?**cron=0/30+*+*+?+*+*+***&stateful=true")
由于cron表达式是动态构建的,因此我从FileInputStream中检索它并将其提供给cousumer路由,但它不以这种方式工作,尽管变量具有正确/有效的cron。e、 g

final String timerInfo=readFromInputStream(inputStream);
from("quartz2://group1/trigger1?cron="+**timerInfo**"&stateful=true")
下面是使用变量timerInfo后出现的错误

Caused by: java.net.URISyntaxException: Illegal character in query at index 47: quartz2://group1/trigger1?cron=0/20+*+*+?+*+*+*
作为一种解决方案,我尝试对timerInfo变量进行如下编码-

final String timerInfo=URLEncoder.encode(readFromInputStream(inputStream), "UTF-8");
之后没有错误,但是cron没有按照给定的值触发。我认为编码时出现了一些问题。是否有更好的解决方案来解决上述错误

谢谢
Deepak

看起来生成的
timerInfo
字符串在某些点上不正确。您是否能够以某种方式捕获示例值并将其发布到此处?这是它在文件中生成的内容--“0/10++*++*?++*++*++*”。这在cron表达式中没有空格,也没有找到无效字符。但它仍然是说不合法的性格。但一旦我进行了URL编码,程序运行也会触发cron。但它不会触发给定的CRON表达式看起来像生成的<代码> TimeRebug < /Cord>字符串在某个点是不正确的。您是否能够以某种方式捕获示例值并将其发布到此处?这是它在文件中生成的内容--“0/10++*++*?++*++*++*”。这在cron表达式中没有空格,也没有找到无效字符。但它仍然是说不合法的性格。但一旦我进行了URL编码,程序运行也会触发cron。但它不会像给定的CRON表达式那样触发。