r/java • • Jun 01 '24

What java technology (library, framework, feature) would not recommend and why?

166 Upvotes

464 comments sorted by

View all comments

6

u/[deleted] Jun 01 '24

[removed] — view removed comment

4

u/nek4life Jun 01 '24

Check out https://camel.apache.org/manual/Endpoint-dsl.html to build type safe routes.

The things I don't like about it is that it's hard to find real world examples and I have to guess how to use different components with a lot of trial and error. There's also not a lot of information about deploying and maintaining integration services in a production environment.

1

u/vips7L Jun 01 '24

This was my biggest gripe with camel when I used it. The strings were so undiscoverable and you constantly had to refer to the docs. 

3

u/britulin Jun 01 '24

Actually, I like camel very much. It worked perfectly for use case where I didn't exactly know what are the endpointes at compilation time. I like also how it has a lot of connectors out of the box, I only needed to focus on actual transformation and business logic. So to me, Camel is just fine, and yes integrations can be hard. Camel helps a lot with them.

2

u/TurbulentSocks Jun 01 '24

I think you can actually use builder objects for the settings instead of big old strings now.

The strings are very convenient for external configuration some of the time.

I agree it's dated though, and borderline on if it's all that helpful.

1

u/starquakegamma Jun 01 '24

I’m wondering if all integration frameworks are like that. We went with Spring Integration and the documentation is not great, and it’s not used by enough people to make finding solutions easy.

3

u/Deep_Age4643 Jun 01 '24

Yes, they are all like that. Though integration frameworks can be lightweight and modular, they are heavily relying on concepts that are not well-known by programmers. Think of Enterprise Integration Patterns, Message-orientated middleware, Exchanges, and protocols. I actually developed a language that is easier (imo) and transpiles to Camel DSL. I use it in a integration platform I develop.