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]

Reply via email to