[infinispan-dev] Module configuration proposal

Manik Surtani manik at jboss.org
Wed Nov 4 13:24:18 EST 2009


On 4 Nov 2009, at 17:56, Vladimir Blagojevic wrote:

> Ok, I see where you are going. This is along the line with
> https://jira.jboss.org/jira/browse/ISPN-245. No problem, even better.
> Also there is no need to declare all configurations beans, only the  
> root
> class of configuration, jaxb will resolve others, as long as they  
> are on
> classpath.
>
> How do we proceed from here? I can take over ISPN-245 as well, looks
> interesting...

Sure, if you want to do this, be my guest.  :)

Also, quick note, are you committing this stuff to trunk?  I think its  
time we branched trunk to a 4.0 branch so stuff targeted for 4.1  
doesn't creep in to 4.0.  WDYT?

>
> On 09-11-04 12:27 PM, Manik Surtani wrote:
>> Nice work!  Is there any way to register the module beans in code so
>> they don't appear in XML (which is exposed to users)?  Perhaps
>> something like:
>>
>> In core:
>> * look thru classpath for all instances of "infinispan-module-
>> cfg.properties"
>> * this file would contain infinispan.module.cfg-
>> beans=org.infinispan.query.config.QueryConfigurationBean,
>> org.infinispan.query.config.QueryConfigurationBean2,
>> org.infinispan.query.config.QueryConfigurationBean3, etc
>>
>> in any given module:
>>   * must package a "infinispan-module-cfg.properties" if it wants to
>> hook in to the XML cfg parsing system
>>   * delcare any cfg beans in this file, as infinispan.module.cfg-
>> beans=org.infinispan.query.config.QueryConfigurationBean,
>> org.infinispan.query.config.QueryConfigurationBean2,
>> org.infinispan.query.config.QueryConfigurationBean3, etc
>>
>> WDYT?
>>
>>
>> On 3 Nov 2009, at 15:52, Vladimir Blagojevic wrote:
>>
>>
>>> Hey guys,
>>>
>>> I completed module configuration proposal Manik and I agreed upon.
>>> It is
>>> very important to get this one right so I want to run it by you  
>>> before
>>> proceeding further!
>>>
>>> Have a look at [1] and follow proposed module configuration example
>>> below:
>>>
>>> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> xmlns="urn:infinispan:config:4.0">
>>> <global>
>>> <transport clusterName="demoCluster"/>
>>> </global>
>>>
>>> <default>
>>> <clustering mode="replication">
>>> </clustering>
>>> <modules>
>>> <module name="query"
>>> configClassName 
>>> ="org.infinispan.query.config.QueryConfigurationBean">
>>> <indexing enabled="true" indexLocalOnly="true"/>
>>> </module>
>>> </modules>
>>> </default>
>>> </infinispan>
>>>
>>> A few things to notice:
>>>
>>> a) Any configuration (including default and namedCache) can have a
>>> module definition
>>> b) Instance of configClassName is a rich object structure filled  
>>> from
>>> module's child XML content
>>> c) Module's XML content can be arbitrary
>>> d) Custom module configuration bean is accessed by module name:
>>>
>>>
>>>       Configuration def = c.parseDefaultConfiguration();
>>>       ModuleConfigurationBean extensionConfig =
>>> def.getModuleConfigurationBean("query");
>>>       QueryConfigurationBean bean = (QueryConfigurationBean)
>>> extensionConfig.getConfigurationBean();
>>>       assert bean.isEnabled();
>>>       assert bean.isIndexLocalOnly();
>>>
>>>
>>> The proposal achieves full flexibility when it comes to having rich
>>> object configuration structure that modules define themselves.
>>> Furthermore, core module is completely isolated from module
>>> configuration extensions. Schema easily accommodates this model and
>>> there is no adverse effect on performance!
>>>
>>>
>>> [1] https://jira.jboss.org/jira/browse/ISPN-193
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>
>> --
>> Manik Surtani
>> manik at jboss.org
>> Lead, Infinispan
>> Lead, JBoss Cache
>> http://www.infinispan.org
>> http://www.jbosscache.org
>>
>>
>>
>>
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org







More information about the infinispan-dev mailing list