Automatic loading of conflicting plug-ins
-----------------------------------------
Key: QPID-2572
URL: https://issues.apache.org/jira/browse/QPID-2572
Project: Qpid
Issue Type: Improvement
Components: C++ Broker
Affects Versions: 0.7
Reporter: Alan Conway
Assignee: Alan Conway
Priority: Minor
Thread http://www.mail-archive.com/[email protected]/msg08762.html may result
in an alternate clustering plugin that uses the same amq.failover mechanism as
the existing cluster plugin - well and good that's what plugins are for. The
new plugin could not be loaded at the same time as the existing cluster plugin
as they'd conflict over setting amq.failover exchange, also not surprising.
However our existing plugin loading scheme is:
- install every plugin in lib/qpid/daemon
- by default load every plugin from lib/qpid/daemon
This breaks if we have conflicting plug-ins.
I see 3 solutions:
1. Put conflicting plugins in a new dirctory say lib/qpid/daemon_optional. User
must load these explicitly in config if wanted.
2. Ship a default config with
no-module-dir=yes # disable default loading
load-plugin=foo # for all foo we want to load by default.
3. Change the default module-dir to be none, load no plugins by default. Ship a
config file with explict load-plugin=foo for all foo we want to load by default.
I prefer 3 as it simplifies things a little and maintains the "0 config gives
sensible behavior" principle - 0 config means no plugins as opposed to try to
load conflicting plugins. It does mean users would have to change their
existing configs.
See also QPID-2571 which would simplify the default configs proposed in 2 & 3
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]