Merged revision(s) 1708655 from activemq/activemq-dotnet/Apache.NMS.EMS/trunk:
Update existing TIBCO factory connection when changing the exception settings.
Refactor the parsing of connection URL into single function.
Fixes [AMQNET-511]. (See https://issues.apache.org/jira/browse/AMQNET-511)
diff --git a/src/main/csharp/ConnectionFactory.cs b/src/main/csharp/ConnectionFactory.cs
index ba5959c..2b7f10b 100644
--- a/src/main/csharp/ConnectionFactory.cs
+++ b/src/main/csharp/ConnectionFactory.cs
@@ -89,11 +89,9 @@
 		{

 			try

 			{

-				this.brokerUri = ParseUriProperties(serverUrl);

-				this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(TrimParens(this.brokerUri.AbsolutePath), clientId, properties);

 				this.clientId = clientId;

 				this.properties = properties;

-				ConfigureConnectionFactory();

+				this.BrokerUri = serverUrl;

 			}

 			catch(Exception ex)

 			{

@@ -133,13 +131,21 @@
 		public bool ExceptionOnFTEvents

 		{

 			get { return this.exceptionOnFTEvents; }

-			set { this.exceptionOnFTEvents = value; }

+			set

+			{

+				this.exceptionOnFTEvents = value;

+				TIBCO.EMS.Tibems.SetExceptionOnFTEvents(value);

+			}

 		}

 

 		public bool ExceptionOnFTSwitch

 		{

 			get { return this.exceptionOnFTSwitch; }

-			set { this.exceptionOnFTSwitch = value; }

+			set

+			{

+				this.exceptionOnFTSwitch = value;

+				TIBCO.EMS.Tibems.SetExceptionOnFTSwitch(value);

+			}

 		}

 

 		public int ConnAttemptCount

@@ -251,19 +257,21 @@
 					}

 					else

 					{

+						string brokerPath = TrimParens(this.brokerUri.AbsolutePath);

+

 						if(null == this.clientId)

 						{

-							this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(TrimParens(this.brokerUri.AbsolutePath));

+							this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(brokerPath);

 						}

 						else

 						{

 							if(null == this.properties)

 							{

-								this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(TrimParens(this.brokerUri.AbsolutePath), this.clientId);

+								this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(brokerPath, this.clientId);

 							}

 							else

 							{

-								this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(TrimParens(this.brokerUri.AbsolutePath), this.clientId, this.properties);

+								this.tibcoConnectionFactory = new TIBCO.EMS.ConnectionFactory(brokerPath, this.clientId, this.properties);

 							}

 						}

 					}