You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Taher Alkhateeb (JIRA)" <ji...@apache.org> on 2016/11/27 12:32:58 UTC

[jira] [Updated] (OFBIZ-8337) Refactor and simplify the startup sequence in OFBiz

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

Taher Alkhateeb updated OFBIZ-8337:
-----------------------------------
    Attachment: OFBIZ-8337-2.patch

This is a new major patch for refactoring the startup sequence with the following highlights:

- simplify and cleanup the ofbiz-containers.xml to have only one entry
- substantially simplify the ComponentLoaderConfig class and remove unnecessary defined state
- delete the JustLoadComponentsContainer (used to exist for the server command --testlist which no longer exists)
- Fully refactor the ComponentContainer class and breakup the messy logic into chunks of private methods. The methods are also properly documented.

It is still not up to notch, but compared to the absolute mess it used to be, the code is now much more readable.

> Refactor and simplify the startup sequence in OFBiz
> ---------------------------------------------------
>
>                 Key: OFBIZ-8337
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-8337
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: base, start
>    Affects Versions: 16.11.01
>            Reporter: Taher Alkhateeb
>            Assignee: Taher Alkhateeb
>            Priority: Minor
>         Attachments: OFBIZ-8337-2.patch, OFBIZ-8337.patch
>
>
> The startup sequence in OFBiz is highly complex and requires improvements on multiple levels including:
> - The entire classpath buildup logic and org.apache.ofbiz.base.start.Classpath needs to be removed. The original idea of classpath isolation between the components created many more problems than it solved, and right now the classpath construction is the responsibility of the build system.
> - The custom classloader needs to be removed as well together with the classpath mentioned above.
> - The StartupLoader interface should remove the start() method and just have two methods, load and unload.
> - The startup sequence should have only one StartupLoader, not an array of startup loaders. This StartupLoader (implemented as ContainerLoader) is the only class responsible for bootstrapping OFBiz
> - The ContainerLoader needs to be completely refactored, not only to remove the start() method but also to cleanup the very messy logic currently residing there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)