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