I have two simple JBI components A & B; B sends (synchronously) a message to A in its start() method.
When using ST or SEDA flow there are no problems - the flow completes. When I use JMS flow, however, B blocks when sending synchronously. I can see that A is started messages before B is started - it just seems A never gets the message. Reading the code it seems JMSFlow will route a requests even before it is started by creating a queue and placing a message on it. Because it hasn't been started, however, it won't have a queue listener in place to respond for that queue and so a sync message will just timeout without response. By simply switching the order of flow.start() and registry.start() in Broker.start() I was able to get the desired behaviour for my situation but I think this may actually introduce other bugs (e.g. JMS flow accepting remote messages when some or all components have not yet been started). Can anyone give guidance on what should be the expected behaviour here? Should I raise a JIRA issue? I'm running M1 BTW. Michael.
