[
https://issues.apache.org/jira/browse/LOG4J2-500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Remko Popma updated LOG4J2-500:
-------------------------------
Description:
As a stopgap solution for LOG4J2-406, all MBeans are unregistered when a
LoggerContext is stopped.
In an application server, multiple web applications can be deployed and
undeployed independently and a better solution would only unregister the MBeans
associated with the web application that is being undeployed.
Current MBean ObjectNames look like this (simplified):
{code}
...StatusLogger
...ContextSelector
...LoggerContext,ctx=%s
...LoggerConfig,ctx=%s,name=%s
...Appender,ctx=%s,name=%s
...
{code}
Assuming that every web application has a unique name, and this name becomes
the name of the LoggerContext, then one solution would be to create
StatusLogger and ContextSelector MBeans that have the LoggerContext name in
their ObjectName:
{code}
...StatusLogger,ctx=%s
...ContextSelector,ctx=%s
...LoggerContext,ctx=%s
...LoggerConfig,ctx=%s,name=%s
...Appender,ctx=%s,name=%s
...
{code}
This way, every web application would have its own StatusLogger and
ContextSelector MBeans. The MBeans may point to the same (shared) underlying
StatusLogger and ContextSelector objects. When a web application is undeployed,
unregistering all MBeans associated with the LoggerContext will not affect any
MBeans associated with another web application (which has it own, separate,
LoggerContext).
was:
As a stopgap solution for LOG4J2-406, all MBeans are unregistered when a
LoggerContext is stopped.
In an application server, multiple web applications can be deployed and
undeployed independently and a better solution would only unregister the MBeans
associated with the web application that is being undeployed.
> Unloading one webapp unloads JMX MBeans for all webapps
> -------------------------------------------------------
>
> Key: LOG4J2-500
> URL: https://issues.apache.org/jira/browse/LOG4J2-500
> Project: Log4j 2
> Issue Type: Bug
> Components: JMX
> Affects Versions: 2.0-rc1
> Reporter: Remko Popma
>
> As a stopgap solution for LOG4J2-406, all MBeans are unregistered when a
> LoggerContext is stopped.
> In an application server, multiple web applications can be deployed and
> undeployed independently and a better solution would only unregister the
> MBeans associated with the web application that is being undeployed.
> Current MBean ObjectNames look like this (simplified):
> {code}
> ...StatusLogger
> ...ContextSelector
> ...LoggerContext,ctx=%s
> ...LoggerConfig,ctx=%s,name=%s
> ...Appender,ctx=%s,name=%s
> ...
> {code}
> Assuming that every web application has a unique name, and this name becomes
> the name of the LoggerContext, then one solution would be to create
> StatusLogger and ContextSelector MBeans that have the LoggerContext name in
> their ObjectName:
> {code}
> ...StatusLogger,ctx=%s
> ...ContextSelector,ctx=%s
> ...LoggerContext,ctx=%s
> ...LoggerConfig,ctx=%s,name=%s
> ...Appender,ctx=%s,name=%s
> ...
> {code}
> This way, every web application would have its own StatusLogger and
> ContextSelector MBeans. The MBeans may point to the same (shared) underlying
> StatusLogger and ContextSelector objects. When a web application is
> undeployed, unregistering all MBeans associated with the LoggerContext will
> not affect any MBeans associated with another web application (which has it
> own, separate, LoggerContext).
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]