[ 
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-3.patch

This is another major patch which further refactors the startup sequence:

- Delete the NativeLibClassLoader
- Refactor the ComponentContainer and StartupControlPanel to operate without
  the NativeLibClassLoader. This substantially simplifies the code
- Declare a URLClassLoader in ComponentContainer that is instantiated upon
  building the classpath for all components. This makes the classloader start
  in one shot
- Simplify the Config file and remove fields that are not used. Also
  refactor some messy logic for loading the props file and other code
  improvements
- Refactor all the .properties files for startup to have a consistent
  structure that clearly documents all available properties and the
  default value for each property. This change is also related to the
  changes applied on Config.java
- Remove the declaration of the StartupLoader implementation class
  from all startup .properties files because only one implementation exists
  and it should be the default always.
- Refactor the loaders retrieval code (main, rmi, test, load-data) defined
  in the startup .properties files
- Refactor some switch statements to comply with java coding standards
- Add the DTDs defined in base through Gradle because we removed the
  NativeLibClassLoader and the classpath buildup logic in StartupControlPanel

> 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 Release
>            Reporter: Taher Alkhateeb
>            Assignee: Taher Alkhateeb
>            Priority: Minor
>         Attachments: OFBIZ-8337-2.patch, OFBIZ-8337-3.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)

Reply via email to