Package org.apache.activemq.transport
Class TransportFilter
- java.lang.Object
-
- org.apache.activemq.transport.TransportFilter
-
- All Implemented Interfaces:
Service
,Transport
,TransportListener
- Direct Known Subclasses:
AbstractInactivityMonitor
,AmqpInactivityMonitor
,AmqpTransportFilter
,CommandJoiner
,DiscoveryTransport
,MarshallingTransportFilter
,MQTTInactivityMonitor
,MQTTTransportFilter
,MutexTransport
,ResponseCorrelator
,ResponseRedirectInterceptor
,StompTransportFilter
,ThreadNameFilter
,TransportLogger
,WireFormatNegotiator
,WriteTimeoutFilter
public class TransportFilter extends Object implements TransportListener, Transport
-
-
Field Summary
Fields Modifier and Type Field Description protected Transport
next
protected TransportListener
transportListener
-
Constructor Summary
Constructors Constructor Description TransportFilter(Transport next)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FutureResponse
asyncRequest(Object command, ResponseCallback responseCallback)
An asynchronous request response where the Receipt will be returned in the future.Transport
getNext()
X509Certificate[]
getPeerCertificates()
int
getReceiveCounter()
Returns a counter which gets incremented as data is read from the transport.String
getRemoteAddress()
TransportListener
getTransportListener()
Returns the current transport listenerWireFormat
getWireFormat()
Retrieves the WireFormat instance associated with this Transport instance.boolean
isConnected()
boolean
isDisposed()
boolean
isFaultTolerant()
Indicates if the transport can handle faultsboolean
isReconnectSupported()
boolean
isUpdateURIsSupported()
<T> T
narrow(Class<T> target)
void
onCommand(Object command)
called to process a commandvoid
oneway(Object command)
A one way asynchronous sendvoid
onException(IOException error)
An unrecoverable exception has occured on the transportvoid
reconnect(URI uri)
reconnect to another locationObject
request(Object command)
A synchronous request responseObject
request(Object command, int timeout)
A synchronous request responsevoid
setPeerCertificates(X509Certificate[] certificates)
Sets the certificates provided by the connected peer.void
setTransportListener(TransportListener channelListener)
Registers an inbound command listenervoid
start()
void
stop()
String
toString()
void
transportInterupted()
The transport has suffered an interuption from which it hopes to recovervoid
transportResumed()
The transport has resumed after an interuptionvoid
updateURIs(boolean rebalance, URI[] uris)
Provide a list of available alternative locations
-
-
-
Field Detail
-
next
protected final Transport next
-
transportListener
protected TransportListener transportListener
-
-
Constructor Detail
-
TransportFilter
public TransportFilter(Transport next)
-
-
Method Detail
-
getTransportListener
public TransportListener getTransportListener()
Description copied from interface:Transport
Returns the current transport listener- Specified by:
getTransportListener
in interfaceTransport
- Returns:
-
setTransportListener
public void setTransportListener(TransportListener channelListener)
Description copied from interface:Transport
Registers an inbound command listener- Specified by:
setTransportListener
in interfaceTransport
-
start
public void start() throws Exception
- Specified by:
start
in interfaceService
- Throws:
IOException
- if the next channel has not been set.Exception
- See Also:
Service.start()
-
stop
public void stop() throws Exception
- Specified by:
stop
in interfaceService
- Throws:
Exception
- See Also:
Service.stop()
-
onCommand
public void onCommand(Object command)
Description copied from interface:TransportListener
called to process a command- Specified by:
onCommand
in interfaceTransportListener
-
getNext
public Transport getNext()
- Returns:
- Returns the next.
-
oneway
public void oneway(Object command) throws IOException
Description copied from interface:Transport
A one way asynchronous send- Specified by:
oneway
in interfaceTransport
- Throws:
IOException
-
asyncRequest
public FutureResponse asyncRequest(Object command, ResponseCallback responseCallback) throws IOException
Description copied from interface:Transport
An asynchronous request response where the Receipt will be returned in the future. If responseCallback is not null, then it will be called when the response has been completed.- Specified by:
asyncRequest
in interfaceTransport
responseCallback
- TODO- Returns:
- the FutureResponse
- Throws:
IOException
-
request
public Object request(Object command) throws IOException
Description copied from interface:Transport
A synchronous request response- Specified by:
request
in interfaceTransport
- Returns:
- the response
- Throws:
IOException
-
request
public Object request(Object command, int timeout) throws IOException
Description copied from interface:Transport
A synchronous request response- Specified by:
request
in interfaceTransport
- Returns:
- the repsonse or null if timeout
- Throws:
IOException
-
onException
public void onException(IOException error)
Description copied from interface:TransportListener
An unrecoverable exception has occured on the transport- Specified by:
onException
in interfaceTransportListener
-
transportInterupted
public void transportInterupted()
Description copied from interface:TransportListener
The transport has suffered an interuption from which it hopes to recover- Specified by:
transportInterupted
in interfaceTransportListener
-
transportResumed
public void transportResumed()
Description copied from interface:TransportListener
The transport has resumed after an interuption- Specified by:
transportResumed
in interfaceTransportListener
-
narrow
public <T> T narrow(Class<T> target)
-
getRemoteAddress
public String getRemoteAddress()
- Specified by:
getRemoteAddress
in interfaceTransport
- Returns:
- the remote address for this connection
-
isFaultTolerant
public boolean isFaultTolerant()
Description copied from interface:Transport
Indicates if the transport can handle faults- Specified by:
isFaultTolerant
in interfaceTransport
- Returns:
- See Also:
Transport.isFaultTolerant()
-
isDisposed
public boolean isDisposed()
- Specified by:
isDisposed
in interfaceTransport
- Returns:
- true if the transport is disposed
-
isConnected
public boolean isConnected()
- Specified by:
isConnected
in interfaceTransport
- Returns:
- true if the transport is connected
-
reconnect
public void reconnect(URI uri) throws IOException
Description copied from interface:Transport
reconnect to another location- Specified by:
reconnect
in interfaceTransport
- Throws:
IOException
- on failure of if not supported
-
getReceiveCounter
public int getReceiveCounter()
Description copied from interface:Transport
Returns a counter which gets incremented as data is read from the transport. It should only be used to determine if there is progress being made in reading the next command from the transport. The value may wrap into the negative numbers.- Specified by:
getReceiveCounter
in interfaceTransport
- Returns:
- a counter which gets incremented as data is read from the transport.
-
isReconnectSupported
public boolean isReconnectSupported()
- Specified by:
isReconnectSupported
in interfaceTransport
- Returns:
- true if reconnect is supported
-
isUpdateURIsSupported
public boolean isUpdateURIsSupported()
- Specified by:
isUpdateURIsSupported
in interfaceTransport
- Returns:
- true if updating uris is supported
-
updateURIs
public void updateURIs(boolean rebalance, URI[] uris) throws IOException
Description copied from interface:Transport
Provide a list of available alternative locations- Specified by:
updateURIs
in interfaceTransport
- Throws:
IOException
-
getPeerCertificates
public X509Certificate[] getPeerCertificates()
- Specified by:
getPeerCertificates
in interfaceTransport
- Returns:
- the Certificates provided by the peer, or null if not a secure channel.
-
setPeerCertificates
public void setPeerCertificates(X509Certificate[] certificates)
Description copied from interface:Transport
Sets the certificates provided by the connected peer.- Specified by:
setPeerCertificates
in interfaceTransport
- Parameters:
certificates
- the Certificates provided by the peer.
-
getWireFormat
public WireFormat getWireFormat()
Description copied from interface:Transport
Retrieves the WireFormat instance associated with this Transport instance.- Specified by:
getWireFormat
in interfaceTransport
- Returns:
- the WireFormat in use.
-
-