airavata-mft icon indicating copy to clipboard operation
airavata-mft copied to clipboard

Hierarchical class loaders for tranasports

Open DImuthuUpe opened this issue 2 years ago • 0 comments

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 avatar Jan 28 '23 17:01 DImuthuUpe