Currently, I am running the application as a fat JAR with embedded tomcat server. However, the application would require high availability and clustering in future. Should I consider deploying it in an application server like Jboss? I am open to any software, as long as it is reliable and handy for a simple application like mine.
In my experience, appservers actually do not increase the availability/reliability. It is an important feature in them for their own developers, but fact is that it does not work in practical circumstances. They mean only a new source of possible bugs and configuration problems.
They could have many nice features (like session sharing, or even TLS state sharing), but these features mean little gain on a huge pain. Note: a complex system also mean more danger of an outage and hardly debuggable problems. Cluster systems are all complex, and they can be only done only rarely without critical parts. And these are all Java apps, meaning that even if you reached a good redundant structure of the application, you still have yet another round of pain, doing the same on the persistency backend, too.
Most typically, redundant clustering means in Java environment a code explosion, because they are being done on the java, ignoring the fact that it runs in a complex system of other softwares (for example, apache frontends, or various backend services).
You can learn server-side Java admin/devops at best with Tomcat. Thus, if you would like to choose an appserver, use tomcat (and not the spring boot embedded one, but an ordinary one with its xml configuration).
Beside appservers, jboss (and yet more: weblogic) are often considered large fossils, which is imho not very true, particularly not in big corporate environment. However, to learn them is real pain, mostly because the lack of adequate docs and resources (which is because they not really widely used).
Alternatively, Jetty has yet a KISS (keep it simple and stupid) reputation.