diff --git a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/CertificateStoreConfig.cs b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/CertificateStoreConfig.cs deleted file mode 100644 index 966d30de..00000000 --- a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/CertificateStoreConfig.cs +++ /dev/null @@ -1,9 +0,0 @@ - - -namespace Spring.Messaging.Ems.Common -{ - public class CertificateStoreConfig - { - - } -} \ No newline at end of file diff --git a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/EmsConnection.cs b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/EmsConnection.cs index 491c6140..85a2dca6 100644 --- a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/EmsConnection.cs +++ b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/EmsConnection.cs @@ -23,6 +23,9 @@ using TIBCO.EMS; namespace Spring.Messaging.Ems.Common { + /// + /// A Connection object is a client's active connection to TIBCO EMS Server. + /// public class EmsConnection : IConnection { #region Logging @@ -33,6 +36,10 @@ namespace Spring.Messaging.Ems.Common private Connection nativeConnection; + /// + /// Initializes a new instance of the class. + /// + /// The underlying TIBCO EMS connection. public EmsConnection(Connection connection) { this.nativeConnection = connection; @@ -43,72 +50,138 @@ namespace Spring.Messaging.Ems.Common #region Implementation of IConnection + /// + /// Gets the native TIBCO EMS connection. + /// + /// The native connection. public Connection NativeConnection { get { return this.nativeConnection; } } + /// + /// Occurs when the client library detects a problem with the connection. + /// public event EMSExceptionHandler EMSExceptionHandler; + /// + /// Gets the URL of the server this connection is currently connected to + /// + /// The active URL. public string ActiveURL { get { return nativeConnection.ActiveURL; } } + /// + /// Gets or sets the client ID. + /// + /// The client ID. public string ClientID { get { return nativeConnection.ClientID; } set { nativeConnection.ClientID = value; } } + /// + /// Gets the connection ID. + /// + /// The connection ID. public long ConnID { get { return nativeConnection.ConnID; } } + /// + /// Gets or sets the exception listener. + /// + /// The exception listener. public IExceptionListener ExceptionListener { get { return nativeConnection.ExceptionListener; } set { nativeConnection.ExceptionListener = value; } } + /// + /// Gets a value indicating whether the connection is closed. + /// + /// + /// true if the connection is closed; otherwise, false. + /// public bool IsClosed { get { return nativeConnection.IsClosed; } } + /// + /// Gets a value indicating whether the connection communicates with a secure protocol + /// + /// + /// true if the connection communicates with a secure protocol; otherwise, false. + /// public bool IsSecure { get { return nativeConnection.IsSecure; } } + /// + /// Gets the metadata for this connection + /// + /// The metadata for this connection. public ConnectionMetaData MetaData { get { return nativeConnection.MetaData; } } + /// + /// Closes the connection and reclaims resources. + /// public void Close() { nativeConnection.Close(); } + /// + /// Creates the session. + /// + /// if set to true the session has transaction semantcis. + /// Indicates whether and how the consumer is to acknowledge received messages. + /// This version of CreateSession accepts an integer value associated with the acknowledge mode described by a Session member and should only be used for backward compatibility. + /// This parameter is ignored if the session is transacted. + /// A newly created session. public ISession CreateSession(bool transacted, int acknowledgeMode) { Session nativeSession = nativeConnection.CreateSession(transacted, acknowledgeMode); return new EmsSession(nativeSession); } + /// + /// Creates the session. + /// + /// if set to true [transacted]. + /// The acknowledge mode. + /// When true, the new session has transaction semantics. + /// Indicates whether and how the consumer is to acknowledge received messages. + /// Legal values are listed under SessionMode. + /// This parameter is ignored if the session is transacted. + /// A newly created session. public ISession CreateSession(bool transacted, SessionMode acknowledgeMode) { Session nativeSession = nativeConnection.CreateSession(transacted, acknowledgeMode); return new EmsSession(nativeSession); } + /// + /// Starts (or restarts) a connection's delivery of incoming messages. + /// public void Start() { nativeConnection.Start(); } + /// + /// Temporarily stops a connection's delivery of incoming messages. + /// public void Stop() { nativeConnection.Stop(); diff --git a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnection.cs b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnection.cs index ab9d6e36..8026ee49 100644 --- a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnection.cs +++ b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnection.cs @@ -24,29 +24,114 @@ using TIBCO.EMS; namespace Spring.Messaging.Ems.Common { + /// + /// An interface containing all methods and properties on the TIBCO.EMS.Connection class. + /// Refer to the TIBCO EMS API documentation for more information. + /// + /// Mark Pollack public interface IConnection { + /// + /// Gets the native TIBCO EMS connection. + /// + /// The native connection. Connection NativeConnection { get; } + + /// + /// Occurs when the client library detects a problem with the connection. + /// event EMSExceptionHandler EMSExceptionHandler; + + /// + /// Gets the URL of the server this connection is currently connected to + /// + /// The active URL. string ActiveURL { get; } + + + /// + /// Gets or sets the client ID. + /// + /// The client ID. string ClientID { get; set; } + /// + /// Gets the connection ID. + /// + /// The connection ID. [EditorBrowsable(EditorBrowsableState.Never)] long ConnID { get; } + /// + /// Gets or sets the exception listener. + /// + /// The exception listener. IExceptionListener ExceptionListener { get; set; } + + /// + /// Gets a value indicating whether the connection is closed. + /// + /// true if the connection is closed; otherwise, false. bool IsClosed { get; } + /// + /// Gets a value indicating whether the connection communicates with a secure protocol + /// + /// true if the connection communicates with a secure protocol; otherwise, false. [EditorBrowsable(EditorBrowsableState.Never), Obsolete("EMS clients should no longer use this method; it has been deprecated.")] + [Obsolete("EMS clients should no longer use this method; it has been deprecated")] bool IsSecure { get; } + /// + /// Gets the metadata for this connection + /// + /// The metadata for this connection. ConnectionMetaData MetaData { get; } + /// + /// Closes the connection and reclaims resources. + /// void Close(); + + /// + /// Creates the session. + /// + /// if set to true the session has transaction semantcis. + /// Indicates whether and how the consumer is to acknowledge received messages. + /// This version of CreateSession accepts an integer value associated with the acknowledge mode described by a Session member and should only be used for backward compatibility. + /// This parameter is ignored if the session is transacted. + /// A newly created session. ISession CreateSession(bool transacted, int acknowledgeMode); + + /// + /// Creates the session. + /// + /// if set to true [transacted]. + /// The acknowledge mode. + /// When true, the new session has transaction semantics. + /// Indicates whether and how the consumer is to acknowledge received messages. + /// Legal values are listed under SessionMode. + /// This parameter is ignored if the session is transacted. + /// + /// A newly created session. ISession CreateSession(bool transacted, SessionMode acknowledgeMode); + + /// + /// Starts (or restarts) a connection's delivery of incoming messages. + /// void Start(); + + /// + /// Temporarily stops a connection's delivery of incoming messages. + /// void Stop(); + + /// + /// A String representation of the connection object + /// + /// + /// A that represents this instance. + /// string ToString(); } } \ No newline at end of file diff --git a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnectionFactory.cs b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnectionFactory.cs index 4d7c638d..17553b51 100644 --- a/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnectionFactory.cs +++ b/src/Spring/Spring.Messaging.Ems/Messaging/Ems/Common/IConnectionFactory.cs @@ -25,47 +25,150 @@ using TIBCO.EMS; namespace Spring.Messaging.Ems.Common { + /// + /// An interface containing all methods and properties on the TIBCO.EMS.ConnectionFactory class. + /// Refer to the TIBCO EMS API documentation for more information. + /// + /// + /// All the 'GetXXX()' methods in the TIBCO.EMS.ConnectionFactory were translated to .NET properties + /// + /// Mark Pollack public interface IConnectionFactory : ISerializable, ICloneable { + /// + /// Gets the native TIBCO EMS connection factory. + /// + /// The native connection factory. ConnectionFactory NativeConnectionFactory { get; } + /// + /// Creates the connection. + /// + /// The newly created connection IConnection CreateConnection(); + + /// + /// Creates the connection with the given username and password + /// + /// Name of the user. + /// The password. + /// IConnection CreateConnection(string userName, string password); + + /// + /// Gets the certificate store info object associated with this connection factory. + /// + /// The certificate store. object CertificateStore { get; } + + /// + /// Gets or sets the SSL proxy host. + /// + /// The SSL proxy host. string SSLProxyHost { set; get; } + + /// + /// Gets or sets the SSL proxy port. + /// + /// The SSL proxy port. int SSLProxyPort { set; get; } + + /// + /// Gets the SSL proxy password. + /// + /// The SSL proxy password. string SSLProxyPassword { get; } + + /// + /// Gets the SSL proxy user. + /// + /// The SSL proxy user. string SSLProxyUser { get; } + /// + /// Sets the type of the certificate store. + /// + /// The type of the certificate store. IEmsSSLStoreType CertificateStoreType { set; } + + /// + /// Sets the client ID. + /// + /// The client ID. string ClientID { set; } + + /// + /// Sets the client tracer to a given output stream + /// + /// The client tracer. StreamWriter ClientTracer { set; } + + /// + /// Sets the number of connection attempts + /// + /// The number of connection attempts. int ConnAttemptCount { set; } + + /// + /// Sets delay between connection attempts + /// + /// The delay between connection attempts. int ConnAttemptDelay { set; } + + /// + /// Sets the connection attempt timeout. + /// + /// The connection attempt timeout. int ConnAttemptTimeout { set; } + + /// + /// Sets the custom host name verifier. Set to null to remove custom host name verifier. + /// + /// The host name verifier. EMSSSLHostNameVerifier HostNameVerifier { set; } + /// + /// Sets the load balance metric as an integer. + /// + /// The load balance metric as int. int MetricAsInt { set; } - + /// + /// Sets the port on which the client will connect to the multicast daemon. + /// + /// The multicast daemon port. string MulticastDaemon { set; } + + /// + /// Sets whether MessageConsumers subscribed to a multicast-enabled topic will receive messages over multicast. + /// + /// true to enable multicast; false to disable. bool MulticastEnabled { set; } + int ReconnAttemptCount { set; } + int ReconnAttemptDelay { set; } + int ReconnAttemptTimeout { set; } + string ServerUrl { set; } + bool SSLAuthOnly { set; } - string SSLProxyAuthUsername { set; get; } + string SSLProxyAuthPassword { set; get; } bool SSLTrace { set; } + string TargetHostName { set; } + string UserName { set; } + string UserPassword { set; } string ToString(); + FactoryLoadBalanceMetric Metric { get; set; } } } \ No newline at end of file diff --git a/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.2008.csproj b/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.2008.csproj index f3c28904..550941af 100644 --- a/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.2008.csproj +++ b/src/Spring/Spring.Messaging.Ems/Spring.Messaging.Ems.2008.csproj @@ -49,7 +49,6 @@ CommonAssemblyInfo.cs -