spring-projects / spring-integration-extensions

The Spring Integration Extensions project provides extension components for Spring Integration
http://www.springintegration.org/
280 stars 266 forks source link

Consider using another samba support library instead of jcifs #255

Open icstreispe opened 2 years ago

icstreispe commented 2 years ago

We tried to use SI with the default library jcifsversion 2.1.28 but the performance was very poor. We first thought might be a buffer size problem and tried to class shadow some internal spring and spring integration classes in order to boost performance but to no succes. Transferring a 200MB file took 13minutes+ no matter what. In the end we gave up using some SI components, build a custom component for file transfer to samba based on hierynomus/smbj library version 0.11.5 and our time transfer fall down to below 1m for 200MB.

artembilan commented 2 years ago

Sure! Having a new Spring 6 era I guess we are free to make radical changes in this Spring Integration SMB module as well. Feel free to contribute such a fix: https://github.com/spring-projects/spring-integration/blob/main/CONTRIBUTING.adoc. Kinda start version 2.0, based on Spring Integration 6.0 and so on.

Thanks

GregBragg commented 2 years ago

I have been using this library for over 2 years in Production now and I have never experienced the performance issues that you mentioned... have you profiled that it is JCIFS causing the slowdown?

We could move this to another SMB library, however that would be a radical change I would imagine and we would need to make sure that all the functionality of JCIFS is reflected in SMBJ. Are you willing to take on this work?