I am seeking for the advantages of having Spring deployed on Tomcat rather then have it out side of any application server container.
My project doesn’t require any web support.
It does requires technologies like transactions management, DB pool, JMX, low latency and more common java-ee technology.
So why would I use tomcat anyway? if it’s just because of the reason of having DB POOL, I could implement it myself. I am looking for low latency solution.
Again, my project is a total backend no need of any web support.
So what do I miss here?
What do you actually mean by “more common Java EE technology”?
If it’s “just a back end”, what is the front end? How will applications talk to the back end?
If there’s no need for a web interface, there’s no advantage to using a web container.
If you have complex transaction management needs, need message queues, etc. that may be easier to set up under an application server (as opposed to a web container) because there are existing admin/management interfaces. All those may also be set up on their own, but can be more of a pain–using Spring may mitigate that pain somewhat.
The need for “more common Java EE technology”, however, makes me a little nervous about implementing a standalone app, though. App containers have all that “common Java EE technology” built-in, tested, and functional. If you’re bolting a variety of packages together to give you “common Java EE technology”, without using a common Java EE app container, it’s likely easier to just use an app container, which also gives you the benefit of providing normalized access to your services from a variety of sources.