public class ServerRSocketConnector extends AbstractRSocketConnector implements ApplicationEventPublisherAware
AbstractRSocketConnector extension to accept and manage client RSocket connections.RSocketFactory.ServerRSocketFactoryrSocketMessageHandlerDEFAULT_PHASE| Constructor and Description |
|---|
ServerRSocketConnector(reactor.netty.http.server.HttpServer server)
Instantiate a server connector based on the
WebsocketServerTransport. |
ServerRSocketConnector(ServerRSocketMessageHandler serverRSocketMessageHandler)
Instantiate a server connector based on a provided
ServerRSocketMessageHandler
with an assumption that RSocket server is created externally as well. |
ServerRSocketConnector(io.rsocket.transport.ServerTransport<io.rsocket.transport.netty.server.CloseableChannel> serverTransport)
Instantiate a server connector based on the provided
ServerTransport. |
ServerRSocketConnector(String bindAddress,
int port)
Instantiate a server connector based on the
TcpServerTransport. |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
void |
afterSingletonsInstantiated() |
void |
destroy() |
protected void |
doStart() |
reactor.core.publisher.Mono<Integer> |
getBoundPort()
Return the port this internal server is bound or empty
Mono. |
RSocketRequester |
getClientRSocketRequester(Object key)
Return connected
RSocketRequester mapped by key or null. |
Map<Object,RSocketRequester> |
getClientRSocketRequesters()
Return connected
RSocketRequesters mapped by keys. |
void |
setApplicationContext(ApplicationContext applicationContext) |
void |
setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) |
void |
setClientRSocketKeyStrategy(java.util.function.BiFunction<Map<String,Object>,DataBuffer,Object> clientRSocketKeyStrategy)
Configure a strategy to determine a key for the client
RSocketRequester connected. |
void |
setDataMimeType(MimeType dataMimeType)
Configure a
MimeType for data exchanging. |
void |
setFactoryConfigurer(java.util.function.Consumer<io.rsocket.RSocketFactory.ServerRSocketFactory> factoryConfigurer)
Provide a
Consumer to configure the RSocketFactory.ServerRSocketFactory. |
void |
setMetadataMimeType(MimeType metadataMimeType)
Configure a
MimeType for metadata exchanging. |
void |
setRSocketStrategies(RSocketStrategies rsocketStrategies)
Configure a
RSocketStrategies for data encoding/decoding. |
addEndpoint, getDataMimeType, getMetadataMimeType, getRSocketStrategies, isAutoStartup, isRunning, setAutoStartup, setEndpoints, start, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetPhase, stoppublic ServerRSocketConnector(ServerRSocketMessageHandler serverRSocketMessageHandler)
ServerRSocketMessageHandler
with an assumption that RSocket server is created externally as well.
All other options are ignored in favor of provided ServerRSocketMessageHandler
and its external RSocket server configuration.serverRSocketMessageHandler - the ServerRSocketMessageHandler to rely on.public ServerRSocketConnector(String bindAddress, int port)
TcpServerTransport.bindAddress - the local address to bind TCP server onto.port - the local TCP port to bind.ServerRSocketConnector(ServerTransport)public ServerRSocketConnector(reactor.netty.http.server.HttpServer server)
WebsocketServerTransport.server - the HttpServer to use.ServerRSocketConnector(ServerTransport)public ServerRSocketConnector(io.rsocket.transport.ServerTransport<io.rsocket.transport.netty.server.CloseableChannel> serverTransport)
ServerTransport.serverTransport - the ServerTransport to make server based on.public void setFactoryConfigurer(java.util.function.Consumer<io.rsocket.RSocketFactory.ServerRSocketFactory> factoryConfigurer)
Consumer to configure the RSocketFactory.ServerRSocketFactory.factoryConfigurer - the Consumer to configure the RSocketFactory.ServerRSocketFactory.public void setClientRSocketKeyStrategy(java.util.function.BiFunction<Map<String,Object>,DataBuffer,Object> clientRSocketKeyStrategy)
RSocketRequester connected.
Defaults to the destination to which a client is connected.clientRSocketKeyStrategy - the BiFunction to determine a key for client RSocketRequesters.public void setDataMimeType(@Nullable MimeType dataMimeType)
AbstractRSocketConnectorMimeType for data exchanging.setDataMimeType in class AbstractRSocketConnectordataMimeType - the MimeType to use.public void setMetadataMimeType(MimeType metadataMimeType)
AbstractRSocketConnectorMimeType for metadata exchanging.
Default to "message/x.rsocket.composite-metadata.v0".setMetadataMimeType in class AbstractRSocketConnectormetadataMimeType - the MimeType to use.public void setRSocketStrategies(RSocketStrategies rsocketStrategies)
AbstractRSocketConnectorRSocketStrategies for data encoding/decoding.setRSocketStrategies in class AbstractRSocketConnectorrsocketStrategies - the RSocketStrategies to use.public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
setApplicationContext in interface ApplicationContextAwaresetApplicationContext in class AbstractRSocketConnectorBeansExceptionpublic void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
setApplicationEventPublisher in interface ApplicationEventPublisherAwarepublic void afterPropertiesSet()
afterPropertiesSet in interface InitializingBeanafterPropertiesSet in class AbstractRSocketConnectorpublic Map<Object,RSocketRequester> getClientRSocketRequesters()
RSocketRequesters mapped by keys.RSocketRequesters mapped by keys.ServerRSocketMessageHandler.getClientRSocketRequesters()@Nullable public RSocketRequester getClientRSocketRequester(Object key)
RSocketRequester mapped by key or null.key - the mapping key.RSocketRequester or null.ServerRSocketMessageHandler.getClientRSocketRequester(Object)public reactor.core.publisher.Mono<Integer> getBoundPort()
Mono.Mono
if an external server is used.protected void doStart()
doStart in class AbstractRSocketConnectorpublic void destroy()
destroy in interface DisposableBeanpublic void afterSingletonsInstantiated()
afterSingletonsInstantiated in interface SmartInitializingSingletonafterSingletonsInstantiated in class AbstractRSocketConnector