camunda-community-hub / camunda-platform-7-camel

Community Extension to add Apache Camel support for Camunda Platform 7
Apache License 2.0
82 stars 57 forks source link

Update to camel 3.2.0 #58

Closed matheusca closed 4 years ago

matheusca commented 4 years ago

Hey,

Thanks a lot for this project camunda team, it helps so much!

I'm testing camunda-bpm-camel along with my project and I've noticed that camel version supported is 3.0.1. What do you think to update to 3.1.0 or 3.2.0?

Camel 3.3.0 is coming soon https://github.com/apache/camel/releases/tag/camel-3.3.0, so I think it's important to update camunda-bpm-camel asap.

If you want, I could do this myself, but I'd like to listen you first

berndruecker commented 4 years ago

Hey @matheusca - thanks for the feedback! I am actually not aware of the concrete changes Camel did. You should be able to use it with the latest version - not only the version we have in the POM. We do not have officially supported versions as we also don't have a QA matrix to test different versions.

That's said, if it does not break anything or influence backwards compatibility I don't see a reason not to move to 3.2 or 3.3 - could you verify and probably create a PR?

matheusca commented 4 years ago

@berndruecker unfortunaly, there are some breaking changes.

Exactly two things need to be changed

The first one is: https://camel.apache.org/manual/latest/camel-3x-upgrade-guide.html#_log_changed_to_private_static_log. Now you need to instance your own log, so this break things like: https://github.com/camunda/camunda-bpm-camel/blob/master/camunda-bpm-camel-common/src/main/java/org/camunda/bpm/camel/component/externaltasks/BatchConsumer.java#L118

The second one is: https://camel.apache.org/manual/latest/camel-3x-upgrade-guide.html#_exchange. Now when you use exchange for developing custom components how we are doing, we need to use adapt method and extend ExtendedExchange to do it, so methods such as: https://github.com/camunda/camunda-bpm-camel/blob/master/camunda-bpm-camel-common/src/main/java/org/camunda/bpm/camel/component/externaltasks/BatchConsumer.java#L254 are moved to this new interface

I think we need to bump camunda-bpm-camel to a new version and document it that just work properly with camel version 3.1+

What do you think?

berndruecker commented 4 years ago

The logging is not an issue - but the breaking change is not super nice. On the other hand, we don't have much movement in this library - so I would be OK to move forward with this. Could you do a PR? Then I am happy to review and accept it (and release a new version).

berndruecker commented 4 years ago

PS @matheusca - your twitter link in the profile has a typo ;-)

matheusca commented 4 years ago

@berndruecker PR opened https://github.com/camunda/camunda-bpm-camel/pull/59

PS Thanks for advising about my twitter link :)

berndruecker commented 4 years ago

Just merged the PR and released a 0.8.0 - thanks again!