You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ge...@apache.org on 2008/08/07 14:41:41 UTC
svn commit: r683602 [1/2] - in
/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http:
./ endpoints/
Author: gertv
Date: Thu Aug 7 05:41:41 2008
New Revision: 683602
URL: http://svn.apache.org/viewvc?rev=683602&view=rev
Log:
SM-1493: Improve the generated documentation for the http component
Modified:
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/BasicAuthCredentials.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpComponent.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpConfiguration.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpEndpoint.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/ProxyParameters.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapProviderEndpoint.java
servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/SerializedMarshaler.java
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/BasicAuthCredentials.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/BasicAuthCredentials.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/BasicAuthCredentials.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/BasicAuthCredentials.java Thu Aug 7 05:41:41 2008
@@ -28,8 +28,8 @@
/**
* @author roehl.sioson
- * @org.apache.xbean.XBean element="basicAuthCredentials"
- * description="This class contains parameters needed to send basic authentication credentials"
+ * @org.apache.xbean.XBean element="basicAuthCredentials" description=
+ * "This class contains parameters needed to send basic authentication credentials"
*/
public class BasicAuthCredentials {
@@ -40,63 +40,76 @@
}
/**
- * @return Returns the username.
+ * Returns the username for authentication.
+ *
+ * @return an <code>Expression</code> containing the username
*/
public Expression getUsername() {
return username;
}
/**
- * @param ssl The username to set.
+ * Sets the username to use for authentocation.
+ *
+ * @param username am <code>Expression</code> containing the username.
+ * @org.apache.xbean.Property description="the username to use for authentication"
*/
public void setUsername(Expression username) {
this.username = username;
}
/**
- * @return Returns the password.
+ * Returns the password for authentication.
+ *
+ * @return an <code>Expression</code> containing the password
*/
public Expression getPassword() {
return password;
}
/**
- * @param ssl The password to set.
+ * Sets the password to use for authentocation.
+ *
+ * @param password am <code>Expression</code> containing the password.
+ * @org.apache.xbean.Property description="the password to use for authentication"
*/
public void setPassword(Expression password) {
this.password = password;
}
-
/**
* Applies this authentication to the given method.
- *
+ *
* @param client the client on which to set the authentication information
* @param exchange the message exchange to be used for evaluating the expression
* @param message the normalized message to be used for evaluating the expression
* @throws MessagingException if the correct value for username/password cannot be determined when using an expression
*/
- public void applyCredentials(HttpClient client, MessageExchange exchange, NormalizedMessage message) throws MessagingException {
+ public void applyCredentials(HttpClient client, MessageExchange exchange, NormalizedMessage message)
+ throws MessagingException {
AuthScope scope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT);
- Credentials credentials =
- new UsernamePasswordCredentials((String) this.username.evaluate(exchange, message),
- (String) this.password.evaluate(exchange, message));
+ Credentials credentials = new UsernamePasswordCredentials((String)this.username.evaluate(exchange,
+ message),
+ (String)this.password.evaluate(exchange,
+ message));
client.getState().setCredentials(scope, credentials);
}
/**
* Applies this authentication to the given method.
- *
+ *
* @param client the client on which to set the authentication information
* @param exchange the message exchange to be used for evaluating the expression
* @param message the normalized message to be used for evaluating the expression
* @throws MessagingException if the correct value for user name/password cannot be determined when using an expression
*/
- public void applyProxyCredentials(HttpClient client, MessageExchange exchange, NormalizedMessage message) throws MessagingException {
+ public void applyProxyCredentials(HttpClient client, MessageExchange exchange, NormalizedMessage message)
+ throws MessagingException {
AuthScope scope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT);
- Credentials credentials =
- new UsernamePasswordCredentials((String) this.username.evaluate(exchange, message),
- (String) this.password.evaluate(exchange, message));
+ Credentials credentials = new UsernamePasswordCredentials((String)this.username.evaluate(exchange,
+ message),
+ (String)this.password.evaluate(exchange,
+ message));
client.getState().setProxyCredentials(scope, credentials);
}
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpComponent.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpComponent.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpComponent.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpComponent.java Thu Aug 7 05:41:41 2008
@@ -43,9 +43,11 @@
import org.mortbay.thread.BoundedThreadPool;
/**
+ * an HTTP JBI component
*
* @author gnodet
- * @org.apache.xbean.XBean element="component" description="An http component"
+ * @org.apache.xbean.XBean element="component"
+ * description="an HTTP JBI component. The component is responsible for hosting HTTP endpoints."
*/
public class HttpComponent extends DefaultComponent {
@@ -68,15 +70,19 @@
protected String path;
/**
- * @return the host
+ * Returns the host name.
+ *
+ * @return a string contianing the host name
*/
public String getHost() {
return host;
}
/**
- * @param host
- * the host to set
+ * Sets the host name.
+ *
+ * @param host a string specifying the host name
+ * @org.apache.xbean.Property description="the host name"
*/
public void setHost(String host) {
this.host = host;
@@ -90,8 +96,7 @@
}
/**
- * @param path
- * the path to set
+ * @param path the path to set
*/
public void setPath(String path) {
this.path = path;
@@ -105,8 +110,8 @@
}
/**
- * @param port
- * the port to set
+ * @param port the port to set
+ * @org.apache.xbean.Property description="the port number. The default is 80."
*/
public void setPort(int port) {
this.port = port;
@@ -120,8 +125,8 @@
}
/**
- * @param protocol
- * the protocol to set
+ * @param protocol the protocol to set
+ * @org.apache.xbean.Property description="the protocol being used. Valid values are <code>http:</code> and <code>https:</code>"
*/
public void setProtocol(String protocol) {
this.protocol = protocol;
@@ -135,8 +140,8 @@
}
/**
- * @param endpoints
- * the endpoints to set
+ * @param endpoints the endpoints to set
+ * @org.apache.xbean.Property description="the endpoints hosted by a component"
*/
public void setEndpoints(HttpEndpointType[] endpoints) {
this.endpoints = endpoints;
@@ -154,6 +159,10 @@
return client;
}
+ /**
+ * @param client the HTTP client instance used by the component
+ * @org.apache.xbean.Property description="the Apache Commons HTTP client used by a component"
+ */
public void setClient(HttpClient client) {
this.client = client;
}
@@ -161,18 +170,24 @@
public org.mortbay.jetty.client.HttpClient getConnectionPool() {
return connectionPool;
}
-
+
public org.mortbay.jetty.client.HttpClient getNewJettyClient(HttpComponent comp) throws Exception {
org.mortbay.jetty.client.HttpClient tempClient = new org.mortbay.jetty.client.HttpClient();
BoundedThreadPool btp = new BoundedThreadPool();
btp.setMaxThreads(comp.getConfiguration().getJettyClientThreadPoolSize());
tempClient.setThreadPool(btp);
- tempClient.setConnectorType
- (org.mortbay.jetty.client.HttpClient.CONNECTOR_SELECT_CHANNEL);
+ tempClient.setConnectorType(org.mortbay.jetty.client.HttpClient.CONNECTOR_SELECT_CHANNEL);
tempClient.start();
return tempClient;
}
-
+
+ /**
+ * Sets the connection pool used by the component. The connection pool is a Jetty HTTP client instance with a thread pool set
+ * using the HTTP component's <code>jettyClientThreadPoolSize</code> property.
+ *
+ * @param connectionPool a Jetty <code>HttpClient</code>
+ * @org.apache.xbean.Property description="a Jetty HTTP client instance maintaining a thread pool for client-side connections"
+ */
public void setConnectionPool(org.mortbay.jetty.client.HttpClient connectionPool) {
this.connectionPool = connectionPool;
}
@@ -185,13 +200,17 @@
return configuration;
}
+ /**
+ * @param configuration an <code>HttpConfiguration</code> object containing the configuration information needed to establish
+ * HTTP connections
+ * @org.apache.xbean.Property description="the HTTP configuration information used to establish HTTP connections"
+ */
public void setConfiguration(HttpConfiguration configuration) {
this.configuration = configuration;
}
/*
* (non-Javadoc)
- *
* @see org.servicemix.common.BaseComponentLifeCycle#getExtensionMBean()
*/
protected Object getExtensionMBean() throws Exception {
@@ -221,7 +240,8 @@
configuration.setAuthenticationService(as);
} catch (Throwable e) {
try {
- Class cl = Class.forName("org.apache.servicemix.jbi.security.auth.impl.JAASAuthenticationService");
+ Class cl = Class
+ .forName("org.apache.servicemix.jbi.security.auth.impl.JAASAuthenticationService");
configuration.setAuthenticationService(cl.newInstance());
} catch (Throwable t) {
logger.warn("Unable to retrieve or create the authentication service");
@@ -252,7 +272,6 @@
server.setConfiguration(configuration);
server.init();
}
-
protected void doShutDown() throws Exception {
super.doShutDown();
@@ -314,8 +333,8 @@
}
/**
- * @param keystoreManager
- * the keystoreManager to set
+ * @param keystoreManager the keystoreManager to set
+ * @org.apache.xbean.Property description="the keystore manager object used by a component"
*/
public void setKeystoreManager(Object keystoreManager) {
this.configuration.setKeystoreManager(keystoreManager);
@@ -329,16 +348,16 @@
}
/**
- * @param authenticationService
- * the authenticationService to set
+ * @param authenticationService the authenticationService to set
+ * @org.apache.xbean.Property description="the authentication service object used by a component"
*/
public void setAuthenticationService(Object authenticationService) {
this.configuration.setAuthenticationService(authenticationService);
}
/**
- * When servicemix-http is embedded inside a web application and configured to reuse the existing servlet container,
- * this method will create and return the HTTPProcessor which will handle all servlet calls
+ * When servicemix-http is embedded inside a web application and configured to reuse the existing servlet container, this method
+ * will create and return the HTTPProcessor which will handle all servlet calls
*/
public HttpProcessor getMainProcessor() {
return server.getMainProcessor();
@@ -346,13 +365,11 @@
/*
* (non-Javadoc)
- *
* @see org.servicemix.common.BaseComponent#createServiceUnitManager()
*/
public BaseServiceUnitManager createServiceUnitManager() {
- Deployer[] deployers =
- new Deployer[] {new BaseXBeanDeployer(this, getEndpointClasses()),
- new HttpWsdl1Deployer(this)};
+ Deployer[] deployers = new Deployer[] {new BaseXBeanDeployer(this, getEndpointClasses()),
+ new HttpWsdl1Deployer(this)};
return new BaseServiceUnitManager(this, deployers);
}
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpConfiguration.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpConfiguration.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpConfiguration.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpConfiguration.java Thu Aug 7 05:41:41 2008
@@ -26,16 +26,19 @@
import org.mortbay.jetty.nio.SelectChannelConnector;
/**
+ * Class to hold the configuration for the Jetty instance used by an HTTP
+ * endpoint.
*
* @author gnodet
* @org.apache.xbean.XBean element="configuration"
+ * description="configuration for the Jetty instance used by an HTTP endpoint"
*/
public class HttpConfiguration implements HttpConfigurationMBean {
public static final String DEFAULT_JETTY_CONNECTOR_CLASS_NAME = SelectChannelConnector.class.getName();
public static final String MAPPING_DEFAULT = "/jbi";
- public static final String CONFIG_FILE = "component.properties";
-
+ public static final String CONFIG_FILE = "component.properties";
+
private String rootDir;
private String componentName = "servicemix-http";
private Properties properties = new Properties();
@@ -43,96 +46,98 @@
private String jettyConnectorClassName = DEFAULT_JETTY_CONNECTOR_CLASS_NAME;
private transient Object keystoreManager;
private transient Object authenticationService;
-
+
/**
* The JNDI name of the AuthenticationService object
*/
private String authenticationServiceName = "java:comp/env/smx/AuthenticationService";
-
+
/**
* The JNDI name of the KeystoreManager object
*/
private String keystoreManagerName = "java:comp/env/smx/KeystoreManager";
/**
- * The maximum number of threads for the Jetty thread pool. It's set
- * to 255 by default to match the default value in Jetty.
+ * The maximum number of threads for the Jetty thread pool. It's set to 255
+ * by default to match the default value in Jetty.
*/
private int jettyThreadPoolSize = 255;
/**
- * The maximum number of threads for the jetty client thread pool.
- * It's set to 16 to match the default value in Jetty.
+ * The maximum number of threads for the jetty client thread pool. It's set
+ * to 16 to match the default value in Jetty.
*/
private int jettyClientThreadPoolSize = 16;
-
- /**
- * Configuration to switch from shared jetty client for all HttpProviderEndpoints to
- * jetty client per HttpProviderEndpoint. It's default value is false.
+
+ /**
+ * Configuration to switch from shared jetty client for all
+ * HttpProviderEndpoints to jetty client per HttpProviderEndpoint. It's
+ * default value is false.
*/
-
+
private boolean jettyClientPerProvider;
-
+
/**
* Maximum number of concurrent requests to the same host.
*/
private int maxConnectionsPerHost = 65536;
-
+
/**
* Maximum number of concurrent requests.
*/
private int maxTotalConnections = 65536;
-
+
/**
* If true, use register jetty mbeans
*/
private boolean jettyManagement;
-
+
/**
- * If the component is deployed in a web container and uses
- * a servlet instead of starting its own web server.
+ * If the component is deployed in a web container and uses a servlet
+ * instead of starting its own web server.
*/
private boolean managed;
-
+
/**
- * When managed is true, this is the servlet mapping used
- * to access the component.
+ * When managed is true, this is the servlet mapping used to access the
+ * component.
*/
private transient String mapping = MAPPING_DEFAULT;
/**
- * Jetty connector max idle time
- * (default value in jetty is 30000msec)
+ * Jetty connector max idle time (default value in jetty is 30000msec)
**/
private int connectorMaxIdleTime = 30000;
/**
- * HttpConsumerProcessor continuation suspend time
- * (default value in servicemix is 60000msec)
+ * HttpConsumerProcessor continuation suspend time (default value in
+ * servicemix is 60000msec)
*/
private int consumerProcessorSuspendTime = 60000;
/**
- * Number of times a given HTTP request will be tried
- * until successful. If streaming is enabled, the value
- * will always be 0.
+ * Number of times a given HTTP request will be tried until successful. If
+ * streaming is enabled, the value will always be 0.
*/
private int retryCount = 3;
-
+
/**
- * Proxy hostname. Component wide configuration, used either for http or https connections. Can be overriden on a endpoint basis.
+ * Proxy hostname. Component wide configuration, used either for http or
+ * https connections. Can be overriden on a endpoint basis.
*/
private String proxyHost;
-
+
/**
- * Proxy listening port. Component wide configuration, used either for http or https connections. Can be overriden on a endpoint basis.
+ * Proxy listening port. Component wide configuration, used either for http
+ * or https connections. Can be overriden on a endpoint basis.
*/
private int proxyPort;
/**
- * This field is used to decide if the http prover processor can copy the http headers from the http response
- * into the exchange as property. Be careful if the headers will be used for a new http reuquest, it leads to an
- * error.
+ * This field is used to decide if the http provider processor can copy the
+ * http headers from the http response into the exchange as property. Be
+ * careful if the headers will be used for a new http reuquest, it leads to
+ * an error.
*/
private boolean wantHeadersFromHttpIntoExchange;
@@ -215,28 +220,44 @@
}
/**
- * @return the authenticationService
+ * Gets the authentication service being used.
+ *
+ * @return the authenticationService object
*/
public Object getAuthenticationService() {
return authenticationService;
}
/**
- * @param authenticationService the authenticationService to set
+ * Directly sets the authenitcation service object to be used for
+ * authentication. This object takes precedence over the JNDI name specified
+ * by <code>setAuthenticationServiceName</code>.
+ *
+ * @param authenticationService the authenticationService object
+ * @org.apache.xbean.Property description=
+ * "the authentication service object. This property takes precedence over
+ * <code>authenticationServiceName</code>."
*/
public void setAuthenticationService(Object authenticationService) {
this.authenticationService = authenticationService;
}
/**
- * @return the authenticationServiceName
+ * Gets the JNDI name of the authentication service object.
+ *
+ * @return a string representing the JNDI name for the authentication
+ * service object.
*/
public String getAuthenticationServiceName() {
return authenticationServiceName;
}
/**
- * @param authenticationServiceName the authenticationServiceName to set
+ * Sets the JNDI name of the authentication service object.
+ *
+ * @param authenticationServiceName a string representing the JNDI name for
+ * the authentication service object.
+ * @org.apache.xbean.Property description="the JNDI name of the authentication service object. The default is java:comp/env/smx/AuthenticationService."
*/
public void setAuthenticationServiceName(String authenticationServiceName) {
this.authenticationServiceName = authenticationServiceName;
@@ -244,124 +265,286 @@
}
/**
- * @return the keystoreManager
+ * Gets the object used as the keystore manager.
+ *
+ * @return the keystoreManager object
*/
public Object getKeystoreManager() {
return keystoreManager;
}
/**
- * @param keystoreManager the keystoreManager to set
+ * Directly sets the keystore manager object to be used for authentication.
+ * This object takes precedence over the JNDI name specified by
+ * <code>setKeystoreManagerName</code>.
+ *
+ * @param keystoreManager the keystoreManager object
+ * @org.apache.xbean.Property
+ * description="the keystore object. This property takes precedence over
+ * <code>keystoreManagerName</code>."
*/
public void setKeystoreManager(Object keystoreManager) {
this.keystoreManager = keystoreManager;
}
/**
- * @return the keystoreManagerName
+ * Gets the JNDI name of the keystore manager object.
+ *
+ * @return a string representing the JNDI name for the keystore manager
+ * object.
*/
public String getKeystoreManagerName() {
return keystoreManagerName;
}
/**
- * @param keystoreManagerName the keystoreManagerName to set
+ * Sets the JNDI name of the keystore manager object.
+ *
+ * @param keystoreManagerName a string representing the JNDI name for the
+ * keystore manager object.
+ * @org.apache.xbean.Property description="the JNDI name of the keystore manager object. The default is java:comp/env/smx/KeystoreManager."
*/
public void setKeystoreManagerName(String keystoreManagerName) {
this.keystoreManagerName = keystoreManagerName;
save();
}
+ /**
+ * Determines if client-side requests use HTTP streaming.
+ *
+ * @return true if client-side requests use streaming
+ */
public boolean isStreamingEnabled() {
return streamingEnabled;
}
+ /**
+ * Sets whether or not client-side requests use HTTP streaming.
+ *
+ * @param streamingEnabled Set to true to enable client-side HTTP streaming.
+ * @org.apache.xbean.Property
+ * description="Specifies if client-side requests use HTTP streaming."
+ */
public void setStreamingEnabled(boolean streamingEnabled) {
this.streamingEnabled = streamingEnabled;
save();
}
+ /**
+ * Returns the name of the class implementing the Jetty connector used by an
+ * HTTP endpoint.
+ *
+ * @return a string representing the classname of the Jetty conector being
+ * used
+ */
public String getJettyConnectorClassName() {
return jettyConnectorClassName;
}
+ /**
+ * Sets the classname of the Jetty connector used by an HTTP endpoint.
+ *
+ * @param jettyConnectorClassName a String representing the classname of the
+ * Jetty connector to use.
+ * @org.apache.xbean.Property
+ * description="the classname of the Jetty connector used by the endpoint"
+ */
public void setJettyConnectorClassName(String jettyConnectorClassName) {
this.jettyConnectorClassName = jettyConnectorClassName;
save();
}
+ /**
+ * Gets the number of maximum number of threads in the server-side
+ * threadpool.
+ *
+ * @return an integer representing the maximum number of threads in the
+ * server-side threadpool
+ */
public int getJettyThreadPoolSize() {
return jettyThreadPoolSize;
}
+ /**
+ * Sets the maximum number of threads in the server-side thread pool. The
+ * default is 255 to match Jetty's default setting.
+ *
+ * @param jettyThreadPoolSize an integer representing the maximum number of
+ * threads in the server-side thread pool
+ * @org.apache.xbean.Property description="the maximum number of threads in the server-side threadpool. The default setting is 255."
+ */
public void setJettyThreadPoolSize(int jettyThreadPoolSize) {
this.jettyThreadPoolSize = jettyThreadPoolSize;
save();
}
+ /**
+ * Get the maximum number of threads in the client-side thread pool.
+ *
+ * @return an int representing the maximum number of threads in the
+ * client-side thread pool.
+ */
public int getJettyClientThreadPoolSize() {
return jettyClientThreadPoolSize;
}
+ /**
+ * Sets the maximum number of threads in the client-side thread pool.
+ *
+ * @param jettyClientThreadPoolSize an int specifiying the maximum number of
+ * threads available in the client-side thread pool
+ * @org.apache.xbean.Property description="the maximum number of threads in the client-side threadpool. The default setting is 16."
+ */
public void setJettyClientThreadPoolSize(int jettyClientThreadPoolSize) {
this.jettyClientThreadPoolSize = jettyClientThreadPoolSize;
save();
}
-
+
+ /**
+ * Determines if each HTTP provider endpoint uses its own Jetty client. The
+ * default is for all HTTP provider endpoints to use a shared Jetty client.
+ *
+ * @return true if HTTP providers use individual Jetty clients
+ */
public boolean isJettyClientPerProvider() {
return jettyClientPerProvider;
- }
-
- public void setJettyClientPerProvider(boolean jettyClientPerProvider) {
+ }
+
+ /**
+ * Specifies whether each HTTP provider endpoint uses its own Jetty client.
+ * The default behavior is that all HTTP provider endpoints use a shrared
+ * Jetty client.
+ *
+ * @param jettyClientProvider <code>true</code> if HTTP providers are to use
+ * individual Jetty clients
+ * @org.apache.xbean.Property description="Specifies if HTTP provider endpoints share a Jetty client or use per-endpoint Jetty clients. The default setting is
+ * <code>false</code> meaning that all provider
+ * endpoints use a shared Jetty client."
+ */
+ public void setJettyClientPerProvider(boolean jettyClientPerProvider) {
this.jettyClientPerProvider = jettyClientPerProvider;
save();
- }
+ }
+ /**
+ * Gets the maximum number of concurent requests allowed from a particular
+ * host.
+ *
+ * @return an int representing the maximum number of connections
+ */
public int getMaxConnectionsPerHost() {
return maxConnectionsPerHost;
}
+ /**
+ * Sets the maximum number of connections allowed from a particular host.
+ * The default is 65536.
+ *
+ * @param maxConnectionsPerHost an int specifying the max number of
+ * connecitons
+ * @org.apache.xbean.Property description="the maximum number of concurent connections allowed from a host. The default is 65536."
+ */
public void setMaxConnectionsPerHost(int maxConnectionsPerHost) {
this.maxConnectionsPerHost = maxConnectionsPerHost;
save();
}
+ /**
+ * Gets the maximum number of concurent connections allowed to an endpoint.
+ *
+ * @return an int representing the total number of allowed concurrent
+ * connections
+ */
public int getMaxTotalConnections() {
return maxTotalConnections;
}
+ /**
+ * Sets the maximum number of total concurrent connections allowed to an
+ * endpoint.
+ *
+ * @param maxTotalConnections an int specifying the total number of
+ * concurrent connections allowed to an endpoint
+ * @org.apache.xbean.Property description="the maximum number of total concurent connections allowed to an endpoint. The default is 65536."
+ */
public void setMaxTotalConnections(int maxTotalConnections) {
this.maxTotalConnections = maxTotalConnections;
save();
}
+ /**
+ * Gets the amount of time, in milliseconds, that a connection will sit idle
+ * before timing out.
+ *
+ * @return an int representing the number of milliseconds before an idle
+ * connection will timeout
+ */
public int getConnectorMaxIdleTime() {
return connectorMaxIdleTime;
}
+ /**
+ * Sets the amount of time, in milliseconds, that a connection will sit idle
+ * before timing out. The default is 30000.
+ *
+ * @param connectorMaxIdleTime an int specifying the number of milliseconds
+ * that a connection will sit idle before timing out
+ * @org.apache.xbean.Property description="the number of miliseconds a connection will be idle before timing out. The default is 30000."
+ */
public void setConnectorMaxIdleTime(int connectorMaxIdleTime) {
this.connectorMaxIdleTime = connectorMaxIdleTime;
save();
}
+ /**
+ * Gets the number of milliseconds passed to the <code>susspend</code>
+ * method of the Jetty <code>Continuation</code> object used to process
+ * requests.
+ *
+ * @return an int representing the number of milliseconds the Jetty
+ * <code>Continuation</code> object will susspend the processing of
+ * the current request
+ */
public int getConsumerProcessorSuspendTime() {
return consumerProcessorSuspendTime;
}
+ /**
+ * Sets the number of milliseconds passed to the <code>susspend</code>
+ * method of the Jetty <code>Continuation</code> object used to process
+ * requests. The <code>Continuation</code> object is used to optimize
+ * connection resources when the endpoint is under heavy load. The default
+ * is 60000.
+ *
+ * @param consumerProcessorSuspendTime an int representing the number of
+ * milliseconds the Jetty <code>Continuation</code> object will
+ * susspend the processing of the current request
+ * @org.apache.xbean.Property description="the number of miliseconds Jetty will susspend the processing of a request. The default is 60000."
+ */
public void setConsumerProcessorSuspendTime(int consumerProcessorSuspendTime) {
this.consumerProcessorSuspendTime = consumerProcessorSuspendTime;
save();
}
/**
- * @return the retryCount
+ * Gets the number of times a request will be tried before an error is
+ * created.
+ *
+ * @return an int representing the number of times a request will be
+ * attempted before an error is raised
*/
public int getRetryCount() {
return retryCount;
}
/**
- * @param retryCount the retryCount to set
+ * Sets the number of times a request will be tried before an error is
+ * created. The default is 3. If streaming is enabled, the value will always
+ * be 0.
+ *
+ * @param retryCount an int representing the number of times a request will
+ * be attempted before an error is raised
+ * @org.apache.xbean.Property description="the number of times a request will be attempted without succees before an error is created. The default is 3. If streaming is enabled, the value will always be 0."
*/
public void setRetryCount(int retryCount) {
this.retryCount = retryCount;
@@ -377,6 +560,7 @@
/**
* @param proxyHost The proxyHost to set.
+ * @org.apache.xbean.Property description="the default proxy host name used to send requests. This can be overridden by each endpoint."
*/
public void setProxyHost(String proxyHost) {
this.proxyHost = proxyHost;
@@ -392,6 +576,7 @@
/**
* @param proxyPort The proxyPort to set.
+ * @org.apache.xbean.Property description="the default proxy port used to send requests. This can be overridden by each endpoint."
*/
public void setProxyPort(int proxyPort) {
this.proxyPort = proxyPort;
@@ -399,16 +584,25 @@
}
/**
- *
- * @return Returns the it the http headers will be copied into the exchange
+ * Determines if the HTTP provider processor copies the HTTP headers from
+ * the HTTP response into the JBI exchange.
+ *
+ * @return <code>true</code> if the HTTP headers will be copied into the
+ * exchange
*/
public boolean isWantHeadersFromHttpIntoExchange() {
return wantHeadersFromHttpIntoExchange;
}
/**
- *
- * @param wantHeadersFromHttpIntoExchange true if the headers should be copied into the exchange
+ * Specifies if the HTTP provider processor copies the HTTP headers from the
+ * HTTP response into the JBI exchange. If the headers will be used for a
+ * new HTTP reuquest, setting this to <code>true</code> leads to an error.
+ *
+ * @param wantHeadersFromHttpIntoExchange <code>true</code> if the HTTP
+ * headers will be copied into the exchange
+ * @org.apache.xbean.Property description="Specifies if the HTTP provider will copy the HTTP request headers into the JBI exchange. The default is
+ * <code>false</code>."
*/
public void setWantHeadersFromHttpIntoExchange(boolean wantHeadersFromHttpIntoExchange) {
this.wantHeadersFromHttpIntoExchange = wantHeadersFromHttpIntoExchange;
@@ -417,7 +611,7 @@
public void save() {
setProperty(componentName + ".jettyThreadPoolSize", Integer.toString(jettyThreadPoolSize));
setProperty(componentName + ".jettyClientThreadPoolSize", Integer.toString(jettyClientThreadPoolSize));
- setProperty(componentName + ".jettyClientPerProvider", Boolean.toString(jettyClientPerProvider));
+ setProperty(componentName + ".jettyClientPerProvider", Boolean.toString(jettyClientPerProvider));
setProperty(componentName + ".jettyConnectorClassName", jettyConnectorClassName);
setProperty(componentName + ".streamingEnabled", Boolean.toString(streamingEnabled));
setProperty(componentName + ".maxConnectionsPerHost", Integer.toString(maxConnectionsPerHost));
@@ -426,11 +620,13 @@
setProperty(componentName + ".authenticationServiceName", authenticationServiceName);
setProperty(componentName + ".jettyManagement", Boolean.toString(jettyManagement));
setProperty(componentName + ".connectorMaxIdleTime", Integer.toString(connectorMaxIdleTime));
- setProperty(componentName + ".consumerProcessorSuspendTime", Integer.toString(consumerProcessorSuspendTime));
+ setProperty(componentName + ".consumerProcessorSuspendTime", Integer
+ .toString(consumerProcessorSuspendTime));
setProperty(componentName + ".retryCount", Integer.toString(retryCount));
setProperty(componentName + ".proxyHost", proxyHost);
setProperty(componentName + ".proxyPort", Integer.toString(proxyPort));
- setProperty(componentName + ".wantHeadersFromHttpIntoExchange", Boolean.toString(wantHeadersFromHttpIntoExchange));
+ setProperty(componentName + ".wantHeadersFromHttpIntoExchange", Boolean
+ .toString(wantHeadersFromHttpIntoExchange));
if (rootDir != null) {
File f = new File(rootDir, CONFIG_FILE);
try {
@@ -440,7 +636,7 @@
}
}
}
-
+
protected void setProperty(String name, String value) {
if (value == null) {
properties.remove(name);
@@ -448,7 +644,7 @@
properties.setProperty(name, value);
}
}
-
+
public boolean load() {
File f = null;
InputStream in = null;
@@ -460,7 +656,8 @@
}
}
if (f == null) {
- // find property file in classpath if it is not available in workspace
+ // find property file in classpath if it is not available in
+ // workspace
in = this.getClass().getClassLoader().getResourceAsStream(CONFIG_FILE);
if (in == null) {
return false;
@@ -477,25 +674,33 @@
throw new RuntimeException("Could not load component configuration", e);
}
if (properties.getProperty(componentName + ".jettyThreadPoolSize") != null) {
- jettyThreadPoolSize = Integer.parseInt(properties.getProperty(componentName + ".jettyThreadPoolSize"));
+ jettyThreadPoolSize = Integer.parseInt(properties.getProperty(componentName
+ + ".jettyThreadPoolSize"));
}
if (properties.getProperty(componentName + ".jettyClientThreadPoolSize") != null) {
- jettyClientThreadPoolSize = Integer.parseInt(properties.getProperty(componentName + ".jettyClientThreadPoolSize"));
+ jettyClientThreadPoolSize = Integer.parseInt(properties
+ .getProperty(componentName + ".jettyClientThreadPoolSize"));
}
if (properties.getProperty(componentName + ".jettyClientPerProvider") != null) {
- jettyClientPerProvider = Boolean.valueOf(properties.getProperty(componentName + ".jettyClientPerProvider")).booleanValue();
+ jettyClientPerProvider = Boolean.valueOf(
+ properties.getProperty(componentName
+ + ".jettyClientPerProvider"))
+ .booleanValue();
}
if (properties.getProperty(componentName + ".jettyConnectorClassName") != null) {
jettyConnectorClassName = properties.getProperty(componentName + ".jettyConnectorClassName");
}
if (properties.getProperty(componentName + ".streamingEnabled") != null) {
- streamingEnabled = Boolean.valueOf(properties.getProperty(componentName + ".streamingEnabled")).booleanValue();
+ streamingEnabled = Boolean.valueOf(properties.getProperty(componentName + ".streamingEnabled"))
+ .booleanValue();
}
if (properties.getProperty(componentName + ".maxConnectionsPerHost") != null) {
- maxConnectionsPerHost = Integer.parseInt(properties.getProperty(componentName + ".maxConnectionsPerHost"));
+ maxConnectionsPerHost = Integer.parseInt(properties.getProperty(componentName
+ + ".maxConnectionsPerHost"));
}
if (properties.getProperty(componentName + ".maxTotalConnections") != null) {
- maxTotalConnections = Integer.parseInt(properties.getProperty(componentName + ".maxTotalConnections"));
+ maxTotalConnections = Integer.parseInt(properties.getProperty(componentName
+ + ".maxTotalConnections"));
}
if (properties.getProperty(componentName + ".keystoreManagerName") != null) {
keystoreManagerName = properties.getProperty(componentName + ".keystoreManagerName");
@@ -504,13 +709,16 @@
authenticationServiceName = properties.getProperty(componentName + ".authenticationServiceName");
}
if (properties.getProperty(componentName + ".jettyManagement") != null) {
- jettyManagement = Boolean.valueOf(properties.getProperty(componentName + ".jettyManagement")).booleanValue();
+ jettyManagement = Boolean.valueOf(properties.getProperty(componentName + ".jettyManagement"))
+ .booleanValue();
}
if (properties.getProperty(componentName + ".connectorMaxIdleTime") != null) {
- connectorMaxIdleTime = Integer.parseInt(properties.getProperty(componentName + ".connectorMaxIdleTime"));
+ connectorMaxIdleTime = Integer.parseInt(properties.getProperty(componentName
+ + ".connectorMaxIdleTime"));
}
if (properties.getProperty(componentName + ".consumerProcessorSuspendTime") != null) {
- consumerProcessorSuspendTime = Integer.parseInt(properties.getProperty(componentName + ".consumerProcessorSuspendTime"));
+ consumerProcessorSuspendTime = Integer.parseInt(properties
+ .getProperty(componentName + ".consumerProcessorSuspendTime"));
}
if (properties.getProperty(componentName + ".retryCount") != null) {
retryCount = Integer.parseInt(properties.getProperty(componentName + ".retryCount"));
@@ -522,8 +730,9 @@
proxyPort = Integer.parseInt(properties.getProperty(componentName + ".proxyPort"));
}
if (properties.getProperty(componentName + ".wantHeadersFromHttpIntoExchange") != null) {
- wantHeadersFromHttpIntoExchange =
- Boolean.valueOf(properties.getProperty(componentName + ".wantHeadersFromHttpIntoExchange")).booleanValue();
+ wantHeadersFromHttpIntoExchange = Boolean
+ .valueOf(properties.getProperty(componentName + ".wantHeadersFromHttpIntoExchange"))
+ .booleanValue();
}
return true;
}
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpEndpoint.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/HttpEndpoint.java Thu Aug 7 05:41:41 2008
@@ -43,12 +43,11 @@
import com.ibm.wsdl.extensions.http.HTTPAddressImpl;
/**
+ * an HTTP endpoint. This is the base for all HTTP endpoints.
*
* @author gnodet
* @version $Revision$
- * @org.apache.xbean.XBean element="endpoint"
- * description="An http endpoint"
- *
+ * @org.apache.xbean.XBean element="endpoint" description="the base element for all HTTP endpoints"
*/
public class HttpEndpoint extends SoapEndpoint implements HttpEndpointType {
@@ -63,11 +62,26 @@
protected boolean wantContentTypeHeaderFromExchangeIntoHttpRequest;
protected int timeout;
+ /**
+ * Determines if the HTTP provider processor copies the HTTP headers from the HTTP response into the JBI exchange.
+ *
+ * @return <code>true</code> if the HTTP headers will be copied into the exchange
+ */
public boolean isWantContentTypeHeaderFromExchangeIntoHttpRequest() {
return wantContentTypeHeaderFromExchangeIntoHttpRequest;
}
- public void setWantContentTypeHeaderFromExchangeIntoHttpRequest(boolean wantContentTypeHeaderFromExchangeIntoHttpRequest) {
+ /**
+ * Specifies if the HTTP provider processor copies the HTTP headers from the HTTP response into the JBI exchange. If the headers
+ * will be used for a new HTTP reuquest, setting this to <code>true</code> leads to an error.
+ *
+ * @param wantHeadersFromHttpIntoExchange <code>true</code> if the HTTP headers will be copied into the exchange
+ * @org.apache.xbean.Property description="Specifies if the HTTP provider will copy the HTTP request headers into the JBI
+ * exchange. The default is <code>false</code>. This value overrides the value set for the component
+ * using the <code>configuration</code> element."
+ */
+ public void setWantContentTypeHeaderFromExchangeIntoHttpRequest(
+ boolean wantContentTypeHeaderFromExchangeIntoHttpRequest) {
this.wantContentTypeHeaderFromExchangeIntoHttpRequest = wantContentTypeHeaderFromExchangeIntoHttpRequest;
}
@@ -93,23 +107,27 @@
}
/**
- * @param soapAction
- * the soapAction to set
+ * @param soapAction the soapAction to set
*/
public void setSoapAction(String soapAction) {
this.soapAction = soapAction;
}
/**
- * @return the authMethod
+ * Returns a string describing the authentication scheme being used by an endpoint.
+ *
+ * @return a string representing the authentication method used by an endpoint
*/
public String getAuthMethod() {
return authMethod;
}
/**
- * @param authMethod
- * the authMethod to set
+ * Specifies the authentication method used by a secure endpoint. The authentication method is a string naming the scheme used
+ * for authenticating users.
+ *
+ * @param authMethod a string naming the authentication scheme a secure endpoint should use
+ * @org.apache.xbean.Property description="a string naming the scheme used for authenticating users"
*/
public void setAuthMethod(String authMethod) {
this.authMethod = authMethod;
@@ -123,8 +141,10 @@
}
/**
- * @param ssl
- * The ssl to set.
+ * Sets the properties used to configure SSL for the endpoint.
+ *
+ * @param ssl an <code>SslParameters</code> object containing the SSL properties
+ * @org.apache.xbean.Property description="a bean containing the SSL configuration properties"
*/
public void setSsl(SslParameters ssl) {
this.ssl = ssl;
@@ -138,29 +158,42 @@
this.binding = binding;
}
+ /**
+ * Returns the URI to which the endpoint sends requests.
+ *
+ * @return a string representing the URI to which requests are sent
+ */
public String getLocationURI() {
return locationURI;
}
+ /**
+ * Sets the URI to which an endpoint sends requests.
+ *
+ * @param locationURI a string representing the URI
+ * @org.apache.xbean.Property description="the URI to which a provider endpoint sends requests"
+ */
public void setLocationURI(String locationUri) {
this.locationURI = locationUri;
}
/**
- * Authentication parameters used for provider endpoints using BASIC authentication.
+ * Sets the authentication data used for provider endpoints using basic authentication.
*
- * @return Returns the basicAuthentication.
+ * @param basicAuthCredentials the <code>BasicAuthCredentials</code> that will be used for authentication
+ * @org.apache.xbean.Property description="authentication data for using basic HTTP authentication."
*/
- public BasicAuthCredentials getBasicAuthentication() {
- return basicAuthentication;
+ public void setBasicAuthentication(BasicAuthCredentials basicAuthCredentials) {
+ this.basicAuthentication = basicAuthCredentials;
}
/**
- * @param basicAuthCredentials
- * The basicAuthCredentials to set.
+ * Gets the authentication data used for provider endpoints using basic authentication.
+ *
+ * @return the <code>BasicAuthCredentials</code> to use for authentication
*/
- public void setBasicAuthentication(BasicAuthCredentials basicAuthCredentials) {
- this.basicAuthentication = basicAuthCredentials;
+ public BasicAuthCredentials getBasicAuthentication() {
+ return basicAuthentication;
}
/**
@@ -171,29 +204,52 @@
}
/**
- * @param proxy
- * The proxy to set.
+ * Sets the configuration information for the proxy used by a HTTP consumer endpoint. This configuration overrides the proxy
+ * configuraiton specified at the component level.
+ *
+ * @param proxy The proxy to set.
+ * @org.apache.xbean.Property description="configuration used to establish a proxy for sending HTTP requests. This configuration overrides that which is set at the component level."
*/
public void setProxy(ProxyParameters proxy) {
this.proxy = proxy;
}
/**
- * @org.apache.xbean.Property alias="role"
- * @param role
+ * Sets the endpoint's role. HTTP endpoints can be either consumers or providers. Specifying <code>consumer</code> for the role
+ * defines the endpoint as a consumer which exposes an endpoint at a URL. Specifying <code>provider</code> for the role defines
+ * the endpoint as a provider that sends HTTP requests to a URL.
+ *
+ * @param role a string specifying the role of the endpoint
+ * @org.apache.xbean.Property alias="role" description= "HTTP endpoints can be either consumers or providers. Specifying
+ * <code>consumer</code> for the role defines the endpoint as a consumer which exposes an endpoint at
+ * a URL. Specifying <code>provider</code> for the role defines the endpoint as a provider that sends
+ * HTTP requests to a URL."
*/
public void setRoleAsString(String role) {
super.setRoleAsString(role);
}
- public int getTimeout() {
- return timeout;
- }
-
+ /**
+ * Specifies the timeout value for an HTTP endpoint. The timeout is specified in milliseconds. The default value is 0 which
+ * means that the endpoint will never timeout.
+ *
+ * @org.apache.xbean.Property description=
+ * "the number of milliseconds before the endpoint times out. The default value is 0 which means that the endpoint will never timeout."
+ * @param timeout the length time, in milliseconds, to wait before timing out
+ */
public void setTimeout(int timeout) {
this.timeout = timeout;
}
+ /**
+ * Returns the timeout value for an HTTP endpoint.
+ *
+ * @return the timeout specified in milliseconds
+ */
+ public int getTimeout() {
+ return timeout;
+ }
+
public void reloadWsdl() {
description = null;
definition = null;
@@ -207,7 +263,7 @@
if (logger.isDebugEnabled()) {
logger.debug("WSDL only defines a PortType, using this one");
}
- portType = (PortType) def.getPortTypes().values().iterator().next();
+ portType = (PortType)def.getPortTypes().values().iterator().next();
} else if (targetInterfaceName != null) {
portType = def.getPortType(targetInterfaceName);
if (portType == null && logger.isDebugEnabled()) {
@@ -223,7 +279,7 @@
} else if (targetService != null) {
Service svc = def.getService(targetService);
if (svc != null && svc.getPorts().size() == 1) {
- Port port = (Port) svc.getPorts().values().iterator().next();
+ Port port = (Port)svc.getPorts().values().iterator().next();
portType = (port != null) ? port.getBinding().getPortType() : null;
}
if (portType == null && logger.isDebugEnabled()) {
@@ -248,17 +304,17 @@
protected void overrideDefinition(Definition def) throws Exception {
PortType portType = getTargetPortType(def);
if (portType != null) {
- QName[] names = (QName[]) def.getPortTypes().keySet().toArray(new QName[0]);
+ QName[] names = (QName[])def.getPortTypes().keySet().toArray(new QName[0]);
for (int i = 0; i < names.length; i++) {
if (!names[i].equals(portType.getQName())) {
def.removePortType(names[i]);
}
}
- names = (QName[]) def.getServices().keySet().toArray(new QName[0]);
+ names = (QName[])def.getServices().keySet().toArray(new QName[0]);
for (int i = 0; i < names.length; i++) {
def.removeService(names[i]);
}
- names = (QName[]) def.getBindings().keySet().toArray(new QName[0]);
+ names = (QName[])def.getBindings().keySet().toArray(new QName[0]);
for (int i = 0; i < names.length; i++) {
def.removeBinding(names[i]);
}
@@ -266,7 +322,7 @@
if (!location.endsWith("/")) {
location += "/";
}
- HttpComponent comp = (HttpComponent) getServiceUnit().getComponent();
+ HttpComponent comp = (HttpComponent)getServiceUnit().getComponent();
if (comp.getConfiguration().isManaged()) {
// Save the path
String path = new URI(location).getPath();
@@ -289,14 +345,8 @@
}
if (portType.getQName().getNamespaceURI().equals(service.getNamespaceURI())) {
if (isSoap()) {
- PortTypeDecorator.decorate(
- def,
- portType,
- location,
- endpoint + "Binding",
- service.getLocalPart(),
- endpoint,
- soapVersion);
+ PortTypeDecorator.decorate(def, portType, location, endpoint + "Binding", service
+ .getLocalPart(), endpoint, soapVersion);
definition = def;
} else {
Binding bnd = def.createBinding();
@@ -318,15 +368,10 @@
definition = def;
}
} else {
- definition = PortTypeDecorator.createImportDef(def, service.getNamespaceURI(), "porttypedef.wsdl");
- PortTypeDecorator.decorate(
- definition,
- portType,
- location,
- endpoint + "Binding",
- service.getLocalPart(),
- endpoint,
- soapVersion);
+ definition = PortTypeDecorator.createImportDef(def, service.getNamespaceURI(),
+ "porttypedef.wsdl");
+ PortTypeDecorator.decorate(definition, portType, location, endpoint + "Binding", service
+ .getLocalPart(), endpoint, soapVersion);
}
}
}
@@ -341,16 +386,16 @@
protected ServiceEndpoint createExternalEndpoint() {
return new ExternalEndpoint(getServiceUnit().getComponent().getEPRElementName(), getLocationURI(),
- getService(), getEndpoint(), getInterfaceName());
+ getService(), getEndpoint(), getInterfaceName());
}
public AuthenticationService getAuthenticationService() {
- HttpComponent comp = (HttpComponent) getServiceUnit().getComponent();
+ HttpComponent comp = (HttpComponent)getServiceUnit().getComponent();
return AuthenticationService.Proxy.create(comp.getAuthenticationService());
}
public KeystoreManager getKeystoreManager() {
- HttpComponent comp = (HttpComponent) getServiceUnit().getComponent();
+ HttpComponent comp = (HttpComponent)getServiceUnit().getComponent();
return KeystoreManager.Proxy.create(comp.getKeystoreManager());
}
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/ProxyParameters.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/ProxyParameters.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/ProxyParameters.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/ProxyParameters.java Thu Aug 7 05:41:41 2008
@@ -20,7 +20,7 @@
* This class contains all parameters needed to send http requests through a proxy
*
* @author Fabrice Dewasmes
- * @org.apache.xbean.XBean
+ * @org.apache.xbean.XBean description="parameters needed to send HTTP requests through a proxy"
*/
public class ProxyParameters {
@@ -36,9 +36,12 @@
}
/**
- * @param proxyCredentials
- * The proxyCredentials to set.
- */
+ * Sets the authentication data used for the proxy using basic authentication.
+ *
+ * @param proxyCredentials the <code>BasicAuthCredentials</code> that
+ * will be used for authentication
+ * @org.apache.xbean.Property description="authentication data for using basic HTTP authentication."
+ */
public void setProxyCredentials(BasicAuthCredentials proxyCredentials) {
this.proxyCredentials = proxyCredentials;
}
@@ -55,6 +58,7 @@
/**
* @param proxyHost
* The proxy host name to set.
+ * @org.apache.xbean.Property description="the proxy's host name"
*/
public void setProxyHost(String proxyHost) {
this.proxyHost = proxyHost;
@@ -72,8 +76,9 @@
/**
* @param proxyPort
* The ProxyPort to set.
+ * @org.apache.xbean.Property description="the proxy's port number"
*/
public void setProxyPort(int proxyPort) {
this.proxyPort = proxyPort;
}
-}
+}
\ No newline at end of file
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java Thu Aug 7 05:41:41 2008
@@ -55,8 +55,8 @@
import org.mortbay.util.ajax.ContinuationSupport;
/**
- * Plain HTTP consumer endpoint. This endpoint can be used to handle plain HTTP request (without SOAP) or to be able to
- * process the request in a non standard way. For HTTP requests, a WSDL2 HTTP binding can be used.
+ * a plain HTTP consumer endpoint. This endpoint can be used to handle plain HTTP requests or to be able to process the request in a
+ * non standard way. For HTTP requests, a WSDL2 HTTP binding can be used.
*
* @author gnodet
* @since 3.2
@@ -91,30 +91,40 @@
}
/**
- * @return the locationUri
+ * Returns the URI at which the endpoint listens for new requests.
+ *
+ * @return a string representing the endpoint's URI
*/
public String getLocationURI() {
return locationURI;
}
/**
- * @param locationURI
- * the locationUri to set
+ * Sets the URI at which an endpoint listens for requests.
+ *
+ * @param locationURI a string representing the URI
+ * @org.apache.xbean.Property description="the URI at which the endpoint listens for requests"
*/
public void setLocationURI(String locationURI) {
this.locationURI = locationURI;
}
/**
- * @return the timeout
+ * Returns the timeout value for an HTTP endpoint.
+ *
+ * @return the timeout specified in milliseconds
*/
public long getTimeout() {
return timeout;
}
/**
- * @param timeout
- * the timeout to set
+ * Specifies the timeout value for an HTTP consumer endpoint. The timeout is specified in milliseconds. The default value is 0
+ * which means that the endpoint will never timeout.
+ *
+ * @org.apache.xbean.Property description=
+ * "the timeout is specified in milliseconds. The default value is 0 which means that the endpoint will never timeout."
+ * @param timeout the length time, in milliseconds, to wait before timing out
*/
public void setTimeout(long timeout) {
this.timeout = timeout;
@@ -128,23 +138,31 @@
}
/**
- * @param marshaler
- * the marshaler to set
+ * Sets the class used to marshal messages.
+ *
+ * @param marshaler the marshaler to set
+ * @org.apache.xbean.Property description="the bean used to marshal HTTP messages. The default is a
+ * <code>DefaultHttpConsumerMarshaler</code>."
*/
public void setMarshaler(HttpConsumerMarshaler marshaler) {
this.marshaler = marshaler;
}
/**
- * @return the authMethod
+ * Returns a string describing the authentication scheme being used by an endpoint.
+ *
+ * @return a string representing the authentication method used by an endpoint
*/
public String getAuthMethod() {
return authMethod;
}
/**
- * @param authMethod
- * the authMethod to set
+ * Specifies the authentication method used by a secure endpoint. The authentication method is a string naming the scheme used
+ * for authenticating users.
+ *
+ * @param authMethod a string naming the authentication scheme a secure endpoint should use
+ * @org.apache.xbean.Property description="a string naming the scheme used for authenticating users"
*/
public void setAuthMethod(String authMethod) {
this.authMethod = authMethod;
@@ -158,23 +176,31 @@
}
/**
- * @param ssl
- * the sslParameters to set
+ * Sets the properties used to configure SSL for the endpoint.
+ *
+ * @param ssl an <code>SslParameters</code> object containing the SSL properties
+ * @org.apache.xbean.Property description="a bean containing the SSL configuration properties"
*/
public void setSsl(SslParameters ssl) {
this.ssl = ssl;
}
/**
- * @return defaultMep of the endpoint
+ * Returns a URI representing the default message exachange pattern(MEP) used by an endpoint.
+ *
+ * @return a URI representing an endpoint's default MEP
*/
public URI getDefaultMep() {
return defaultMep;
}
/**
- * @param defaultMep -
- * defaultMep of the endpoint
+ * Sets the default message exchange pattern(MEP) for an endpoint. The default MEP is specified as a URI and the default is
+ * <code>JbiConstants.IN_OUT</code>.
+ *
+ * @param defaultMep a URI representing the default MEP of the endpoint
+ * @org.apache.xbean.Property description="a URI representing the endpoint's default MEP. The default is
+ * <code>JbiConstants.IN_OUT</code>."
*/
public void setDefaultMep(URI defaultMep) {
this.defaultMep = defaultMep;
@@ -216,7 +242,8 @@
if (handleStaticResource(request, response)) {
return;
}
- // Not giving a specific mutex will synchronize on the continuation itself
+ // Not giving a specific mutex will synchronize on the continuation
+ // itself
Continuation cont = ContinuationSupport.getContinuation(request, null);
// If the continuation is not a retry
if (!cont.isPending()) {
@@ -230,8 +257,8 @@
}
long to = this.timeout;
if (to == 0) {
- to = ((HttpComponent) getServiceUnit().getComponent()).getConfiguration()
- .getConsumerProcessorSuspendTime();
+ to = ((HttpComponent)getServiceUnit().getComponent()).getConfiguration()
+ .getConsumerProcessorSuspendTime();
}
exchanges.put(exchange.getExchangeId(), exchange);
boolean result = cont.suspend(to);
@@ -243,7 +270,7 @@
request.removeAttribute(MessageExchange.class.getName());
}
} else {
- String id = (String) request.getAttribute(MessageExchange.class.getName());
+ String id = (String)request.getAttribute(MessageExchange.class.getName());
locks.remove(id);
exchange = exchanges.remove(id);
request.removeAttribute(MessageExchange.class.getName());
@@ -298,10 +325,8 @@
/**
* Handle static resources
*
- * @param request
- * the http request
- * @param response
- * the http response
+ * @param request the http request
+ * @param response the http response
* @return <code>true</code> if the request has been handled
* @throws IOException
* @throws ServletException
@@ -333,8 +358,8 @@
response.setStatus(200);
response.setContentType("text/xml");
try {
- new SourceTransformer().toResult(new DOMSource((Node) res),
- new StreamResult(response.getOutputStream()));
+ new SourceTransformer().toResult(new DOMSource((Node)res), new StreamResult(response
+ .getOutputStream()));
} catch (TransformerException e) {
throw new ServletException("Error while sending xml resource", e);
}
@@ -356,7 +381,7 @@
}
protected ContextManager getServerManager() {
- HttpComponent comp = (HttpComponent) getServiceUnit().getComponent();
+ HttpComponent comp = (HttpComponent)getServiceUnit().getComponent();
return comp.getServer();
}
@@ -366,29 +391,29 @@
// If the user has been authenticated, put these informations on
// the in NormalizedMessage.
if (request.getUserPrincipal() instanceof JaasJettyPrincipal) {
- Subject subject = ((JaasJettyPrincipal) request.getUserPrincipal()).getSubject();
+ Subject subject = ((JaasJettyPrincipal)request.getUserPrincipal()).getSubject();
me.getMessage("in").setSecuritySubject(subject);
}
return me;
}
- public void sendAccepted(MessageExchange exchange, HttpServletRequest request, HttpServletResponse response)
- throws Exception {
+ public void sendAccepted(MessageExchange exchange, HttpServletRequest request,
+ HttpServletResponse response) throws Exception {
marshaler.sendAccepted(exchange, request, response);
}
public void sendError(MessageExchange exchange, Exception error, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ HttpServletResponse response) throws Exception {
marshaler.sendError(exchange, error, request, response);
}
public void sendFault(MessageExchange exchange, Fault fault, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ HttpServletResponse response) throws Exception {
marshaler.sendFault(exchange, fault, request, response);
}
public void sendOut(MessageExchange exchange, NormalizedMessage outMsg, HttpServletRequest request,
- HttpServletResponse response) throws Exception {
+ HttpServletResponse response) throws Exception {
marshaler.sendOut(exchange, outMsg, request, response);
}
@@ -398,7 +423,7 @@
marshaler = new DefaultHttpConsumerMarshaler();
}
if (marshaler instanceof DefaultHttpConsumerMarshaler) {
- ((DefaultHttpConsumerMarshaler) marshaler).setDefaultMep(getDefaultMep());
+ ((DefaultHttpConsumerMarshaler)marshaler).setDefaultMep(getDefaultMep());
}
}
}
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java Thu Aug 7 05:41:41 2008
@@ -35,6 +35,7 @@
import org.mortbay.jetty.client.HttpClient;
/**
+ * a plain HTTP provider. This type of endpoint can be used to send non-SOAP requests to HTTP endpoints.
*
* @author gnodet
* @since 3.2
@@ -42,13 +43,13 @@
*/
public class HttpProviderEndpoint extends ProviderEndpoint implements HttpEndpointType {
- //private SslParameters ssl;
- //private BasicAuthCredentials basicAuthentication;
+ // private SslParameters ssl;
+ // private BasicAuthCredentials basicAuthentication;
private HttpProviderMarshaler marshaler;
private String locationURI;
private int clientSoTimeout = 60000;
private HttpClient jettyClient;
-
+
public HttpProviderEndpoint() {
super();
}
@@ -61,32 +62,25 @@
super(serviceUnit, service, endpoint);
}
+ /**
+ * Returns the URI to which the endpoint sends requests.
+ *
+ * @return a string representing the URI to which requests are sent
+ */
public String getLocationURI() {
return locationURI;
}
+ /**
+ * Sets the URI to which an endpoint sends requests.
+ *
+ * @param locationURI a string representing the URI
+ * @org.apache.xbean.Property description="the URI to which the endpoint sends requests"
+ */
public void setLocationURI(String locationURI) {
this.locationURI = locationURI;
}
- /*
- public BasicAuthCredentials getBasicAuthentication() {
- return basicAuthentication;
- }
-
- public void setBasicAuthentication(BasicAuthCredentials basicAuthentication) {
- this.basicAuthentication = basicAuthentication;
- }
-
- public SslParameters getSsl() {
- return ssl;
- }
-
- public void setSsl(SslParameters ssl) {
- this.ssl = ssl;
- }
- */
-
/**
* @return the marshaler
*/
@@ -95,7 +89,11 @@
}
/**
+ * Sets the class used to marshal messages.
+ *
* @param marshaler the marshaler to set
+ * @org.apache.xbean.Property description="the bean used to marshal HTTP messages. The deafult is a
+ * <code>DefaultHttpProviderMarshaler</code>."
*/
public void setMarshaler(HttpProviderMarshaler marshaler) {
this.marshaler = marshaler;
@@ -107,7 +105,7 @@
if (nm == null) {
throw new IllegalStateException("Exchange has no input message");
}
- SmxHttpExchange httpEx = new Exchange(exchange);
+ SmxHttpExchange httpEx = new Exchange(exchange);
marshaler.createRequest(exchange, nm, httpEx);
getConnectionPool().send(httpEx);
}
@@ -120,8 +118,7 @@
exchange.setError(e);
}
try {
- boolean txSync = exchange.getStatus() == ExchangeStatus.ACTIVE
- && exchange.isTransacted()
+ boolean txSync = exchange.getStatus() == ExchangeStatus.ACTIVE && exchange.isTransacted()
&& Boolean.TRUE.equals(exchange.getProperty(JbiConstants.SEND_SYNC));
if (txSync) {
sendSync(exchange);
@@ -129,7 +126,7 @@
send(exchange);
}
} catch (Exception e) {
- throw (IOException) new IOException(e.getMessage()).initCause(e);
+ throw (IOException)new IOException(e.getMessage()).initCause(e);
}
}
@@ -137,7 +134,7 @@
try {
Exception e;
if (throwable instanceof Exception) {
- e = (Exception) throwable;
+ e = (Exception)throwable;
} else {
e = new Exception(throwable);
}
@@ -150,29 +147,33 @@
protected org.mortbay.jetty.client.HttpClient getConnectionPool() throws Exception {
if (jettyClient == null) {
- HttpComponent comp = (HttpComponent) getServiceUnit().getComponent();
+ HttpComponent comp = (HttpComponent)getServiceUnit().getComponent();
if (comp.getConfiguration().isJettyClientPerProvider()) {
jettyClient = comp.getNewJettyClient(comp);
} else {
- //return shared client
+ // return shared client
jettyClient = comp.getConnectionPool();
}
jettyClient.setSoTimeout(getClientSoTimeout());
}
return jettyClient;
}
-
+
protected class Exchange extends SmxHttpExchange {
MessageExchange jbiExchange;
+
public Exchange(MessageExchange jbiExchange) {
this.jbiExchange = jbiExchange;
}
+
protected void onResponseComplete() throws IOException {
handle(this, jbiExchange);
}
+
protected void onConnectionFailed(Throwable throwable) {
handleConnectionFailed(throwable, jbiExchange);
}
+
protected void onException(Throwable throwable) {
throw new RuntimeException(throwable);
}
@@ -182,16 +183,24 @@
return clientSoTimeout;
}
+ /**
+ * Sets the number of milliseconds the endpoint will block while attempting to read a request. The default value is 60000.
+ * Setting this to 0 specifies that the endpoint will never timeout.
+ *
+ * @param clientTimeout an int specifying the number of milliseconds the socket will block while attempting to read a request
+ * @org.apache.xbean.Property description="the number of milliseconds the endpoint will block while attempting to read a request. The default value is 60000. Setting this to 0 specifies that the endpoint will never timeout."
+ */
public void setClientSoTimeout(int clientTimeout) {
this.clientSoTimeout = clientTimeout;
}
+
public void validate() throws DeploymentException {
super.validate();
if (marshaler == null) {
marshaler = new DefaultHttpProviderMarshaler();
}
if (marshaler instanceof DefaultHttpProviderMarshaler && locationURI != null) {
- ((DefaultHttpProviderMarshaler) marshaler).setLocationURI(locationURI);
+ ((DefaultHttpProviderMarshaler)marshaler).setLocationURI(locationURI);
}
}
Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java?rev=683602&r1=683601&r2=683602&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java Thu Aug 7 05:41:41 2008
@@ -48,10 +48,10 @@
import org.xml.sax.InputSource;
/**
- *
* @author gnodet
* @since 3.2
- * @org.apache.xbean.XBean element="soap-consumer"
+ * @org.apache.xbean.XBean element="soap-consumer" description=
+ * "an HTTP consumer endpoint that is optimized to work with SOAP messages"
*/
public class HttpSoapConsumerEndpoint extends HttpConsumerEndpoint {
@@ -76,6 +76,12 @@
return wsdl;
}
+ /**
+ * Specifies the WSDL document defining the messages sent by the endpoint.
+ *
+ * @param wsdl a <code>Resource</code> object that points to the WSDL document
+ * @org.apache.xbean.Property description="the URL of the WSDL document defining the endpoint's messages"
+ */
public void setWsdl(Resource wsdl) {
this.wsdl = wsdl;
}
@@ -84,6 +90,12 @@
return validateWsdl;
}
+ /**
+ * Specifies in the WSDL is validated against the WS-I basic profile.
+ *
+ * @param validateWsdl <code>true</code> if WSDL is to be validated
+ * @org.apache.xbean.Property description="Specifies if the WSDL is checked for WSI-BP compliance. Default is <code>true</code>."
+ */
public void setValidateWsdl(boolean validateWsdl) {
this.validateWsdl = validateWsdl;
}
@@ -92,6 +104,13 @@
return useJbiWrapper;
}
+ /**
+ * Specifies if the SOAP messages are wrapped in a JBI wrapper.
+ *
+ * @param useJbiWrapper <code>true</code> if the SOAP messages are wrapped
+ * @org.apache.xbean.Property description= "Specifies if the JBI wrapper is sent in the body of the message. Default is
+ * <code>true</code>."
+ */
public void setUseJbiWrapper(boolean useJbiWrapper) {
this.useJbiWrapper = useJbiWrapper;
}
@@ -100,6 +119,12 @@
return policies;
}
+ /**
+ * Specifies a list of interceptors that will process messages for the endpoint.
+ *
+ * @param policies an array of <code>Policy</code> objects
+ * @org.apache.xbean.Property description="a list of interceptors that will process messages"
+ */
public void setPolicies(Policy[] policies) {
this.policies = policies;
}
@@ -111,7 +136,7 @@
}
HttpSoapConsumerMarshaler marshaler;
if (getMarshaler() instanceof HttpSoapConsumerMarshaler) {
- marshaler = (HttpSoapConsumerMarshaler) getMarshaler();
+ marshaler = (HttpSoapConsumerMarshaler)getMarshaler();
} else if (getMarshaler() == null) {
marshaler = new HttpSoapConsumerMarshaler();
} else {
@@ -165,25 +190,25 @@
throw new DeploymentException("Could not find service '" + getService() + "' in wsdl");
}
} else if (def.getServices().size() == 1) {
- svc = (Service) def.getServices().values().iterator().next();
+ svc = (Service)def.getServices().values().iterator().next();
setService(svc.getQName());
} else {
throw new DeploymentException(
- "If service is not set, the WSDL must contain a single service definition");
+ "If service is not set, the WSDL must contain a single service definition");
}
Port port;
if (getEndpoint() != null) {
port = svc.getPort(getEndpoint());
if (port == null) {
throw new DeploymentException("Cound not find port '" + getEndpoint()
- + "' in wsdl for service '" + getService() + "'");
+ + "' in wsdl for service '" + getService() + "'");
}
} else if (svc.getPorts().size() == 1) {
- port = (Port) svc.getPorts().values().iterator().next();
+ port = (Port)svc.getPorts().values().iterator().next();
setEndpoint(port.getName());
} else {
throw new DeploymentException("If endpoint is not set, the WSDL service '" + getService()
- + "' must contain a single port definition");
+ + "' must contain a single port definition");
}
SOAPAddress soapAddress = WSDLUtils.getExtension(port, SOAPAddress.class);
if (soapAddress != null) {
@@ -224,21 +249,21 @@
setService(svc.getName());
} else {
throw new DeploymentException(
- "If service is not set, the WSDL must contain a single service definition");
+ "If service is not set, the WSDL must contain a single service definition");
}
Endpoint endpoint;
if (getEndpoint() != null) {
endpoint = svc.getEndpoint(new NCName(getEndpoint()));
if (endpoint == null) {
throw new DeploymentException("Cound not find endpoint '" + getEndpoint()
- + "' in wsdl for service '" + getService() + "'");
+ + "' in wsdl for service '" + getService() + "'");
}
} else if (svc.getEndpoints().length == 1) {
endpoint = svc.getEndpoints()[0];
setEndpoint(endpoint.getName().toString());
} else {
throw new DeploymentException("If endpoint is not set, the WSDL service '" + getService()
- + "' must contain a single port definition");
+ + "' must contain a single port definition");
}
marshaler.setBinding(BindingFactory.createBinding(endpoint));
}