in proxy/src/main/java/flex/messaging/services/http/HTTPProxyAdapter.java [137:276]
public void initialize(String id, ConfigMap properties) {
super.initialize(id, properties);
if (properties == null || properties.size() == 0)
return;
// Connection Manager
ConfigMap conn = properties.getPropertyAsMap(HTTPConnectionManagerSettings.CONNECTION_MANAGER, null);
if (conn != null) {
// Cookie policy.
if (conn.getProperty(HTTPConnectionManagerSettings.COOKIE_POLICY) != null) {
}
// Max Connections Total
if (conn.getProperty(HTTPConnectionManagerSettings.MAX_TOTAL_CONNECTIONS) != null) {
}
// Default Max Connections Per Host
if (conn.getProperty(HTTPConnectionManagerSettings.DEFAULT_MAX_CONNECTIONS_PER_HOST) != null) {
}
// Connection Timeout
if (conn.getProperty(HTTPConnectionManagerSettings.CONNECTION_TIMEOUT) != null) {
}
// Socket Timeout
if (conn.getProperty(HTTPConnectionManagerSettings.SOCKET_TIMEOUT) != null) {
}
// Stale Checking
if (conn.getProperty(HTTPConnectionManagerSettings.STALE_CHECKING_ENABLED) != null) {
}
// Send Buffer Size
if (conn.getProperty(HTTPConnectionManagerSettings.SEND_BUFFER_SIZE) != null) {
}
// Send Receive Size
if (conn.getProperty(HTTPConnectionManagerSettings.RECEIVE_BUFFER_SIZE) != null) {
}
// TCP No Delay (Nagel's Algorithm)
if (conn.getProperty(HTTPConnectionManagerSettings.TCP_NO_DELAY) != null) {
}
// Linger
if (conn.getProperty(HTTPConnectionManagerSettings.LINGER) != null) {
}
// Max Connections Per Host
List hosts = conn.getPropertyAsList(HTTPConnectionManagerSettings.MAX_PER_HOST, null);
if (hosts != null) {
List hostSettings = new ArrayList();
Iterator it = hosts.iterator();
while (it.hasNext()) {
ConfigMap maxPerHost = (ConfigMap) it.next();
HostConfigurationSettings hostConfig = new HostConfigurationSettings();
// max-connections
if (maxPerHost.getProperty(HostConfigurationSettings.MAX_CONNECTIONS) != null) {
}
// host
if (maxPerHost.getProperty(HostConfigurationSettings.HOST) != null) {
String host = maxPerHost.getPropertyAsString(HostConfigurationSettings.HOST, null);
hostConfig.setHost(host);
if (host != null) {
// port
int port = maxPerHost.getPropertyAsInt(HostConfigurationSettings.PORT, 0);
hostConfig.setPort(port);
// protocol-factory
ConfigMap factoryMap = maxPerHost.getPropertyAsMap(HostConfigurationSettings.PROTOCOL_FACFORY, null);
if (factoryMap != null) {
String className = factoryMap.getPropertyAsString(CLASS, null);
if (className != null) {
Class factoryClass = ClassUtil.createClass(className);
ProtocolFactory protocolFactory = (ProtocolFactory) ClassUtil.createDefaultInstance(factoryClass, ProtocolFactory.class);
String factoryId = factoryMap.getPropertyAsString(ID, host + "_protocol_factory");
ConfigMap protocolProperties = factoryMap.getPropertyAsMap(PROPERTIES, null);
protocolFactory.initialize(factoryId, protocolProperties);
}
}
// protocol
else {
String protocol = maxPerHost.getPropertyAsString(HostConfigurationSettings.PROTOCOL, null);
hostConfig.setProtocol(protocol);
}
}
}
// proxy
ConfigMap proxy = maxPerHost.getPropertyAsMap(HostConfigurationSettings.PROXY, null);
if (proxy != null) {
// host
String proxyHost = proxy.getPropertyAsString(HostConfigurationSettings.HOST, null);
hostConfig.setProxyHost(proxyHost);
if (proxyHost != null) {
// port
int port = proxy.getPropertyAsInt(HostConfigurationSettings.PORT, 0);
hostConfig.setProxyPort(port);
}
}
// local-address
if (maxPerHost.getProperty(HostConfigurationSettings.LOCAL_ADDRESS) != null) {
String localAddress = maxPerHost.getPropertyAsString(HostConfigurationSettings.LOCAL_ADDRESS, null);
hostConfig.setLocalAddress(localAddress);
}
// virtual-host
if (maxPerHost.getProperty(HostConfigurationSettings.VIRTUAL_HOST) != null) {
String virtualHost = maxPerHost.getPropertyAsString(HostConfigurationSettings.VIRTUAL_HOST, null);
hostConfig.setVirtualHost(virtualHost);
}
hostSettings.add(hostConfig);
}
if (hostSettings.size() > 0)
connectionManagerSettings.setMaxConnectionsPerHost(hostSettings);
}
}
// Cookie Limit
if (properties.getProperty(COOKIE_LIMIT) != null) {
}
// Allow Lax SSL
if (properties.getProperty(ALLOW_LAX_SSL) != null) {
}
// Content Chunked
if (properties.getProperty(CONTENT_CHUNKED) != null) {
}
// External Proxy
ConfigMap extern = properties.getPropertyAsMap(ExternalProxySettings.EXTERNAL_PROXY, null);
if (extern != null) {
}
}