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/10/07 15:11:20 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.patch

This is a major big patch that applies the following:

- Rename ContainerConfig.Container to ContainerConfig.Configuration, the old
  nameing was very confusing as it confuses it with actual containers
- Change the signature of ContainerLoader and Container to accept
  List<StartupCommand> instead of String[]. And also migrate the adapter for
  converting these args into a standalone class called
  StartupCommandsToArgsAdapter
- Remove the LockedBy annotation as it is not used
- Substantially simplify the ContainerLoader load and unload logic and delete
  the start logic (merge it with load). The interface StartupLoader was updated
  accordingly
- Remove old logic to load containers in hot-deploy components
- Remove printThreadDump output from ContainerLoader which used to exist for
  debugging purposes and is no longer necessary
- Cleanup the AdminServer startup logic
- Change the StartupControlPanel logic to use only one StartupLoader instead
  of a list. The only implementation is ContainerLoader
- Remove the synchronized blocks in StartupControlPanel due to having only one
  loader
- Update the startup .properties files to reflect the changes in the startup
  logic
- Update the TestRunContainer to use List<StartupCommand> in its logic

> 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: Upcoming Branch
>            Reporter: Taher Alkhateeb
>            Assignee: Taher Alkhateeb
>            Priority: Minor
>         Attachments: 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)