r/javahelp • • 3d ago

Big monolith app using Wildfly

I'm managing a big and old monolith Wildfly app. I'm not doing development, I'm on the DevOps team.

It's using many subsystem: infinispan, jgroups, elytron, activemq-messaging, transactions, etc

Can anyone recommends some resource to learning more about these ?

All I found on google was technical docs like https://docs.wildfly.org/34/wildscribe/subsystem/jgroups/index.html

There's no tutorial, not beginner friendly things.

The Wildfly official doc (Subsystem configuration) is also very vague. It assume that we're already familiar with its concepts.

For example, I know what a transaction is but I don't know anything about the transaction subsystem.

  • Are subsystem transparent to dev team or does they need additional library on using these ?
  • Should I migrate to a separate ActiveMQ server and remove that subsystem ?
  • So many question ...

Thanks !

6 Upvotes

10 comments sorted by

View all comments

2

u/LetUsSpeakFreely 3d ago

Wildfly is just a streamlined JBoss.

If you have tight integration with the application server, you need to start there. Refactor to get more abstraction. You should be able to drop your WAR file into Tomcat, Jetty, etc.

Being directly tied to a specific vendor is a Bad Idea.

1

u/LimpAuthor4997 2d ago

I'm not sure if I understand. So  you want me to check if the war still works on a different application server ?

1

u/LetUsSpeakFreely 2d ago

I'm saying that if you can deploy your application to other servers then using Wildfly is irrelevant. It's just a server for you so there not much you need to think about (although i would investigate going to Tomcat or Jetty). Most people use JBoss/Wildfly to tie into J2EE infrastructure. If your application is doing that, is there a way to do it without directly tying in (can you create interfaces and dependency injection so migrating to another server is easier)? Could your application be better served by moving to Spring Boot (it's the industry standard for a reason).

If you have to use the J2EE components, so be it, but have a migration plan just in case. You should always be looking for vulnerabilities in tech stack and how to mitigate them. What happens if support drops for Wildfly? What happens if operational requirements change? What happened of there is a fundamental change in your system architecture? E.g. move to cloud infrastructure that handles a lot of the heavy lifting for you.

1

u/LimpAuthor4997 18h ago

Thanks for the clarification but as I said - while doing a little bit of programming myself on my free time - as I said I'm not on the dev team so these are unknown to me. So I need to ask them for this. But these are eye-opening so thank you again