Interface NodeLocator<T>
- Type Parameters:
 T- the client type.
- All Known Implementing Classes:
 RestTemplateNodeLocator,WebFluxNodeLocator
public interface NodeLocator<T>
Used to obtain a connection factory for the queue leader.
- Since:
 - 2.4.8
 - Author:
 - Gary Russell
 
- 
Field Summary
Fields - 
Method Summary
Modifier and TypeMethodDescriptiondefault voidClose the client.createClient(String userName, String password) Create a client for subsequent use.default ConnectionFactorylocate(String[] adminUris, Map<String, String> nodeToAddress, String vhost, String username, String password, String queue, FactoryFinder factoryFunction) Return a connection factory for the leader node for the queue.Retrieve a map of queue properties using the RabbitMQ Management REST API. 
- 
Field Details
- 
LOGGER
 
 - 
 - 
Method Details
- 
locate
@Nullable default ConnectionFactory locate(String[] adminUris, Map<String, String> nodeToAddress, String vhost, String username, String password, String queue, FactoryFinder factoryFunction) Return a connection factory for the leader node for the queue.- Parameters:
 adminUris- an array of admin URIs.nodeToAddress- a map of node names to node addresses (AMQP).vhost- the vhost.username- the user name.password- the password.queue- the queue name.factoryFunction- an internal function to find or create the factory.- Returns:
 - a connection factory, if the leader node was found; null otherwise.
 
 - 
createClient
 - 
close
 - 
restCall
@Nullable Map<String,Object> restCall(T client, String baseUri, String vhost, String queue) throws URISyntaxException Retrieve a map of queue properties using the RabbitMQ Management REST API.- Parameters:
 client- the client.baseUri- the base uri.vhost- the virtual host.queue- the queue name.- Returns:
 - the map of queue properties.
 - Throws:
 URISyntaxException- if the syntax is bad.
 
 -