org.mortbay.http.ajp

Class AJP13Listener

public class AJP13Listener extends ThreadedServer implements HttpListener

AJP 1.3 Protocol Listener. This listener takes requests from the mod_jk or mod_jk2 modules used by web servers such as apache and IIS to forward requests to a servlet container.

This code uses the AJP13 code from tomcat3.3 as the protocol specification, but is new implementation.

Version: $Id: AJP13Listener.java,v 1.20 2006/10/08 14:13:05 gregwilkins Exp $

Author: Greg Wilkins (gregw)

Constructor Summary
AJP13Listener()
AJP13Listener(InetAddrPort address)
Method Summary
protected AJP13ConnectioncreateConnection(Socket socket)
Create an AJP13Connection instance.
voidcustomizeRequest(HttpConnection connection, HttpRequest request)
Customize the request from connection.
protected voidcustomizeRequest(Socket socket, HttpRequest request)
Customize request from socket.
intgetBufferReserve()
intgetBufferSize()
intgetConfidentialPort()
StringgetConfidentialScheme()
StringgetDefaultScheme()
HttpHandlergetHttpHandler()
HttpServergetHttpServer()
booleangetIdentifyListener()
intgetIntegralPort()
StringgetIntegralScheme()
String[]getRemoteServers()
voidhandleConnection(Socket socket)
Handle Job.
booleanisConfidential(HttpConnection connection)
booleanisIntegral(HttpConnection connection)
booleanisLowOnResources()
booleanisOutOfResources()
voidpersistConnection(HttpConnection connection)
Persist the connection.
voidsetBufferReserve(int size)
voidsetBufferSize(int size)
voidsetConfidentialPort(int confidentialPort)
voidsetConfidentialScheme(String confidentialScheme)
voidsetHttpHandler(HttpHandler handler)
voidsetHttpServer(HttpServer server)
voidsetIdentifyListener(boolean identifyListener)
voidsetIntegralPort(int integralPort)
voidsetIntegralScheme(String integralScheme)
voidsetRemoteServers(String[] servers)
Set accepted remote servers.
voidstart()
voidstop()

Constructor Detail

AJP13Listener

public AJP13Listener()

AJP13Listener

public AJP13Listener(InetAddrPort address)

Method Detail

createConnection

protected AJP13Connection createConnection(Socket socket)
Create an AJP13Connection instance. This method can be used to override the connection instance.

Parameters: socket The underlying socket.

customizeRequest

public void customizeRequest(HttpConnection connection, HttpRequest request)
Customize the request from connection. This method extracts the socket from the connection and calls the customizeRequest(Socket,HttpRequest) method.

Parameters: request

customizeRequest

protected void customizeRequest(Socket socket, HttpRequest request)
Customize request from socket. Derived versions of SocketListener may specialize this method to customize the request with attributes of the socket used (eg SSL session ids).

Parameters: request

getBufferReserve

public int getBufferReserve()

getBufferSize

public int getBufferSize()

getConfidentialPort

public int getConfidentialPort()

getConfidentialScheme

public String getConfidentialScheme()

getDefaultScheme

public String getDefaultScheme()

getHttpHandler

public HttpHandler getHttpHandler()

getHttpServer

public HttpServer getHttpServer()

getIdentifyListener

public boolean getIdentifyListener()

getIntegralPort

public int getIntegralPort()

getIntegralScheme

public String getIntegralScheme()

getRemoteServers

public String[] getRemoteServers()

Returns: Array of accepted remote server hostnames or IPs.

handleConnection

public void handleConnection(Socket socket)
Handle Job. Implementation of ThreadPool.handle(), calls handleConnection.

Parameters: socket A Connection.

isConfidential

public boolean isConfidential(HttpConnection connection)

isIntegral

public boolean isIntegral(HttpConnection connection)

isLowOnResources

public boolean isLowOnResources()

Returns: True if low on idle threads.

isOutOfResources

public boolean isOutOfResources()

Returns: True if out of resources.

persistConnection

public void persistConnection(HttpConnection connection)
Persist the connection.

Parameters: connection

setBufferReserve

public void setBufferReserve(int size)

setBufferSize

public void setBufferSize(int size)

setConfidentialPort

public void setConfidentialPort(int confidentialPort)

setConfidentialScheme

public void setConfidentialScheme(String confidentialScheme)

setHttpHandler

public void setHttpHandler(HttpHandler handler)

setHttpServer

public void setHttpServer(HttpServer server)

setIdentifyListener

public void setIdentifyListener(boolean identifyListener)

Parameters: identifyListener If true, the listener name is added to all requests as the org.mortbay.http.HttListener attribute

setIntegralPort

public void setIntegralPort(int integralPort)

setIntegralScheme

public void setIntegralScheme(String integralScheme)

setRemoteServers

public void setRemoteServers(String[] servers)
Set accepted remote servers. The AJP13 protocol is not secure and contains no authentication. If remote servers are set, then this listener will only accept connections from hosts with matching addresses or hostnames.

Parameters: servers Array of accepted remote server hostnames or IPs

start

public void start()

stop

public void stop()
Copyright © 2004 Mortbay Consulting Pty. Ltd. All Rights Reserved.