[
https://issues.apache.org/activemq/browse/AMQ-704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Strachan resolved AMQ-704.
--------------------------------
Resolution: Fixed
Fix Version/s: (was: 4.0)
5.0.0
This is fixed in 5.0.0 (as we no longer use ActiveIO by default).
For folks on earlier versions, the work around is
-Dorg.apache.activeio.journal.active.DisableLocking=true until things are
migrated to 5.0.
If someone fancied submitting a patch we could make it easier to disable this
option via the activemq.xml or something.
> 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: 5.0.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.