Question

Could anyone advise as to the pros and cons of using Pivotal tc Server as opposed to just vanilla Tomcat for a Spring-MVC Java web application? Could find very little about Pivotal other than on their website and the fact it's packaged as part of the Spring Tool Suite. This lack of info is making me a bit wary about being dependent on it...

Background: Am preparing the development environment for a Spring-MVC project and currently evaluating whether to use the packaged Spring Tool Suite (STS) or just start with the latest Eclipse (possibly combined with the Eclipse STS plugin). Came across Pivotal tc Server as one of the optional components in this plugin.

Was it helpful?

Solution

Pivotal tc Server contains all of vanilla Tomcat, and has a few optional extensions designed to make it easier to deploy and maintain. Broken out into three groups, the diff looks like this:

Configuration extensions (No altered code, just config changes we implement)

  • Multi-Instance using shared binaries
    • Trivial to change Tomcat versions while preserving app and configuration
  • Variable Substitution in config files
  • Async Logging
  • Mild Security Tuning (ports, mgmt apps, JMX)

Code Extensions

  • Patch version releases – fix flaws in current release [e.g. tomcat-7.0.32.B.RELEASE]
  • Extended JMX interface
    • Additional Metrics
    • Application Deployment
  • Diagnostics Valve - good troubleshooting info when there's a slowdown
  • Config Templates – including custom-created
  • Change log level on the fly
  • Advanced Session replication (Gemfire)
  • Oracle DB Connection Proxy

Add-Ons

  • Windows Service Wrapper
  • RPM / Apt-Get / Debian installers (linux)
  • Startup scripts (linux)
  • Chef Recipes
  • Puppet Scripts
  • Password Encryption
  • Spring Insight for performance tuning

FYI on the tag thing, there's still the old "springsource-tc-server" tag. SpringSource is now Pivotal. (Can/should we update the tag or add a new one?)

Hope this helps.

OTHER TIPS

SpringSource tc Server is an enterprise version of Apache Tomcat, the widely used Web application server. SpringSource tc Server is hardened for enterprise use and is coupled with key operational capabilities, advanced diagnostics, and is backed by mission-critical support.

SpringSource tc Server is designed to be a drop in replacement for Apache Tomcat, ensuring a seamless upgrade path for existing custom-built and commercial software applications already certified for Tomcat. Maintaining this level of compatibility enables our customers to add the business-critical functionality they need to more effectively run and manage their applications with the least amount of effort.

find more information at http://static.springsource.com/projects/tc-server/6.0/getstart/cgsdiffs.html

This doesn't answer your question about the pros and cons, but I found this site really helpful in getting tc server up and running in STS. http://sosiouxme.wordpress.com/2012/04/06/the-missing-guide-to-creating-and-modifying-tc-server-instances-for-sts/

To me it seems a high price for just getting a servlet container. Specifically, it (the tc server) seems to try to mimmic a production quality application server (servlet engine) with the added features. For development it seems overkill. You could just as well use Tomcat stand-alone or Glassfish or Jetty.

I would choose the tc server if my target was some cloud implementation of Cloud Foundary that was ultimately my target production deployment environment.

Finally, I just noticed that the tc server is a commercial offering. So, the licensing implications should the features become integral to your delivery, might have a cost that your project would not bear: https://www.cdw.com/shop/products/SpringSource-tc-Server-Spring-Edition-license/2156278.aspx

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top