Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.24
-
None
-
None
Description
In order to get a Windows Qpid Messaging client support for AMQP 1.0 the user must define an environment variable before executing the client program. In practice this is inconvenient and it may well baffle new users simply trying to execute HelloWorld.
For example, assume a native windows installation has proton.dll in P:\bin and the Qpid messaging libraries in Q:\bin.
If the user puts P:\bin and Q:\bin into his path and runs:
helloworld.exe
then no AMQP 1.0 support is available. Simply having qpidc.dll in the user path is not enough. To get AMQP 1.0 the user must point to the amqpc.dll library:
set QPID_LOAD_MODULE=Q:\bin\qpidc.dll helloworld.exe
This problem is just as bad for .NET managed code where every application that wants to inherit use of the client libraries must have this environment variable set.
The solution proposed here is to simply build amqpc.dll into qpidmessaging.dll and have support for AMQP 1.0 enabled automatically. AMPQ 1.0 support is enabled by loading the libraries that are in the user's path.
In order to use AMQP 1.0 users still must specify "
{protocol:amqp1.0}" in the connection options so 1.0 support is not enabled without them knowing about it.