Пример #1
0
 public void OnException(EMSException e)
 {
     try
     {
         // print the connection exception message
         Console.Error.WriteLine("CONNECTION EXCEPTION: " + e.Message);
         factory.RecoverConnection(connection);
     }
     catch (EMSException ex)
     {
         Console.Error.WriteLine("CONNECTION RECOVER EXCEPTION: " + ex.Message);
         Environment.Exit(-1);
     }
 }
Пример #2
0
        /// <summary>
        /// Wrap the provider specific exception inside an NMS exception to more tightly
        /// integrate the provider extensions into the NMS API.
        /// </summary>
        /// <param name="ex"></param>
        public static void WrapAndThrowNMSException(Exception ex)
        {
            if (ex is Apache.NMS.NMSException)
            {
                // Already derived from NMSException
                throw ex;
            }

            if (ex is TIBCO.EMS.AuthenticationException)
            {
                TIBCO.EMS.AuthenticationException tibcoex = ex as TIBCO.EMS.AuthenticationException;
                throw new Apache.NMS.NMSSecurityException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.CannotProceedException)
            {
                TIBCO.EMS.CannotProceedException tibcoex = ex as TIBCO.EMS.CannotProceedException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.ConfigurationException)
            {
                TIBCO.EMS.ConfigurationException tibcoex = ex as TIBCO.EMS.ConfigurationException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.InvalidNameException)
            {
                TIBCO.EMS.InvalidNameException tibcoex = ex as TIBCO.EMS.InvalidNameException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.NameNotFoundException)
            {
                TIBCO.EMS.NameNotFoundException tibcoex = ex as TIBCO.EMS.NameNotFoundException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.NamingException)
            {
                TIBCO.EMS.NamingException tibcoex = ex as TIBCO.EMS.NamingException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.CommunicationException)
            {
                TIBCO.EMS.CommunicationException tibcoex = ex as TIBCO.EMS.CommunicationException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.ServiceUnavailableException)
            {
                TIBCO.EMS.ServiceUnavailableException tibcoex = ex as TIBCO.EMS.ServiceUnavailableException;
                throw new Apache.NMS.NMSConnectionException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.IllegalStateException)
            {
                TIBCO.EMS.IllegalStateException tibcoex = ex as TIBCO.EMS.IllegalStateException;
                throw new Apache.NMS.IllegalStateException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.InvalidClientIDException)
            {
                TIBCO.EMS.InvalidClientIDException tibcoex = ex as TIBCO.EMS.InvalidClientIDException;
                throw new Apache.NMS.InvalidClientIDException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.InvalidDestinationException)
            {
                TIBCO.EMS.InvalidDestinationException tibcoex = ex as TIBCO.EMS.InvalidDestinationException;
                throw new Apache.NMS.InvalidDestinationException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.InvalidSelectorException)
            {
                TIBCO.EMS.InvalidSelectorException tibcoex = ex as TIBCO.EMS.InvalidSelectorException;
                throw new Apache.NMS.InvalidSelectorException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.MessageEOFException)
            {
                TIBCO.EMS.MessageEOFException tibcoex = ex as TIBCO.EMS.MessageEOFException;
                throw new Apache.NMS.MessageEOFException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.MessageFormatException)
            {
                TIBCO.EMS.MessageFormatException tibcoex = ex as TIBCO.EMS.MessageFormatException;
                throw new Apache.NMS.MessageFormatException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.MessageNotReadableException)
            {
                TIBCO.EMS.MessageNotReadableException tibcoex = ex as TIBCO.EMS.MessageNotReadableException;
                throw new Apache.NMS.MessageNotReadableException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.MessageNotWriteableException)
            {
                TIBCO.EMS.MessageNotWriteableException tibcoex = ex as TIBCO.EMS.MessageNotWriteableException;
                throw new Apache.NMS.MessageNotWriteableException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.ResourceAllocationException)
            {
                TIBCO.EMS.ResourceAllocationException tibcoex = ex as TIBCO.EMS.ResourceAllocationException;
                throw new Apache.NMS.ResourceAllocationException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.SecurityException)
            {
                TIBCO.EMS.SecurityException tibcoex = ex as TIBCO.EMS.SecurityException;
                throw new Apache.NMS.NMSSecurityException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.TransactionInProgressException)
            {
                TIBCO.EMS.TransactionInProgressException tibcoex = ex as TIBCO.EMS.TransactionInProgressException;
                throw new Apache.NMS.TransactionInProgressException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.TransactionRolledBackException)
            {
                TIBCO.EMS.TransactionRolledBackException tibcoex = ex as TIBCO.EMS.TransactionRolledBackException;
                throw new Apache.NMS.TransactionRolledBackException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            if (ex is TIBCO.EMS.EMSException)
            {
                TIBCO.EMS.EMSException tibcoex = ex as TIBCO.EMS.EMSException;
                throw new Apache.NMS.NMSException(tibcoex.Message, tibcoex.ErrorCode, tibcoex);
            }

            // Not an EMS exception that should be wrapped.
            throw ex;
        }