You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "solprovider (JIRA)" <ji...@apache.org> on 2007/06/13 20:01:35 UTC

[jira] Updated: (GERONIMO-3243) ActiveMQ violates System Properties

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

solprovider updated GERONIMO-3243:
----------------------------------

    Description: 
The latest Geronimo 1.2 and 2.0 use ActiveMQ.  (Would someone familiar with Geronimo development please add all affected versions?)
ActiveMQ adds a HashMap as a global Property named "org.apache.activeio.journal.active.lockMap".
Properties must use Strings for keys and values per http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html
This causes any code reading all the Properties and expecting Strings to error.

Here is a test:
   boolean test(){  //true = passes, false = failed.
      boolean test = true;
      java.util.Properties properties = System.getProperties();
      java.util.Enumeration enumeration = properties.elements();
      while(test & enumeration.hasMoreElements()) test= String.class.equals(enumeration.nextElement().getClass());
      enumeration = properties.keys();
      while(test & enumeration.hasMoreElements()) test= String.class.equals(enumeration.nextElement().getClass());
      return test;
   }

The permanent fix is for Geronimo to update to a better version of ActiveMQ, either downgrading to before the bug was programmed or wait for the ActiveMQ team to follow the standards.  That is unlikely to be tested and released quickly.

The quick fix  is to disable the offensive code.  For Geronimo 1.2 on Windows, add this line at the beginning of STARTUP.BAT:
SET GERONIMO_OPTS=-Dorg.apache.activeio.journal.active.DisableLocking=true %GERONIMO_OPTS%

David Jencks suggested that Geronimo can set the org.apache.activeio.journal.active.DisableLocking property in a Geronimo SystemProperties gbean, there's one called ServerSystemProperties in j2ee-server.

  was:
The latest Geronimo 1.2 and 2.0 use ActiveMQ.  (Would someone familiar with Geronimo development please add all affected versions?)
ActiveMQ adds a HashMap as a global Property named "org.apache.activeio.journal.active.lockMap".
Properties must use Strings for keys and values per http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html
This causes any code reading all the Properties and expecting Strings to error.

The error can be produced with Cocoon's SitemapVariableHolder for XMAP constants:
<map:component-configurations><global-variables>
<myConstant>Hello World</myConstant>
</global-variables></map:component-configurations>
"{global:myConstant}" errors

The permanent fix is for Geronimo to update to a better version of ActiveMQ, either downgrading to before the bug was programmed or wait for the ActiveMQ team to follow the standards.  That is unlikely to be tested and released quickly.

The quick fix  is to disable the offensive code.  For Geronimo 1.2 on Windows, add this line at the beginning of STARTUP.BAT:
SET GERONIMO_OPTS=-Dorg.apache.activeio.journal.active.DisableLocking=true %GERONIMO_OPTS%

David Jencks suggested that Geronimo can set the org.apache.activeio.journal.active.DisableLocking property in a Geronimo SystemProperties gbean, there's one called ServerSystemProperties in j2ee-server.


> ActiveMQ violates System Properties
> -----------------------------------
>
>                 Key: GERONIMO-3243
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3243
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: ActiveMQ
>    Affects Versions: 1.2, 2.0-M3, 2.0-M4
>            Reporter: solprovider
>
> The latest Geronimo 1.2 and 2.0 use ActiveMQ.  (Would someone familiar with Geronimo development please add all affected versions?)
> ActiveMQ adds a HashMap as a global Property named "org.apache.activeio.journal.active.lockMap".
> Properties must use Strings for keys and values per http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html
> This causes any code reading all the Properties and expecting Strings to error.
> Here is a test:
>    boolean test(){  //true = passes, false = failed.
>       boolean test = true;
>       java.util.Properties properties = System.getProperties();
>       java.util.Enumeration enumeration = properties.elements();
>       while(test & enumeration.hasMoreElements()) test= String.class.equals(enumeration.nextElement().getClass());
>       enumeration = properties.keys();
>       while(test & enumeration.hasMoreElements()) test= String.class.equals(enumeration.nextElement().getClass());
>       return test;
>    }
> The permanent fix is for Geronimo to update to a better version of ActiveMQ, either downgrading to before the bug was programmed or wait for the ActiveMQ team to follow the standards.  That is unlikely to be tested and released quickly.
> The quick fix  is to disable the offensive code.  For Geronimo 1.2 on Windows, add this line at the beginning of STARTUP.BAT:
> SET GERONIMO_OPTS=-Dorg.apache.activeio.journal.active.DisableLocking=true %GERONIMO_OPTS%
> David Jencks suggested that Geronimo can set the org.apache.activeio.journal.active.DisableLocking property in a Geronimo SystemProperties gbean, there's one called ServerSystemProperties in j2ee-server.

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