Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hierarchical class loaders for tranasports #82

Open
DImuthuUpe opened this issue Jan 28, 2023 · 0 comments
Open

Hierarchical class loaders for tranasports #82

DImuthuUpe opened this issue Jan 28, 2023 · 0 comments
Assignees

Comments

@DImuthuUpe
Copy link
Contributor

DImuthuUpe commented Jan 28, 2023

Currently MFT standalone service and Agent bundles with all the available transport libraries. This makes the distribution very fat and prone to various dependency conflict issues. The ideal way is to have hierarchical class loaders to load transports [3] on demand and keep the main distribution light and simple. The ConnectorResolver and MetadataCollectorResolver should use separate class loaders to load jars for each transport. Libs for each transport can be organized in subdirectories of the lib directory of the distribution.

[1] https://github.com/apache/airavata-mft/blob/master/core/src/main/java/org/apache/airavata/mft/core/ConnectorResolver.java#L33
[2] https://github.com/apache/airavata-mft/blob/master/core/src/main/java/org/apache/airavata/mft/core/MetadataCollectorResolver.java
[3] https://github.com/apache/airavata-mft/tree/master/transport

@DImuthuUpe DImuthuUpe self-assigned this Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant