Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring integration Dispatcher没有订阅服务器[Spring integration]_Spring Integration - Fatal编程技术网

Spring integration Dispatcher没有订阅服务器[Spring integration]

Spring integration Dispatcher没有订阅服务器[Spring integration],spring-integration,Spring Integration,我有以下例外: INFO 2015-01-19 11:00:00 [AbstractCorrelatingMessageHandler] - Expiring MessageGroup with correlationKey[aa7eb738-b47e-3bbe-8aca-282453ae5b29] ERROR 2015-01-19 11:00:00 [JdbcMessageStore] - Exception in expiry callback org.springframework

我有以下例外:

    INFO 2015-01-19 11:00:00 [AbstractCorrelatingMessageHandler] - Expiring MessageGroup with correlationKey[aa7eb738-b47e-3bbe-8aca-282453ae5b29]
ERROR 2015-01-19 11:00:00 [JdbcMessageStore] - Exception in expiry callback
org.springframework.integration.MessageDeliveryException: Dispatcher has no subscribers for channel 'org.springframework.context.support.ClassPathXmlApplicationContext@19e0ff2f.SIEBELDOC_PARK_after_aggregation'.
        at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:81)
        at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:181)
        at org.springframework.integration.core.MessagingTemplate.doSend(MessagingTemplate.java:330)
        at org.springframework.integration.core.MessagingTemplate.send(MessagingTemplate.java:169)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.sendReplyMessage(AbstractCorrelatingMessageHandler.java:436)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.sendReplies(AbstractCorrelatingMessageHandler.java:429)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.completeGroup(AbstractCorrelatingMessageHandler.java:404)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.completeGroup(AbstractCorrelatingMessageHandler.java:389)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.expireGroup(AbstractCorrelatingMessageHandler.java:371)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.forceComplete(AbstractCorrelatingMessageHandler.java:308)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler.access$000(AbstractCorrelatingMessageHandler.java:71)
        at org.springframework.integration.aggregator.AbstractCorrelatingMessageHandler$1.execute(AbstractCorrelatingMessageHandler.java:137)
        at org.springframework.integration.store.AbstractMessageGroupStore.expire(AbstractMessageGroupStore.java:117)
        at org.springframework.integration.store.AbstractMessageGroupStore.expireMessageGroups(AbstractMessageGroupStore.java:87)
        at org.springframework.integration.store.MessageGroupStoreReaper.run(MessageGroupStoreReaper.java:115)
        at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64)
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
        at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
这就是流程:

<int:channel id="SIEBELDOC_PARK_job_Channel"/>
<int:channel id="SIEBELDOC_PARK_after_split"/>
<int:channel id="SIEBELDOC_PARK_after_aggregation"/>

<int:inbound-channel-adapter channel="SIEBELDOC_PARK_job_Channel" expression="@parkingGetItems.getItems('SIEBELDOC_PARK')">
    <int:poller fixed-rate="${fdl.db.item.polling.rate}"/>
</int:inbound-channel-adapter>

<int:splitter input-channel="SIEBELDOC_PARK_job_Channel" output-channel="SIEBELDOC_PARK_after_split"/>

    <int:aggregator input-channel="SIEBELDOC_PARK_after_split" output-channel="SIEBELDOC_PARK_after_aggregation" message-store="SIEBELDOC_PARK_messageStore"
        ref="parkingStackMessageAggregator" method="aggregate"
        correlation-strategy="parkingStackMessageAggregator"
        correlation-strategy-method="correlate"
        release-strategy="parkingStackMessageAggregator"
        release-strategy-method="release"
        send-partial-result-on-expiry="true"
        expire-groups-upon-completion="true"
    >
    </int:aggregator>

<int:chain id="jobexecutor" input-channel="SIEBELDOC_PARK_after_aggregation" >

    <int:transformer>
        <bean class="hu.telekom.fdl.job.IntegrationMessageToJobRequest"/>
    </int:transformer>

    <int:service-activator>
        <bean class = "hu.telekom.fdl.job.JobLaunchMessageHandler"/>
    </int:service-activator>
</int:chain>

我正在使用以下收割者和messagestore代码:

<int-jdbc:message-store id="SIEBELDOC_PARK_messageStore" region="SIEBELDOC_PARK_GRP" data-source="jobRepoDataSource" table-prefix="INT_" lob-handler="lobHandler"/>

<bean id="SIEBELDOC_PARK_messageStoreReaper" class="org.springframework.integration.store.MessageGroupStoreReaper">
    <property name="messageGroupStore" ref="SIEBELDOC_PARK_messageStore" />
    <property name="timeout" value="100000" />
</bean>

<task:scheduled-tasks>
    <task:scheduled ref="SIEBELDOC_PARK_messageStoreReaper" method="run" cron="* */30 * * * ?"/>
</task:scheduled-tasks>     

你能给我一些建议吗?有什么问题吗? 谢谢

对我来说,频道名称:
org.springframework.context.support。ClassPathXmlApplicationContext@19e0ff2f.SIEBELDOC_PARK_after_aggregation
对我来说也很奇怪。 原始频道名称为:
SIEBELDOC\u PARK\u\u聚合后
,与stacktracce中引用的频道名称不同

费伦茨

  • org.springframework.context.support。ClassPathXmlApplicationContext@19e0ff2f.SIEBELDOC_PARK_after_aggregation
    AbstractMessageChannel#getFullChannelName()
    的结果。如您所见,我们在其中包含了一个
    ApplicationContext
    id

  • 我可能猜,但是如果您从
    中删除
    作业执行器
    id
    ,会更好。ctx中可能有另一个bean具有相同的
    id
    。没有

  • 如果您只是将消息发送到聚合器进行定期发布,它是如何工作的?您没有看到相同的
    MessageDeliveryException


  • 到目前为止你尝试了什么?我们不是来给你做作业的,所以请告诉我们你试过什么;)陛下你可以看到我到目前为止所尝试的:)正如你可以使用“SIEBELDOC_PARK_后_聚合”一样,它是一个链。所以我不明白为什么它说没有订阅嗨,你是对的。我发现其中有4个不同的流具有相同的“jobexecutor”链id。我必须做一些测试来回答这个问题。