[jboss-jira] [JBoss JIRA] Resolved: (JBCACHE-1281) EvictionConfig.getEvictionRegionConfigs() causes ConfigurationException
Manik Surtani (JIRA)
jira-events at lists.jboss.org
Tue Feb 5 14:10:03 EST 2008
[ http://jira.jboss.com/jira/browse/JBCACHE-1281?page=all ]
Manik Surtani resolved JBCACHE-1281.
------------------------------------
Resolution: Done
I've deferred validation till start time, which is where it ought to be validated.
> EvictionConfig.getEvictionRegionConfigs() causes ConfigurationException
> -----------------------------------------------------------------------
>
> Key: JBCACHE-1281
> URL: http://jira.jboss.com/jira/browse/JBCACHE-1281
> Project: JBoss Cache
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 2.1.0.CR3
> Reporter: Brian Stansberry
> Assigned To: Manik Surtani
> Fix For: 2.1.0.CR4
>
>
> Problem is the method impl tries to guess what a default configuration would be:
> if (evictionRegionConfigs == null && defaultEvictionPolicyClass != null)
> {
> // TODO this needs to be refactored obviously ...
> try
> {
> Class<?> cpolicy = Class.forName(defaultEvictionPolicyClass);
> EvictionPolicy policy = (EvictionPolicy) cpolicy.newInstance();
> EvictionRegionConfig erc = new EvictionRegionConfig();
> EvictionPolicyConfig epc = policy.getEvictionConfigurationClass().newInstance();
> // epc.set
> erc.setEvictionPolicyConfig(epc);
> erc.setRegionFqn(RegionManager.DEFAULT_REGION);
> return Collections.singletonList(erc);
> }
> catch (Exception e)
> {
> throw new ConfigurationException(e);
> }
> }
> Problem is many EvictionPolicyConfig impls (e.g. LRUConfiguration) will throw a ConfigurationException from their validate() method is left in their default initialized state. And the call to erc.setEvictionPolicyConfig(epc) will result in a call to epc.validate().
> This is leading to WARN logging in JBoss AS as the microcontainer seems to call EvictionConfig.getEvictionRegionConfigs() before trying to inject the configs specified in the -beans.xml:
> 2008-02-01 11:27:47,467 WARN [org.jboss.beans.metadata.plugins.AbstractListMetaData] Exception in preinstantiated lookup for: EJB3EntityEvictionConfig.evictionRegionConfigs, org.jboss.cache.config.ConfigurationException: org.jboss.cache.config.ConfigurationException: timeToLiveSeconds must be configured to a value greater than or equal to 0
> That WARN logging is no good, but the MC swallows the exception so the condition is otherwise harmless. Probably wouldn't be so harmless for other callers who stumble onto it.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list