couldn't we simply add syst prop to th ejb container before adding the map?

it is what we do for other container styles

- Romain


2012/2/16 David Blevins <[email protected]>

> Just a reminder that when adding flags and properties into code, to use
> the SystemInstance Options to check for those properties.
>
> Specifically, calls like the following should be avoided.
>
>  - Boolean.getBoolean("foo")
>  - System.getProperty("foo")
>
> If someone were to attempt to use the above in an embedded scenario like
> so, they would be ignored:
>
>    Properties p = new Properties();
>    p.setProperty("foo", "the value");
>    EJBContainer.createEJBContainer(p);
>
> Same if those were passed into an InitialContext or specified via a
> jndi.properties file.
>
> The nice thing about placing properties in these areas is they only last
> temporarily.  If you run a test like this:
>
>    Properties p = new Properties();
>    p.setProperty("foo", "the value");
>    EJBContainer.createEJBContainer(p);
>
> Then this:
>
>    Properties p = new Properties();
>    EJBContainer.createEJBContainer(p);
>
> The "foo" property of the previous test does not persist to the next test
> and change the behavior in unwanted ways.  So the SystemInstance
> effectively allows us to create and destroy the container several times in
> a VM without any "bleeding" of static state.
>
> In that spirit, ideally we'd not store properties obtained through
> SystemInstance Options as static variables.  Not sure how good we've been
> in that regard in the past.  Probably something we should evaluate.
>
> Also note, you can check for properties at an application, module or ejb
> level.  There are only a couple places where we use that so far, but
> certainly something it would be nice to see used more.
>
> Another interesting feature of the Options class is that it will log the
> property and value.  Debug is used if the default value is chosen.  Info
> level is used if the user changed the default.  So it makes it easier for
> users to know if we are in fact "seeing" the property.  Nice because it's
> really easy to misspell property names and spend a couple hours pulling
> your hair out.
>
>
> -David
>
>

Reply via email to