commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Vandahl (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (JCS-22) IllegalStateException and NullPointerException thrown by CompositeCacheManager
Date Sat, 05 Nov 2011 19:12:51 GMT

     [ https://issues.apache.org/jira/browse/JCS-22?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Thomas Vandahl resolved JCS-22.
-------------------------------

    Resolution: Fixed

Fixed in SVN. JCS will now throw a CacheException in this case.
                
> IllegalStateException and NullPointerException thrown by CompositeCacheManager
> ------------------------------------------------------------------------------
>
>                 Key: JCS-22
>                 URL: https://issues.apache.org/jira/browse/JCS-22
>             Project: JCS
>          Issue Type: Bug
>          Components: Composite Cache
>    Affects Versions: jcs-1.3
>         Environment: N/A
>            Reporter: Michael Jordan
>            Assignee: Aaron Smuts
>            Priority: Minor
>             Fix For: jcs-1.4-dev
>
>
> If a cache configuration file does not exist on the classpath, an IllegalStateException
is thrown by JCS.getInstance. This is not mentioned in the javadoc, and because it's not expected,
crashes the calling program. Preferably, this should be a checked exception of some sort to
force the caller to deal with this issue (potentially continuing their program with the cache
disabled), but should at least be documented.
> JCS.getInstance(cacheClassName)
> java.lang.IllegalStateException: Failed to load properties for name [/cache.ccf]
>         at org.apache.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:239)
>         at org.apache.jcs.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:191)
>         at org.apache.jcs.engine.control.CompositeCacheManager.getInstance(CompositeCacheManager.java:119)
>         at org.apache.jcs.JCS.ensureCacheManager(JCS.java:99)
>         at org.apache.jcs.JCS.getInstance(JCS.java:64)
>         at com.telstra.tdsdi.cache.CacheManager.configure(CacheManager.java:72)
>         at com.telstra.tdsdi.cache.CacheManager.doWork(CacheManager.java:194)
>         at com.telstra.common.supervisor.SupervisedThread.run(SupervisedThread.java:39)
> The next time that getInstance is called, and every time after that, JCS reacts differently
- throwing a NullPointerException. This is inconsistent. Preferably, this should check to
see whether the first 'configure' attempt was successful, and react accordingly. Optionally
it could throw the same exception as the first call, or failing that, should at least be documented
in the javadoc for this method.
> java.lang.NullPointerException
>         at org.apache.jcs.config.OptionConverter.findAndSubst(OptionConverter.java:289)
>         at org.apache.jcs.config.OptionConverter.instantiateByKey(OptionConverter.java:167)
>         at org.apache.jcs.engine.control.CompositeCacheConfigurator.parseElementAttributes(CompositeCacheConfigurator.java:438)
>         at org.apache.jcs.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:304)
>         at org.apache.jcs.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:280)
>         at org.apache.jcs.engine.control.CompositeCacheManager.getCache(CompositeCacheManager.java:445)
>         at org.apache.jcs.engine.control.CompositeCacheManager.getCache(CompositeCacheManager.java:384)
>         at org.apache.jcs.engine.control.CompositeCacheManager.getCache(CompositeCacheManager.java:371)
>         at org.apache.jcs.JCS.getInstance(JCS.java:66)
>         at com.telstra.tdsdi.cache.CacheManager.configure(CacheManager.java:72)
>         at com.telstra.tdsdi.cache.CacheManager.doWork(CacheManager.java:194)
>         at com.telstra.common.supervisor.SupervisedThread.run(SupervisedThread.java:39)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message