[ https://issues.apache.org/activemq/browse/AMQ-704?page=all ]
Hiram Chirino reassigned AMQ-704: --------------------------------- Assign To: Hiram Chirino > ActiveIO compromises java.lang.System.properties > ------------------------------------------------ > > Key: AMQ-704 > URL: https://issues.apache.org/activemq/browse/AMQ-704 > Project: ActiveMQ > 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 RC2 > > > 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. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira