Class AutoSslTransportServer
- java.lang.Object
-
- org.apache.activemq.util.ServiceSupport
-
- org.apache.activemq.transport.TransportServerSupport
-
- org.apache.activemq.transport.TransportServerThreadSupport
-
- org.apache.activemq.transport.tcp.TcpTransportServer
-
- org.apache.activemq.transport.auto.AutoTcpTransportServer
-
- org.apache.activemq.transport.auto.AutoSslTransportServer
-
- All Implemented Interfaces:
Runnable,Service,TransportServer,ServiceListener
public class AutoSslTransportServer extends AutoTcpTransportServer
An SSL TransportServer. Allows for client certificate authentication (refer to setNeedClientAuth for details). NOTE: Client certificate authentication is disabled by default.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.activemq.transport.auto.AutoTcpTransportServer
AutoTcpTransportServer.ProtocolInfo
-
Nested classes/interfaces inherited from class org.apache.activemq.transport.tcp.TcpTransportServer
TcpTransportServer.TransportInfo
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.transport.auto.AutoTcpTransportServer
autoTransportOptions, brokerService, enabledProtocols, maxConnectionThreadPoolSize, newConnectionExecutor, protocolDetectionExecutor, protocolDetectionTimeOut, protocolVerifiers, wireFormatOptions
-
Fields inherited from class org.apache.activemq.transport.tcp.TcpTransportServer
allowLinkStealing, backlog, connectionTimeout, currentTransportCount, dynamicManagement, jmxPort, logWriterName, maximumConnections, maxInactivityDuration, maxInactivityDurationInitalDelay, minmumWireFormatVersion, selector, serverSocket, serverSocketFactory, socketBufferSize, socketHandlerThread, socketQueue, soTimeout, startLogging, trace, transportFactory, useQueueForAccept, verifyHostName, wireFormatFactory
-
Fields inherited from class org.apache.activemq.transport.TransportServerSupport
transportOptions
-
-
Constructor Summary
Constructors Constructor Description AutoSslTransportServer(SslTransportFactory transportFactory, URI location, SSLServerSocketFactory serverSocketFactory, BrokerService brokerService, Set<String> enabledProtocols)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbind()Binds this socket to the previously specified URI.protected TcpTransportcreateTransport(Socket socket, WireFormat format, TcpTransportFactory detectedTransportFactory, TcpTransport.InitBuffer initBuffer)Used to create Transports for this server.booleangetNeedClientAuth()Returns whether client authentication should be required.booleangetWantClientAuth()Returns whether client authentication should be requested.booleanisSslServer()For TransportServers that provide SSL connections to their connected peers they should return true here if and only if they populate the ConnectionInfo command presented to the Broker with the peers certificate chain so that the broker knows it can use that information to authenticate the connected peer.voidsetNeedClientAuth(boolean needAuth)Sets whether client authentication should be required Must be called beforebind()Note: Calling this method clears the wantClientAuth flag in the underlying implementation.voidsetWantClientAuth(boolean wantAuth)Sets whether client authentication should be requested.-
Methods inherited from class org.apache.activemq.transport.auto.AutoTcpTransportServer
append, configureTransport, detectProtocol, doStop, findTransportFactory, findWireFormatFactory, getMaxConnectionThreadPoolSize, handleSocket, initOpenWireProtocolVerifier, initProtocolVerifiers, isAllProtocols, setAutoTransportOptions, setEnabledProtocols, setMaxConnectionThreadPoolSize, setProtocolDetectionTimeOut, setWireFormatFactory, setWireFormatOptions, waitForProtocolDetectionFinish
-
Methods inherited from class org.apache.activemq.transport.tcp.TcpTransportServer
createTransport, doHandleSocket, doStart, getBacklog, getConnectionTimeout, getCurrentTransportCount, getJmxPort, getLogWriterName, getMaximumConnections, getMaxInactivityDuration, getMaxInactivityDurationInitalDelay, getMinmumWireFormatVersion, getSocketAddress, getSocketBufferSize, getSoTimeout, getWireFormatFactory, isAllowLinkStealing, isDynamicManagement, isStartLogging, isTrace, isUseQueueForAccept, resolveHostName, run, setAllowLinkStealing, setBacklog, setBrokerInfo, setConnectionTimeout, setDynamicManagement, setJmxPort, setLogWriterName, setMaximumConnections, setMaxInactivityDuration, setMaxInactivityDurationInitalDelay, setMinmumWireFormatVersion, setSocketBufferSize, setSoTimeout, setStartLogging, setTrace, setUseQueueForAccept, started, stopped, toString
-
Methods inherited from class org.apache.activemq.transport.TransportServerThreadSupport
getStackSize, isDaemon, isJoinOnStop, setDaemon, setJoinOnStop, setStackSize
-
Methods inherited from class org.apache.activemq.transport.TransportServerSupport
getAcceptListener, getBindLocation, getConnectURI, onAcceptError, setAcceptListener, setBindLocation, setConnectURI, setTransportOption
-
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, postStop, preStart, removeServiceListener, start, stop
-
-
-
-
Constructor Detail
-
AutoSslTransportServer
public AutoSslTransportServer(SslTransportFactory transportFactory, URI location, SSLServerSocketFactory serverSocketFactory, BrokerService brokerService, Set<String> enabledProtocols) throws IOException, URISyntaxException
- Throws:
IOExceptionURISyntaxException
-
-
Method Detail
-
setNeedClientAuth
public void setNeedClientAuth(boolean needAuth)
Sets whether client authentication should be required Must be called beforebind()Note: Calling this method clears the wantClientAuth flag in the underlying implementation.
-
getNeedClientAuth
public boolean getNeedClientAuth()
Returns whether client authentication should be required.
-
getWantClientAuth
public boolean getWantClientAuth()
Returns whether client authentication should be requested.
-
setWantClientAuth
public void setWantClientAuth(boolean wantAuth)
Sets whether client authentication should be requested. Must be called beforebind()Note: Calling this method clears the needClientAuth flag in the underlying implementation.
-
bind
public void bind() throws IOExceptionBinds this socket to the previously specified URI. Overridden to allow for proper handling of needClientAuth.- Overrides:
bindin classTcpTransportServer- Throws:
IOException- passed up from TcpTransportServer.
-
createTransport
protected TcpTransport createTransport(Socket socket, WireFormat format, TcpTransportFactory detectedTransportFactory, TcpTransport.InitBuffer initBuffer) throws IOException
Used to create Transports for this server. Overridden to allow the use of SslTransports (instead of TcpTransports).- Overrides:
createTransportin classAutoTcpTransportServer- Parameters:
socket- The incoming socket that will be wrapped into the new Transport.format- The WireFormat being used.- Returns:
- The newly return (SSL) Transport.
- Throws:
IOException
-
isSslServer
public boolean isSslServer()
Description copied from interface:TransportServerFor TransportServers that provide SSL connections to their connected peers they should return true here if and only if they populate the ConnectionInfo command presented to the Broker with the peers certificate chain so that the broker knows it can use that information to authenticate the connected peer.- Specified by:
isSslServerin interfaceTransportServer- Overrides:
isSslServerin classTcpTransportServer- Returns:
- true if this transport server provides SSL level security over its connections.
-
-