[
https://issues.apache.org/activemq/browse/SM-1576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45700#action_45700
]
Guillaume Nodet commented on SM-1576:
-------------------------------------
I'm doing very good progress on that one.
This seems to work nicely for JMS, but other kind of consumers (quartz, http or
pollers) may need a better shut down processing.
I think that they should keep track of the number of consumer exchanges sent
and when shutting down, wait for all these exchanges to be fully processed
(i.e. no pending messages at all).
That's what is happening with the <jms:consumer /> endpoint because the shut
down of the jms listener container waits for all listeners to be fully
executed.
I'm thinking we could do that in the component itself, has it should be aware
of all exchanges received / sent by endpoints, so that endpoints would not have
to take care about that.
> Change endpoints lifecycle to use init / start / stop / shutdown
> ----------------------------------------------------------------
>
> Key: SM-1576
> URL: https://issues.apache.org/activemq/browse/SM-1576
> Project: ServiceMix
> Issue Type: Improvement
> Components: servicemix-common
> Reporter: Guillaume Nodet
> Assignee: Guillaume Nodet
> Fix For: 3.3
>
>
> Change servicemix-common in the following way:
> * refactor the existing start / stop method into init / shutdown (along
> with the doStart and doStop methods)
> * add new start / stop methods with empty implementation in the Endpoint
> class
> * use these new init / start / stop / shutdown lifecycle in the service
> unit
> * implement start / stop for the polling endpoints
> * implement start / stop for the jms consumer endpoint (it should start /
> stop the listener container)
> * implement start / stop for the http consumer (a stopped endpoint should
> return an 503 Service Unavailable http status code)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.