You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jim Gomes (JIRA)" <ji...@apache.org> on 2010/08/10 22:45:48 UTC

[jira] Resolved: (AMQNET-262) NMS cannot be used if installed in the GAC

     [ https://issues.apache.org/activemq/browse/AMQNET-262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jim Gomes resolved AMQNET-262.
------------------------------

    Resolution: Fixed

I changed the search order for loading provider assemblies.  The connection factory will first look for a custom provider configuration file before attempting to use standard provider implementations.  For those applications that want to tightly bind to a specific version of NMS + Provider by installing and accessing the assemblies via the GAC, they can deploy a custom provider config file with the strong name of the assembly.  For example, the following file named {{nmsprovider-activemq.config}} can be deployed into the application installation folder:

{code:xml|title=nmsprovider-activemq.config}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<provider assembly="Apache.NMS.ActiveMQ, Version, Culture, PublicKeyToken" classFactory="Apache.NMS.ActiveMQ.ConnectionFactory"/>
</configuration>
{code}

In the provider tag's assembly attribute, the full GAC version that the application wants to use can be specified.


> NMS cannot be used if installed in the GAC
> ------------------------------------------
>
>                 Key: AMQNET-262
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-262
>             Project: ActiveMQ .Net
>          Issue Type: Improvement
>          Components: NMS
>    Affects Versions: 1.3.0
>         Environment: Windows .NET 2.0
>            Reporter: Daniel Ellis
>            Assignee: Jim Gomes
>            Priority: Minor
>             Fix For: 1.4.0
>
>         Attachments: NMS GAC.patch
>
>          Time Spent: 45 minutes
>  Remaining Estimate: 0 minutes
>
> If you install {{Apache.NMS.dll}} and {{Apache.NMS.ActiveMQ.dll}} in the GAC then NMS is not able to load {{Apache.NMS.ActiveMQ.dll}}.
> {{NMSConnectionFactory.cs}} is storing the pre-defined connection factories in _schemaProviderFactoryMap_, but is storing the DLL file names to locate the assemblies.
> One solution would be to store the _AssemblyQualifiedName_ instead and leave the assembly loading to the system.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.