Results 1 to 5 of 5

Thread: MessageDeliveryException: Dispatcher has no subscribers

  1. #1
    Join Date
    Jan 2010
    Posts
    124

    Arrow MessageDeliveryException: Dispatcher has no subscribers

    Hi,
    I am really clueless now after hitting this exception. Tried searching the forum as well as google. I couldn't find a solution to my problem.
    Here is what i am doing which looks like a straightward case.
    <integration:annotation-config/>
    <gateway id="publishGateway"
    service-interface="com.mypackage.services.SpringIntegratio n.Gateway.LogMessageGateway"/>

    <channel id="asyncExecutorChannel">
    <dispatcher task-executor="threadPool"/>
    </channel>
    <task:executor id="threadPool" pool-size="10-20"
    queue-capacity="100" rejection-policy="DISCARD" keep-alive="15"/>

    <chain input-channel="asyncExecutorChannel">
    <header-value-router header-name="messageType">
    <mapping value="log" channel="onToJmsChannelQueue" />
    <mapping value="exception" channel="discardedMessagesQueue" />
    </header-value-router>
    </chain>
    Note: I added annotation config and wrapped chain handler around my router as a second attempt to resolve this issue but to no success.
    I really appreciate, if you can help me resolve this issue.
    Thanks
    Sri

  2. #2
    Join Date
    Oct 2005
    Location
    Boston, MA
    Posts
    2,840

    Default

    Somewhere you have an output-channel that does not have any subscribers. Can you provide any more excerpts of relevant configuration (from the annotated class perhaps). Also, what version are you using? The channel name should be in the Exception message for recent 2.0 milestones.

    Thanks,
    Mark

  3. #3
    Join Date
    Jan 2010
    Posts
    124

    Arrow

    Hi Mark,

    Isn't Router or Router embedded in a chain a MessageHandler?
    And isn't the output channels defined for this Router or chain the subscribers?

    I am using 1.0.4.RELEASE
    My two output channels defined in Header-Router are Queues with capacities 10 and 100 respectively.

    Here is the error message
    org.springframework.integration.message.MessageDel iveryException: Dispatcher has no subscribers.
    at org.springframework.integration.dispatcher.Unicast ingDispatcher.doDispatch(UnicastingDispatcher.java :97)
    at org.springframework.integration.dispatcher.Unicast ingDispatcher.access$0(UnicastingDispatcher.java:9 3)
    at org.springframework.integration.dispatcher.Unicast ingDispatcher$1.run(UnicastingDispatcher.java:85)
    at org.springframework.integration.util.ErrorHandling TaskExecutor$1.run(ErrorHandlingTaskExecutor.java: 49)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:650)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:595)
    The remainder of the configuration is
    <channel id="discardedMessagesQueue">
    <queue capacity="10"/>
    </channel>

    <channel id="onToJmsChannelQueue">
    <queue capacity="100"/>
    <interceptors>
    <beans:ref bean="messageCountingInterceptor"/>
    </interceptors>
    </channel>
    <beans:bean id="messageCountingInterceptor" class="com.MyPackage.services.SpringIntegration.me ssageInterceptor"/>
    Quote Originally Posted by Mark Fisher View Post
    Somewhere you have an output-channel that does not have any subscribers. Can you provide any more excerpts of relevant configuration (from the annotated class perhaps). Also, what version are you using? The channel name should be in the Exception message for recent 2.0 milestones.

    Thanks,
    Mark

  4. #4
    Join Date
    Jan 2010
    Posts
    124

    Angry

    Hi Mark,
    I configured websphere mq and still running into the same error
    MessageDelivery exception and complains of no subscriber.

    I have attached the spring config xml file.
    Any help will be highly appreciated.
    Thanks
    Sri
    Attached Files Attached Files

  5. #5
    Join Date
    Jan 2010
    Posts
    124

    Angry

    Hi all,
    I have narrowed down to a case where this thing works if i declare the
    channel "asyncExecutorChannel" as a simple DirectChannel without dispatcher.
    If i modify this to add dispatcher, it does not work.
    I am attaching the updated spring config file here.

    I am using Spring Integration 1.0.4 and Spring 3.0 with Tomcat 5.x and Java 1.5.x

    Thanks
    Sri
    Attached Files Attached Files

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •