Now it gets interesting.
RMI is a single session -- A contacts B, B responds to A. Done
What you want is sessions going both ways. B, the service, can send messages to A, C, D, etc.
In order to do that, the clients need to become RMI servers. This is very similar to RMI callback -- the clients need to implement a Remote interface, so the server can call them back. There are examples here to do that. There are tutorials on the internet, etc.
Once you do it once, it becomes simple.