[wildfly-dev] "Boot time" system props in the managed server's model

Kabir Khan kabir.khan at jboss.com
Thu Feb 5 12:51:46 EST 2015


> On 5 Feb 2015, at 17:33, Jason Greene <jason.greene at redhat.com> wrote:
> 
> 
>> On Feb 5, 2015, at 11:24 AM, Brian Stansberry <brian.stansberry at redhat.com> wrote:
>> 
>> On 2/5/15 11:13 AM, Kabir Khan wrote:
>>> 
>>>> On 5 Feb 2015, at 16:39, Brian Stansberry <brian.stansberry at redhat.com> wrote:
>>>> 
>>>> tl;dr
>>>> 
>>>> We have a minor anomaly in system property processing in domain mode
>>>> that we intend to ignore.
>>>> 
>>>> long version
>>>> 
>>>> While digging into a bug Emmanuel Hugonnet noticed an anomaly. When you
>>>> define a system-property resource in domain.xml or host.xml with
>>>> "boot-time=true", the HC does both of the following when it launches a
>>>> server:
>>>> 
>>>> 1) Uses -D to set the prop when it starts the server process.
>>>> 
>>>> 2) Adds an add system-property op to the server's set of boot ops, which
>>>> causes the system property to get set again later during boot.
>>>> 
>>>> Really, only 1) should happen; that's what "boot-time=true" means. The
>>>> purpose of boot-time=true is to ensure the value is set at JVM launch,
>>>> not waiting for management ops to execute, which may be too late for
>>>> props that are read early.
>>> I am not 100% convinced.
>> 
>> Me neither. :)
>> 
>> 1) should of course happen. But it could be argued that something in the 
>> domain management model should always be reflected in the resulting 
>> server management model. It feels a bit weird to make random exceptions.
>> 
>> It's similar to a jvm setting. It's a configuration of how the HC behaves.
> 
> If I understand correctly, the add op generated on all servers sets a system property, which activates at runtime correct?
> 
> If so I actually think the behavior is arguably correct, if a bit odd.

They will get set in its system properties, although it might be 'too late’ e.g. -Djava.security.manager needs to be passed in at boot time (this is a bad example since we’re moving to -secmgr but there are probably others)
Still I think this affects the whole system property idea, there could be other non-boot-time ones which are read on subsystem startup, and affect how a subsystem behaves. Changing those later has no effect. Or a similar example are the properties to toggle ipv4 vs ipv6, I believe once the stack has initialised changing those doesn’t have any effect whatsoever.
> 
> --
> Jason T. Greene
> WildFly Lead / JBoss EAP Platform Architect
> JBoss, a division of Red Hat
> 




More information about the wildfly-dev mailing list