I have a some services

I have a reader that when an file is read it creates an object this object then gets packaged into a message
Which gets sent to a splitter which duplicates the message putting a header on the messager header saying what service it shouls be sent to

THen goes into a routing object which actually sends the message

Then have the service that recives the object for processing
This is all threaded so 4 services can be executing concurrently

Issues is that on execution completion i drip out of main but process continues executing (from presumable the services are still lying in wait for messages)

How do i take down these services for execution completion