THe JBI spec talks about implicit and explicit endpoints and the selction process. So when a service or interface name is specified in the ME, implicit is used. When there is more than one "service" available, the spec states that an implementation is free to select the service as it chooses. This all makes sense.
How are multiple instances of the same services "discovered" for selection for use by the NMR in clustered and non-clutered mode?
The FirstChoicePolicy is the default EndpointChooser used by the NMR. This policy is very simple and just selects the first endpoint it finds. But, creating your own EndpointChooser implementation is quite simple.
Bruce