Interface IHostContainerSelector
- All Known Implementing Classes:
HostContainerSelector
public interface IHostContainerSelector
Host container selector service contract. When an ECF RemoteServiceAdmin
instance is asked to import a service (i.e. via
RemoteServiceAdmin.exportService(ServiceReference, java.util.Map)
),
the RSA first gets an instance of this service via the service registry, and
then uses it to select an array of ECF host container instances by calling
selectHostContainers.
The IRemoteServiceContainer
array returned is then used to actually
export the remote service (typically via
IRemoteServiceContainerAdapter.registerRemoteService(String[], Object, java.util.Dictionary)
If no other instances of this service have been registered, a default
instance of HostContainerSelector
will be used. Note that this
default instance is registered with the lowest possible priority, so that if
other IHostContainerSelector
instances are registered, they will be
preferred/used over the default.
-
Method Summary
Modifier and TypeMethodDescriptionselectHostContainers
(ServiceReference serviceReference, Map<String, Object> overridingProperties, String[] exportedInterfaces, String[] exportedConfigs, String[] serviceIntents) Select host containers to use to export a remote service.
-
Method Details
-
selectHostContainers
IRemoteServiceContainer[] selectHostContainers(ServiceReference serviceReference, Map<String, Object> overridingProperties, String[] exportedInterfaces, String[] exportedConfigs, String[] serviceIntents) throws SelectContainerExceptionSelect host containers to use to export a remote service.- Parameters:
serviceReference
- the service reference given by theRemoteServiceAdmin.exportService(ServiceReference, java.util.Map)
overridingProperties
- the map portion given by theRemoteServiceAdmin.exportService(ServiceReference, java.util.Map)
exportedInterfaces
- the exportedInterfaces (typically associated withRemoteConstants.SERVICE_EXPORTED_INTERFACES
). Will not benull
.exportedConfigs
- the exportedConfigs (typically associated withRemoteConstants.SERVICE_EXPORTED_CONFIGS
). May benull
.serviceIntents
- the service intents (typically associated withRemoteConstants.SERVICE_EXPORTED_INTENTS
andRemoteConstants.SERVICE_EXPORTED_INTENTS_EXTRA
). May benull
.- Returns:
- IRemoteServiceContainer[] of remote service containers that
should be used to export the given remote service (typically via
IRemoteServiceContainerAdapter.registerRemoteService(String[], Object, java.util.Dictionary)
). Will not benull
, but may be empty array. - Throws:
SelectContainerException
- thrown if the host container selection or creation/configuration fails.- Since:
- 2.0
-