[ https://issues.apache.org/activemq/browse/AMQ-704?page=all ]
Hiram Chirino resolved AMQ-704:
-------------------------------
Fix Version: 4.0
(was: 4.1)
Resolution: Fixed
You can now use the -Dorg.apache.activeio.journal.active.DisableLocking=true
option to disable the activeio locking trick.
> 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
>
>
> 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