[ 
https://issues.apache.org/activemq/browse/AMQ-704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_39230
 ] 

solprovider commented on AMQ-704:
---------------------------------

Just a "me too."  

Geronimo 1.2 uses this code.
I deployed a Cocoon WAR onto Geronimo. 
Using "global variables" in Cocoon XMAPs fails because 
getProperty("org.apache.activeio.journal.active.lockMap") does not return a 
String.

> ActiveIO compromises java.lang.System.properties
> ------------------------------------------------
>
>                 Key: AMQ-704
>                 URL: https://issues.apache.org/activemq/browse/AMQ-704
>             Project: ActiveMQ
>          Issue Type: Bug
>         Environment: ActiveMQ 4.0RC2 (confirmed still around in the current 
> ActiveIO SVN),  Java 1.5 on Windows (but should be a problem anywhere).
>            Reporter: matt hoffman
>            Assignee: Hiram Chirino
>             Fix For: 4.0
>
>
> When using the ActiveIO journal, it's putting a java.util.HashSet into the 
> System.properties (using a properties.put() call that circumvents the  normal 
> System.putProperty() method, that only allows strings).   This isn't allowed, 
> according to java.util.Properties' contract, and therefore breaks other 
> packages that rely on System.properties adhering to its contract.  Most 
> notably, it chokes Hibernate; however, anything that iterates through the 
> System properties will fail after ActiveIO has compromised it with a 
> non-String value.
> Honestly, I don't know why Properties doesn't allow non-String values, but oh 
> well.  From the java.lang.Properties docs: 
> "Because Properties inherits from Hashtable, the put and putAll methods can 
> be applied to a Properties object. Their use is strongly discouraged as they 
> allow the caller to insert entries whose keys or values are not Strings. The 
> setProperty method should be used instead. If the store or save method is 
> called on a "compromised" Properties object that contains a non-String key or 
> value, the call will fail."
> The call is being made in org.apache.activeio.journal.active.ControlFile; I 
> suppose a hack could be created that stringifies the HashSet before placing 
> it in the properties and recreates it before getting it out again; 
> atlernately, a simple singleton or static set could be used.  I'd be happy to 
> implement either one, if you'd like. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to