[jboss-jira] [JBoss JIRA] (WFCORE-3146) Prevent default loading of legacy ManagementXml and AuditLogXml impls

Brian Stansberry (JIRA) issues at jboss.org
Thu Aug 3 22:41:00 EDT 2017


     [ https://issues.jboss.org/browse/WFCORE-3146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Stansberry updated WFCORE-3146:
-------------------------------------
    Description: 
The legacy variants of ManagementXml and AuditLogXml are getting loaded but aren't used, which is a waste of boot time and of metaspace.

It turns out that the idiom of having the impls extend an abstract base class and then having a static factory method in the abstract class results in all the different impl classes being loaded into memory. Simply changing the abstract base class to an interface eliminates the problem.

While I'm at it, the legacy impls still have code for the writeXXX methods, which should never be called. So I'll clean that out and replace with a default impl that throws UnsupportedOperationException.

I'll do some other code cleanup on these too, removing unused params, etc.

  was:
The legacy variants of ManagementXml and AuditLogXml are getting loaded but aren't used, which is a waste of boot time and of metaspace.

It turns out that the idiom of having the impls extend an abstract base class and then having a static factory method in the abstract class results in all the different impl classes being loaded into memory. Simple changing the abstract base class to an interface eliminates the problem.

While I'm at it, the legacy impls still have code for the writeXXX methods, which should never be called. So I'll clean that out and replace with a default impl that throws UnsupportedOperationException.

I'll do some other code cleanup on these too, removing unused params, etc.



> Prevent default loading of legacy ManagementXml and AuditLogXml impls
> ---------------------------------------------------------------------
>
>                 Key: WFCORE-3146
>                 URL: https://issues.jboss.org/browse/WFCORE-3146
>             Project: WildFly Core
>          Issue Type: Task
>          Components: Domain Management
>            Reporter: Brian Stansberry
>            Assignee: Brian Stansberry
>
> The legacy variants of ManagementXml and AuditLogXml are getting loaded but aren't used, which is a waste of boot time and of metaspace.
> It turns out that the idiom of having the impls extend an abstract base class and then having a static factory method in the abstract class results in all the different impl classes being loaded into memory. Simply changing the abstract base class to an interface eliminates the problem.
> While I'm at it, the legacy impls still have code for the writeXXX methods, which should never be called. So I'll clean that out and replace with a default impl that throws UnsupportedOperationException.
> I'll do some other code cleanup on these too, removing unused params, etc.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list