[
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)