Package io.vertx.serviceproxy
Class ServiceBinder
- java.lang.Object
-
- io.vertx.serviceproxy.ServiceBinder
-
public class ServiceBinder extends Object
A binder for Service Proxies which state can be reused during the binder lifecycle.- Author:
- Paulo Lopes
-
-
Field Summary
Fields Modifier and Type Field Description static long
DEFAULT_CONNECTION_TIMEOUT
-
Constructor Summary
Constructors Constructor Description ServiceBinder(Vertx vertx)
Creates a factory.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ServiceBinder
addInterceptor(ServiceInterceptor interceptor)
ServiceBinder
addInterceptor(String action, ServiceInterceptor interceptor)
ServiceBinder
addInterceptor(String action, java.util.function.Function<Message<JsonObject>,Future<Message<JsonObject>>> interceptor)
Deprecated.ServiceBinder
addInterceptor(java.util.function.Function<Message<JsonObject>,Future<Message<JsonObject>>> interceptor)
Deprecated.<T> MessageConsumer<JsonObject>
register(Class<T> clazz, T service)
Registers a service on the event bus.<T> MessageConsumer<JsonObject>
registerLocal(Class<T> clazz, T service)
Registers a local service on the event bus.ServiceBinder
setAddress(String address)
Set the address to use on the subsequent proxy creations or service registrations.ServiceBinder
setIncludeDebugInfo(boolean includeDebugInfo)
When an exception is thrown by the service or the underlying handler, include debugging info in the ServiceException, that you can access withServiceException.getDebugInfo()
ServiceBinder
setTimeoutSeconds(long timeoutSeconds)
Set the default timeout in seconds while waiting for a reply.ServiceBinder
setTopLevel(boolean topLevel)
Set if the services to create are a top level services.void
unregister(MessageConsumer<JsonObject> consumer)
Unregisters a published service.
-
-
-
Field Detail
-
DEFAULT_CONNECTION_TIMEOUT
public static final long DEFAULT_CONNECTION_TIMEOUT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ServiceBinder
public ServiceBinder(Vertx vertx)
Creates a factory.- Parameters:
vertx
- a non null instance of vertx.
-
-
Method Detail
-
setAddress
public ServiceBinder setAddress(String address)
Set the address to use on the subsequent proxy creations or service registrations.- Parameters:
address
- an eventbus address- Returns:
- self
-
setTopLevel
public ServiceBinder setTopLevel(boolean topLevel)
Set if the services to create are a top level services.- Parameters:
topLevel
- true for top level (default: true)- Returns:
- self
-
setTimeoutSeconds
public ServiceBinder setTimeoutSeconds(long timeoutSeconds)
Set the default timeout in seconds while waiting for a reply.- Parameters:
timeoutSeconds
- the default timeout (default: 5 minutes)- Returns:
- self
-
setIncludeDebugInfo
public ServiceBinder setIncludeDebugInfo(boolean includeDebugInfo)
When an exception is thrown by the service or the underlying handler, include debugging info in the ServiceException, that you can access withServiceException.getDebugInfo()
- Parameters:
includeDebugInfo
- the parameter- Returns:
- self
-
addInterceptor
public ServiceBinder addInterceptor(String action, ServiceInterceptor interceptor)
-
addInterceptor
@Deprecated public ServiceBinder addInterceptor(java.util.function.Function<Message<JsonObject>,Future<Message<JsonObject>>> interceptor)
Deprecated.Wrapper method, remove when old interceptors will be removed- Parameters:
interceptor
- interceptor to add- Returns:
- self
-
addInterceptor
@Deprecated public ServiceBinder addInterceptor(String action, java.util.function.Function<Message<JsonObject>,Future<Message<JsonObject>>> interceptor)
Deprecated.Wrapper method, remove when old interceptors will be removed- Parameters:
interceptor
- interceptor to add- Returns:
- self
-
addInterceptor
public ServiceBinder addInterceptor(ServiceInterceptor interceptor)
-
register
public <T> MessageConsumer<JsonObject> register(Class<T> clazz, T service)
Registers a service on the event bus.- Type Parameters:
T
- the type of the service interface- Parameters:
clazz
- the service class (interface)service
- the service object- Returns:
- the consumer used to unregister the service
-
registerLocal
public <T> MessageConsumer<JsonObject> registerLocal(Class<T> clazz, T service)
Registers a local service on the event bus. The registration will not be propagated to other nodes in the cluster.- Type Parameters:
T
- the type of the service interface- Parameters:
clazz
- the service class (interface)service
- the service object- Returns:
- the consumer used to unregister the service
-
unregister
public void unregister(MessageConsumer<JsonObject> consumer)
Unregisters a published service.- Parameters:
consumer
- the consumer returned byregister(Class, Object)
.
-
-