org.apache.activemq.transport.nio
Class NIOSSLTransport

java.lang.Object
  extended by org.apache.activemq.util.ServiceSupport
      extended by org.apache.activemq.transport.TransportSupport
          extended by org.apache.activemq.transport.TransportThreadSupport
              extended by org.apache.activemq.transport.tcp.TcpTransport
                  extended by org.apache.activemq.transport.nio.NIOTransport
                      extended by org.apache.activemq.transport.nio.NIOSSLTransport
All Implemented Interfaces:
Runnable, Service, Transport
Direct Known Subclasses:
AmqpNioSslTransport, MQTTNIOSSLTransport, StompNIOSSLTransport

public class NIOSSLTransport
extends NIOTransport


Field Summary
protected  String[] enabledCipherSuites
           
protected  boolean handshakeInProgress
           
protected  SSLEngineResult.HandshakeStatus handshakeStatus
           
protected  boolean needClientAuth
           
protected  SSLContext sslContext
           
protected  SSLEngine sslEngine
           
protected  SSLSession sslSession
           
protected  SSLEngineResult.Status status
           
protected  TaskRunnerFactory taskRunnerFactory
           
protected  boolean wantClientAuth
           
 
Fields inherited from class org.apache.activemq.transport.nio.NIOTransport
channel, currentBuffer, inputBuffer, nextFrameSize, selection
 
Fields inherited from class org.apache.activemq.transport.tcp.TcpTransport
buffOut, closeAsync, connectionTimeout, dataIn, dataOut, diffServChosen, dynamicManagement, ioBufferSize, jmxPort, localLocation, logWriterName, minmumWireFormatVersion, receiveCounter, remoteLocation, socket, socketBufferSize, socketFactory, soTimeout, startLogging, stoppedLatch, trace, trafficClass, typeOfServiceChosen, useLocalHost, wireFormat
 
Constructor Summary
NIOSSLTransport(WireFormat wireFormat, Socket socket)
           
NIOSSLTransport(WireFormat wireFormat, SocketFactory socketFactory, URI remoteLocation, URI localLocation)
           
 
Method Summary
 void doConsume(Object command)
          Overriding in order to add the client's certificates to ConnectionInfo Commands.
protected  void doHandshake()
           
protected  void doStart()
           
protected  void doStop(ServiceStopper stopper)
           
protected  void finishHandshake()
           
 String[] getEnabledCipherSuites()
           
 X509Certificate[] getPeerCertificates()
           
protected  void initializeStreams()
           
 boolean isNeedClientAuth()
           
 boolean isWantClientAuth()
           
protected  void processCommand(ByteBuffer plain)
           
protected  int secureRead(ByteBuffer plain)
           
protected  void serviceRead()
           
 void setEnabledCipherSuites(String[] enabledCipherSuites)
           
 void setNeedClientAuth(boolean needClientAuth)
           
 void setSslContext(SSLContext sslContext)
           
 void setWantClientAuth(boolean wantClientAuth)
           
 
Methods inherited from class org.apache.activemq.transport.tcp.TcpTransport
closeStreams, connect, doRun, getConnectionTimeout, getDiffServ, getIoBufferSize, getJmxPort, getKeepAlive, getLogWriterName, getMinmumWireFormatVersion, getReceiveCounter, getRemoteAddress, getSocketBufferSize, getSoLinger, getSoTimeout, getTcpNoDelay, getTypeOfService, getWireFormat, initialiseSocket, isCloseAsync, isDynamicManagement, isStartLogging, isTrace, isUseLocalHost, narrow, oneway, readCommand, resolveHostName, run, setCloseAsync, setConnectionTimeout, setDiffServ, setDynamicManagement, setIoBufferSize, setJmxPort, setKeepAlive, setLogWriterName, setMinmumWireFormatVersion, setSocketBufferSize, setSocketOptions, setSoLinger, setSoTimeout, setStartLogging, setTcpNoDelay, setTrace, setTypeOfService, setUseLocalHost, stop, toString
 
Methods inherited from class org.apache.activemq.transport.TransportThreadSupport
getStackSize, isDaemon, setDaemon, setStackSize
 
Methods inherited from class org.apache.activemq.transport.TransportSupport
asyncRequest, checkStarted, getTransportListener, isConnected, isDisposed, isFaultTolerant, isReconnectSupported, isUpdateURIsSupported, onException, reconnect, request, request, setTransportListener, updateURIs
 
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, postStop, preStart, removeServiceListener, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.activemq.transport.Transport
asyncRequest, getTransportListener, isConnected, isDisposed, isFaultTolerant, isReconnectSupported, isUpdateURIsSupported, reconnect, request, request, setTransportListener, updateURIs
 
Methods inherited from interface org.apache.activemq.Service
start
 

Field Detail

needClientAuth

protected boolean needClientAuth

wantClientAuth

protected boolean wantClientAuth

enabledCipherSuites

protected String[] enabledCipherSuites

sslContext

protected SSLContext sslContext

sslEngine

protected SSLEngine sslEngine

sslSession

protected SSLSession sslSession

handshakeInProgress

protected volatile boolean handshakeInProgress

status

protected SSLEngineResult.Status status

handshakeStatus

protected SSLEngineResult.HandshakeStatus handshakeStatus

taskRunnerFactory

protected TaskRunnerFactory taskRunnerFactory
Constructor Detail

NIOSSLTransport

public NIOSSLTransport(WireFormat wireFormat,
                       SocketFactory socketFactory,
                       URI remoteLocation,
                       URI localLocation)
                throws UnknownHostException,
                       IOException
Throws:
UnknownHostException
IOException

NIOSSLTransport

public NIOSSLTransport(WireFormat wireFormat,
                       Socket socket)
                throws IOException
Throws:
IOException
Method Detail

setSslContext

public void setSslContext(SSLContext sslContext)

initializeStreams

protected void initializeStreams()
                          throws IOException
Overrides:
initializeStreams in class NIOTransport
Throws:
IOException

finishHandshake

protected void finishHandshake()
                        throws Exception
Throws:
Exception

serviceRead

protected void serviceRead()
Overrides:
serviceRead in class NIOTransport

processCommand

protected void processCommand(ByteBuffer plain)
                       throws Exception
Throws:
Exception

secureRead

protected int secureRead(ByteBuffer plain)
                  throws Exception
Throws:
Exception

doHandshake

protected void doHandshake()
                    throws Exception
Throws:
Exception

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class NIOTransport
Throws:
Exception

doStop

protected void doStop(ServiceStopper stopper)
               throws Exception
Overrides:
doStop in class NIOTransport
Throws:
Exception

doConsume

public void doConsume(Object command)
Overriding in order to add the client's certificates to ConnectionInfo Commands.

Overrides:
doConsume in class TransportSupport
Parameters:
command - The Command coming in.

getPeerCertificates

public X509Certificate[] getPeerCertificates()
Returns:
peer certificate chain associated with the ssl socket

isNeedClientAuth

public boolean isNeedClientAuth()

setNeedClientAuth

public void setNeedClientAuth(boolean needClientAuth)

isWantClientAuth

public boolean isWantClientAuth()

setWantClientAuth

public void setWantClientAuth(boolean wantClientAuth)

getEnabledCipherSuites

public String[] getEnabledCipherSuites()

setEnabledCipherSuites

public void setEnabledCipherSuites(String[] enabledCipherSuites)


Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.