Announcement Announcement Module
No announcement yet.
Problem with Queue Channel messaging Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem with Queue Channel messaging

    I am using a queue channel based mechanism to store my payload data and send it to the destination. The xml code is as follows:

    <int:channel id="annotatorChannel" datatype="com.mycompany.auditing.auditservice.AuditEvent">
    		<int:queue capacity="500" />
    			<int:ref bean="persistenceInterceptor"/>
    	<int:channel id="destinationChannel" datatype="com.mycompany.auditing.auditservice.AuditEvent">
    		<int:queue capacity="500" />
    			<int:ref bean="persistenceInterceptor" />
    <int:poller id="defaultPoller" default="true" max-messages-per-poll="10">
    	    <int:interval-trigger interval="1" time-unit="SECONDS"/>
    <int:outbound-channel-adapter channel="destinationChannel" ref ="destinationAdapter" method="handleAuditEvent">
    <int:transformer id="annotationTransformer" ref="annotationAdapter" input-channel="annotatorChannel" method="annotate" output-channel="destinationChannel"  />

    When I try to send about 1000 audit events ( more than the queue capacity), it sends them to the final destination using the method handleAuditEvent as described above. But some of the events are missing... that is, it skips over some events. I have a feeling that this happens when one of the queue is full. It probably waits for the queue to free up, and in the process the event(s) is lost. Is there a way to combat this scenario? Thanks.

  • #2
    No issue in SI 2.0.0.M5

    I tried to send more events than the queue, send method will get blocked till atleasr one element is removed from the queue.

    Also i don't see any lose of events.

    I am using spring-integration 2.0 mile stone 5

    - Ravi
    Last edited by ravithokala; Aug 4th, 2010, 08:56 AM.