[infinispan-issues] [JBoss JIRA] Updated: (ISPN-776) Add configurable properties for each configuration lookup class

Manik Surtani (JIRA) jira-events at lists.jboss.org
Tue Nov 23 06:21:59 EST 2010


     [ https://jira.jboss.org/browse/ISPN-776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manik Surtani updated ISPN-776:
-------------------------------

        Fix Version/s: 4.2.0.CR1
    Affects Version/s: 4.1.0.Final
           Complexity: Low
          Component/s: Configuration


> Add configurable properties for each configuration lookup class
> ---------------------------------------------------------------
>
>                 Key: ISPN-776
>                 URL: https://jira.jboss.org/browse/ISPN-776
>             Project: Infinispan
>          Issue Type: Feature Request
>          Components: Configuration
>    Affects Versions: 4.1.0.Final
>            Reporter: Paul Ferraro
>            Assignee: Manik Surtani
>            Priority: Minor
>             Fix For: 4.2.0.CR1
>
>
> See ISPN-379.
> Currently, most pluggable components can only be specified by a lookup class name.  While some accept a configurable Properties object (e.g. JGroupsChannelLookup), not all do (e.g. MBeanServerLookup).  Consequently, it is very awkward to implement a parameterized MBeanServerLookup implementation (e.g. to find the server using a jmx agent id, use an injected mbean server instance, etc.).
> I can think of 2 ways to improve this:
> 1. Add the ability to specify properties objects for each pluggable component.  e.g. GlobalConfiguration.setMBeanServerProperties(...), MBeanServerLookup.getMBeanServer(Properties properties)
> 2. Allow the user to define the instance directly.  e.g. GlobalConfiguration.setMBeanServerLookup(MBeanServerLookup lookup)
> Ideally, Infinispan could support both mechanisms. The 1st allows flexible declarative configuration.  The 2nd allows even more flexible programmatic configuration.
> Thinking this through a bit more - we can support both approaches using the following (using MBeanServerLookup as an example):
> * Leave MBeanServerLookup interface as is
> * Replace GlobalConfiguration.setMBeanServerLookup(String) with GlobalConfiguration.setMBeanServerLookup(MBeanServerLookup lookup)
> * Create generic implementation of MBeanServerLookup that delegates to an instance constructed via class name and java bean properties
> * If lookup class is specified in the xml, construct generic MBeanServerLookup object accordingly (using class name + properties)
> Just a thought.  Approach #1 is good enough.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list