You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by cristisor <cr...@yahoo.com> on 2013/10/02 14:30:46 UTC

Upgrading ServiceMix 3.6.0-fuse-00-89 old libraries

Hello all,

I'm using ServiceMix 3.6.0-fuse-00-89 to deploy some components. In order to
reduce the size of the assemblies I have added many of the dependencies with
the provided scope, and they can be found in the /lib folder. This includes
Spring and some apache commons libraries among the others.
The whole application also contains standalone components and I want to
upgrade everything, for example, from Spring 2.5.6 to Spring 3.2.1, which is
different from Spring 3.0.5 included in the ServiceMix release.
Other libraries would be commons-io 1.4 to 2.4 and commons-lang 2.4 to 2.6
since commons-lang 3.2 has a different package naming and everything will
probably fail.
What do you think, will the Spring update do any harm?
I have to say that I already upgraded the 5.5.0-fuse-00-89 broker to
5.5.1.fuse-70-097 and everything is working just fine.

P.S. I can't upgrade to ServiceMix 4 and give up the JBI units.


Thanks,
Cristisor.



--
View this message in context: http://servicemix.396122.n5.nabble.com/Upgrading-ServiceMix-3-6-0-fuse-00-89-old-libraries-tp5717994.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Re: Upgrading ServiceMix 3.6.0-fuse-00-89 old libraries

Posted by cristisor <cr...@yahoo.com>.
So I upgraded to Spring 3.2.1, I upgraded some commons libraries, etc, and
nothing has been broken. But I noticed that the servicemix-bean,
servicemix-camel, etc, components have their own lib folder which contains
some of the libraries that are deployed in the servicemix/lib folder also.
For example, servicemix-camel-2011.02.0-fuse-00-89-installer.zip contains
spring-context-3.0.5.RELEASE.jar.

I noticed that I can deploy a service assembly ONLY if all the "provided"
libraries for that assembly are located in the /lib folder. If a library,
like the camel-core-2.7.3-fuse-00-89.jar, is not in the /lib folder the
assembly installation will fail even though the same library can be found in
the servicemix-camel-2011.02.0-fuse-00-89-installer.zip component. But the
component will be installed successfully, no matter if the
camel-core-2.7.3-fuse-00-89.jar is present or not in the /lib folder.

Can someone explain how the container works, how the components/libraries
are loaded? If the component contains spring-context-3.0.5.RELEASE.jar and
in the /lib folder I put spring-context-3.2.1.RELEASE.jar, then the
component will use 3.0.5 but my assemblies will use 3.2.1?

Thanks and many apologies for all this complex questions.



--
View this message in context: http://servicemix.396122.n5.nabble.com/Upgrading-ServiceMix-3-6-0-fuse-00-89-old-libraries-tp5717994p5718027.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.