Apache CXF API

org.apache.cxf.transport.http_jetty
Class JettyHTTPServerEngineFactory

java.lang.Object
  extended by org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory
All Implemented Interfaces:
BusLifeCycleListener
Direct Known Subclasses:
JettyHTTPServerEngineFactoryBeanDefinitionParser.SpringJettyHTTPServerEngineFactory

public class JettyHTTPServerEngineFactory
extends Object
implements BusLifeCycleListener

This Bus Extension handles the configuration of network port numbers for use with "http" or "https". This factory caches the JettyHTTPServerEngines so that they may be retrieved if already previously configured.


Constructor Summary
JettyHTTPServerEngineFactory()
           
JettyHTTPServerEngineFactory(Bus b)
           
JettyHTTPServerEngineFactory(Bus b, Map<String,TLSServerParameters> tls, Map<String,ThreadingParameters> threading)
           
 
Method Summary
 JettyHTTPServerEngine createJettyHTTPServerEngine(int port, String protocol)
          Calls thru to {createJettyHTTPServerEngine(String, int, String) with a 'null' host value
 JettyHTTPServerEngine createJettyHTTPServerEngine(String host, int port, String protocol)
          This call creates a new JettyHTTPServerEngine initialized for "http" or "https" on the given port.
 void destroyForPort(int port)
          This method removes the Server Engine from the port map and stops it.
 Bus getBus()
           
 org.eclipse.jetty.util.component.Container.Listener getMBeanContainer()
           
 Map<String,ThreadingParameters> getThreadingParametersMap()
           
 Map<String,TLSServerParameters> getTlsServerParametersMap()
           
 void initComplete()
          Invoked when the Bus has been initialized.
 void postShutdown()
          Invoked after the Bus is shutdown.
 void preShutdown()
          Invoked before the Bus is shutdown.
 JettyHTTPServerEngine retrieveJettyHTTPServerEngine(int port)
          This call retrieves a previously configured JettyHTTPServerEngine for the given port.
 void setBus(Bus bus)
          This call is used to set the bus.
 void setEnginesList(List<JettyHTTPServerEngine> enginesList)
           
 void setThreadingParametersMap(Map<String,ThreadingParameters> threadingParamsMap)
          This call sets the ThreadingParameters for a JettyHTTPServerEngine
 void setTLSServerParametersForPort(int port, TLSServerParameters tlsParams)
          calls thru to {createJettyHTTPServerEngine(String, int, String) with 'null' for host value
 void setTLSServerParametersForPort(String host, int port, TLSServerParameters tlsParams)
          This call sets TLSServerParameters for a JettyHTTPServerEngine that will be subsequently created.
 void setTlsServerParametersMap(Map<String,TLSServerParameters> tlsParamsMap)
          This call sets TLSParametersMap for a JettyHTTPServerEngine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JettyHTTPServerEngineFactory

public JettyHTTPServerEngineFactory()

JettyHTTPServerEngineFactory

public JettyHTTPServerEngineFactory(Bus b)

JettyHTTPServerEngineFactory

public JettyHTTPServerEngineFactory(Bus b,
                                    Map<String,TLSServerParameters> tls,
                                    Map<String,ThreadingParameters> threading)
Method Detail

setBus

public final void setBus(Bus bus)
This call is used to set the bus. It should only be called once.

Parameters:
bus -

getBus

public Bus getBus()

setTlsServerParametersMap

public void setTlsServerParametersMap(Map<String,TLSServerParameters> tlsParamsMap)
This call sets TLSParametersMap for a JettyHTTPServerEngine


getTlsServerParametersMap

public Map<String,TLSServerParameters> getTlsServerParametersMap()

setEnginesList

public void setEnginesList(List<JettyHTTPServerEngine> enginesList)

setThreadingParametersMap

public void setThreadingParametersMap(Map<String,ThreadingParameters> threadingParamsMap)
This call sets the ThreadingParameters for a JettyHTTPServerEngine


getThreadingParametersMap

public Map<String,ThreadingParameters> getThreadingParametersMap()

setTLSServerParametersForPort

public void setTLSServerParametersForPort(String host,
                                          int port,
                                          TLSServerParameters tlsParams)
                                   throws GeneralSecurityException,
                                          IOException
This call sets TLSServerParameters for a JettyHTTPServerEngine that will be subsequently created. It will not alter an engine that has already been created for that network port.

Parameters:
host - if not null, server will listen on this address/host, otherwise, server will listen on all local addresses.
port - The network port number to bind to the engine.
tlsParams - The tls server parameters. Cannot be null.
Throws:
IOException
GeneralSecurityException

setTLSServerParametersForPort

public void setTLSServerParametersForPort(int port,
                                          TLSServerParameters tlsParams)
                                   throws GeneralSecurityException,
                                          IOException
calls thru to {createJettyHTTPServerEngine(String, int, String) with 'null' for host value

Throws:
GeneralSecurityException
IOException

retrieveJettyHTTPServerEngine

public JettyHTTPServerEngine retrieveJettyHTTPServerEngine(int port)
This call retrieves a previously configured JettyHTTPServerEngine for the given port. If none exists, this call returns null.


createJettyHTTPServerEngine

public JettyHTTPServerEngine createJettyHTTPServerEngine(String host,
                                                         int port,
                                                         String protocol)
                                                  throws GeneralSecurityException,
                                                         IOException
This call creates a new JettyHTTPServerEngine initialized for "http" or "https" on the given port. The determination of "http" or "https" will depend on configuration of the engine's bean name. If an JettyHTTPEngine already exists, or the port is already in use, a BindIOException will be thrown. If the engine is being Spring configured for TLS a GeneralSecurityException may be thrown.

Parameters:
host - if not null, server will listen on this host/address, otherwise server will listen on all local addresses.
port - listen port for server
protocol - "http" or "https"
Returns:
Throws:
GeneralSecurityException
IOException

createJettyHTTPServerEngine

public JettyHTTPServerEngine createJettyHTTPServerEngine(int port,
                                                         String protocol)
                                                  throws GeneralSecurityException,
                                                         IOException
Calls thru to {createJettyHTTPServerEngine(String, int, String) with a 'null' host value

Throws:
GeneralSecurityException
IOException

destroyForPort

public void destroyForPort(int port)
This method removes the Server Engine from the port map and stops it.


getMBeanContainer

public org.eclipse.jetty.util.component.Container.Listener getMBeanContainer()

initComplete

public void initComplete()
Description copied from interface: BusLifeCycleListener
Invoked when the Bus has been initialized.

Specified by:
initComplete in interface BusLifeCycleListener

postShutdown

public void postShutdown()
Description copied from interface: BusLifeCycleListener
Invoked after the Bus is shutdown.

Specified by:
postShutdown in interface BusLifeCycleListener

preShutdown

public void preShutdown()
Description copied from interface: BusLifeCycleListener
Invoked before the Bus is shutdown.

Specified by:
preShutdown in interface BusLifeCycleListener

Apache CXF API

Apache CXF