Class RabbitMqAmqpTransportConnector
- java.lang.Object
-
- de.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector
-
- de.iip_ecosphere.platform.transport.connectors.rabbitmq.RabbitMqAmqpTransportConnector
-
- All Implemented Interfaces:
de.iip_ecosphere.platform.transport.connectors.TransportConnector
public class RabbitMqAmqpTransportConnector extends de.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnectorImplements an AMQP transport connector based on RabbitMQ.- Author:
- Holger Eichelberger, SSE
-
-
Field Summary
Fields Modifier and Type Field Description private com.rabbitmq.client.Channelchannelprivate booleanclosingprivate com.rabbitmq.client.Connectionconnectionstatic java.lang.StringNAMEprivate java.util.Map<java.lang.String,java.lang.String>queueStreamprivate java.util.Map<java.lang.String,java.lang.String>tagsprivate booleantlsEnabled
-
Constructor Summary
Constructors Constructor Description RabbitMqAmqpTransportConnector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidasyncSend(java.lang.String stream, java.lang.Object data)private voidcheckStream(java.lang.String stream, boolean send)Checks the givenstream.java.lang.StringcomposeStreamName(java.lang.String parent, java.lang.String name)protected voidconfigureFactory(com.rabbitmq.client.ConnectionFactory factory)Allows further factory configuration.voidconnect(de.iip_ecosphere.platform.transport.connectors.TransportParameter params)voiddisconnect()java.lang.StringenabledEncryption()java.lang.StringgetName()private voidsend(java.lang.String stream, java.lang.Object data, boolean block)Sends data tostream.voidsetReceptionCallback(java.lang.String stream, de.iip_ecosphere.platform.transport.connectors.ReceptionCallback<?> callback)java.lang.StringsupportedEncryption()voidsyncSend(java.lang.String stream, java.lang.Object data)voidunsubscribe(java.lang.String stream, boolean delete)-
Methods inherited from class de.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector
applyAuthenticationKey, createTlsContext, detachReceptionCallback, getActionTimeout, getApplicationId, getApplicationId, getCallback, getCloseAction, getTransportParameter, isStreamKnown, notifyCallback, registerStream, serialize, useTls
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
connection
private com.rabbitmq.client.Connection connection
-
channel
private com.rabbitmq.client.Channel channel
-
tlsEnabled
private boolean tlsEnabled
-
tags
private java.util.Map<java.lang.String,java.lang.String> tags
-
closing
private boolean closing
-
queueStream
private java.util.Map<java.lang.String,java.lang.String> queueStream
-
-
Method Detail
-
syncSend
public void syncSend(java.lang.String stream, java.lang.Object data) throws java.io.IOException- Throws:
java.io.IOException
-
asyncSend
public void asyncSend(java.lang.String stream, java.lang.Object data) throws java.io.IOException- Throws:
java.io.IOException
-
checkStream
private void checkStream(java.lang.String stream, boolean send) throws java.io.IOExceptionChecks the givenstream.- Parameters:
stream- the streamsend- sending or receiving- Throws:
java.io.IOException- if stream operations cannot be carried out
-
send
private void send(java.lang.String stream, java.lang.Object data, boolean block) throws java.io.IOExceptionSends data tostream.- Parameters:
stream- the stream to send todata- the data to send tostreamblock- shall this be a blocking call (ignored)- Throws:
java.io.IOException- in cases that sending fails
-
setReceptionCallback
public void setReceptionCallback(java.lang.String stream, de.iip_ecosphere.platform.transport.connectors.ReceptionCallback<?> callback) throws java.io.IOException- Specified by:
setReceptionCallbackin interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
setReceptionCallbackin classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
unsubscribe
public void unsubscribe(java.lang.String stream, boolean delete) throws java.io.IOException- Specified by:
unsubscribein interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
unsubscribein classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
composeStreamName
public java.lang.String composeStreamName(java.lang.String parent, java.lang.String name)
-
connect
public void connect(de.iip_ecosphere.platform.transport.connectors.TransportParameter params) throws java.io.IOException- Specified by:
connectin interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
connectin classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
configureFactory
protected void configureFactory(com.rabbitmq.client.ConnectionFactory factory)
Allows further factory configuration.- Parameters:
factory- the factory to configured
-
disconnect
public void disconnect() throws java.io.IOException- Specified by:
disconnectin interfacede.iip_ecosphere.platform.transport.connectors.TransportConnector- Overrides:
disconnectin classde.iip_ecosphere.platform.transport.connectors.impl.AbstractTransportConnector- Throws:
java.io.IOException
-
getName
public java.lang.String getName()
-
supportedEncryption
public java.lang.String supportedEncryption()
-
enabledEncryption
public java.lang.String enabledEncryption()
-
-