You are not logged in.
I have a problem like there are around 30 services to be deployed which were created as routes. These services are individually packaged by talend into bundles. The problem is all the bundles import dependency jars which makes the size of bundle 5MB.
combinedly, all the services occupy a huge 30*5 = 150MB of deployment. How to make the deployments smaller in size? Is there a way to share the dependency jars among all the services?
Last edited by vnodkmar (2012-05-18 08:16:38)
The clean way to share dependencies in OSGi is to use Import-Package statements. Currently we do not yet support this in Studio. I hope we soon can provide a way to decide if you want a dependency to be added to the jar or instead create suitable Import-Package statements so you can deploy the dependencies as separate bundles.
Size of the bundles is a valid issue. Main reason for that - libraries used by components. Each job contains a number of components, each component have a list of JAR files that are required. All JARs from all components on the Job are put together and _by default_ embedded in the OSGi bundle.
There are some cases where JAR are not embedded in the OSGi bundle, but instead Require-Bundle is used, however such cases need that XML with component description would declare 'alternative' require-bundle statement for JAR file.
Talend Studio has around 500+ components. Right now not all of them (very few) are migrated to support OSGi-way of declaring dependencies, however practically speaking for majority of the cases we should be able to do that. Doing that will decrease the size of the OSGi bundles and increase consistency of the entire platform.
I would suggest to submit a change request, and implementation of that change request will be faster and simpler if you would list components you use in your Jobs.
Last edited by zubairov (2012-07-04 14:02:00)