[
https://issues.apache.org/jira/browse/AMQNET-324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014520#comment-13014520
]
Frank Gynnild commented on AMQNET-324:
--------------------------------------
Wow, that was quick! Kudos to you for fixing it so quickly. :-)
> Add inner exceptions to the NMSException called "Error creating transport"
> --------------------------------------------------------------------------
>
> Key: AMQNET-324
> URL: https://issues.apache.org/jira/browse/AMQNET-324
> Project: ActiveMQ .Net
> Issue Type: Improvement
> Components: NMS
> Affects Versions: 1.5.0
> Reporter: Frank Gynnild
> Assignee: Timothy Bish
> Fix For: 1.5.1, 1.6.0
>
>
> The latest 1.5.0 version of Apache.NMS.ActiveMQ uses reflection to find
> connection factories.
> However, when there are System.Reflection.ReflectionTypeLoadException (Unable
> to load one or more of the requested types.)
> being thrown, these exceptions and InnerExceptions are not being encaspulated
> and rethrown, so they are kind of difficult to spot.
> This can happen if the dll get ILMerged into another assembly, and there are
> some issues with this exception.
> In TransportFactory.cs:
> {code}
> try
> {
> factory = NewInstance(scheme.ToLower());
> }
> catch(NMSConnectionException)
> {
> throw;
> }
> catch
> {
> throw new NMSConnectionException("Error
> creating transport.");
> }
> {code}
> The NMSConnectionException("Error creating transport.") doesn't tell you the
> glory details.
> In FactoryFinder.cs, inside the method called private Type
> SearchAssembly(Assembly assembly, string factoryId) you have this:
> {code}
> Type[] types = assembly.GetTypes();
> {code}
> This code can throw ReflectionTypeLoadException and it can have multiple
> InnerException that will tell you why it is unable to get
> the types. It would be awesome if this exception can be propagated up to the
> NMSConnectionException as an InnerException.
> That way we can trace the real problem much easier.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira