Re: Tomcat and Spring Framework
On Mon, Mar 10, 2014 at 3:58 PM, Mark H. Wood wrote: > It's probably worth asking what "full-fledged enterprise applications" > means. I'm not aware of any specification with that title. > Indeed there is no such specification. The point is that Java enterprise development is not always defined nor does it have to be defined by specs. The spec development process is tricky at best. You have to do it not too early (ahead of experience) and not too late either. Open source is actually in a much better position to evolve continuously by capturing developer feedback and providing results quickly. So certainly don't discount just because it's not a spec. Rossen
Re: Tomcat and Spring Framework
On Mon, Mar 10, 2014 at 3:58 PM, Mark H. Wood wrote: > It's probably worth asking what "full-fledged enterprise applications" > means. I'm not aware of any specification with that title. Mark, you are right - there is no specification named "full-fledged enterprise JEE server". There is only one JEE specification (well few different versions, e.g. JEE5, JEE6, JEE7 see links below), and other related specifications (EJB, Servlet, etc...) What I meant is that - historically, Tomcat implemented only a subset of functionalities of a JEE application server. Namely, Tomcat implemented the Servlet specification (e.g. Servlet 2.4, 2.5, 3.0, 3.1... ) - whereas, "full-fledged JEE appservers" had to implement the entire stack of APIs that were part of that JEE specification. Dan provided some great discussion points and summary on comparing Spring and JEE. If you search online, you will probably find a lot of heated discussion which one is better, do they complement each other, how they compare, how they differ, etc... Bottom line, Spring framework is used by many and it makes it easier to develop enterprise applications. Similarly, JEE (JEE5, JEE6, JEE7) is used by many, and now, it makes it easier to develop enterprise applications, finally (compared to previous J2EE implementations). Historically, one of the main complaints when developing applications was the server startup time on developer machines. Tomcat has traditionally been very quick to startup, whereas (old) JEE servers took forever to startup (I am looking at you WebSphere :) which caused major grief redeploying, restarting, and managing appservers in development. Any change would take forever to restart and test. Of course, that's been long fixed now - JBoss/Wildfly, Glassfish, WebSphere (Liberty), etc... they all have significantly reduced appserver startup time. Please ask - if you have specific questions. Links: [1] JEE5 - https://jcp.org/en/jsr/detail?id=244 [2] JEE6 - https://jcp.org/en/jsr/detail?id=316 [3] JEE7 - https://jcp.org/en/jsr/detail?id=342
Re: [OT] The Service Component
On 3/10/2014 2:42 PM, Christopher Schultz wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Leo, On 3/10/14, 5:10 PM, Leo Donahue wrote: I have to change the following in server.xml when I add more Tomcat instances or upgrade: server shutdown port connector port for HTTP connector port for AJP realm org.apache.catalina.realm.UserDatabaseRealm if digesting passwords in tomcat-users.xml host appbase (optional depending on config) valve org.apache.catalina.valves.AccessLogValve (optional depending where you like the root log to go) cleaning up all the comments... I script all of this with ant. Since I segment all of my web applications into separate JVM/Tomcat instances, I just need: 1. An appBase 2. A shutdown port 3. A "normal" port (usually AJP) 4. (optional) a loopback-only port for privileged applications that want to access my instance locally without HTTPS, load-balancing, etc. We have multiple devs using the same shared development environment, so everyone has an "app a" and "app b", and so on. We create a parameterized server.xml file that basically says , etc. and then ant takes a user-specific configuration file and builds the configuration on the fly. To deploy a new Tomcat instance, we just clone a started-project, give it a name (in Ant's attribute) and it picks-up the configuration from this user-config file. $ ant install tomcat-start That's all it takes us to build a properly-configured CATALINA_BASE, install the web application under development and launch Tomcat. I've been using this setup for over 10 years at this point, and it's been fantastic. - -chris Yep, I've done something similar with ant and property files. We version control the property files so if values need changing, we have a record. The way we do upgrades is pretty handy. 1. create a new service with a new CATALINA_BASE and CATALINA_HOME 2. shut down the old service 3. move two links (to the new CATALINA_BASE and CATALINA_HOME) 4. start the new service Step 1 has no impact on production, so we can do this well in advance. Rollback is just as easy - repeat steps 2-4. It takes longer to do the bookkeeping than it does to do the actual upgrade (or downgrade). The script also has the capability of adding (or deleting) Host nodes. Each Host node gets its own properties file. This is done on Linux, so links work as expected. In short, there are lots of ways to manage a bunch of Tomcat instances with little effort. . . . . just my two cents. /mde/ - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat7w.exe
On Mon, Mar 10, 2014 at 10:37 AM, Jeffrey Janner < jeffrey.jan...@polydyne.com> wrote: > > -Original Message- > > From: Leo Donahue [mailto:donahu...@gmail.com] > > Sent: Friday, March 07, 2014 11:10 AM > > To: users@tomcat.apache.org > > Subject: Tomcat7w.exe > > > > Did I miss something in the documentation about renaming this if one is > > running multiple windows services of Tomcat? > > > > ex: > > #Prod port 80 > > c:\apache-tomcat > > c:\apache-tomcat\apache-tomcat-7.0.52 > > service install Tomcat7 (from bin directory here) > > > > #Dev port 8080 > > c:\apache-tomcat-dev > > c:\apache-tomcat-dev\apache-tomcat-7.0.52 > > service install Tomcat7dev (from bin directory here) > > > > If I run the Tomcat7w.exe from #Dev, all of those settings point to > > #Prod. > > > > Unless I change the name of Tomcat7w.exe in #Dev to Tomcat7devw.exe, > > then everything is fine. > > > > Was that listed in the docs somewhere and I missed it? > > Leo, > If you use the Windows installer that the foundation thoughtfully > provides, you'll see that the installer actually renames the executables to > whatever you put in the "Windows Service Name" field. So, if you use it to > install one instance with the service name "Prod", then in the bin > directory, you will have Prod.exe and Prodw.exe. If you second instance > uses the service name "Dev", then the bin directory will have Dev.exe and > Devw.exe. And when you go to look for those processes using Task Manager, > or Process Explorer, or whatever tool you use, they will actually show up > as those names. No more trying to figure out which Tomcat.exe is which. > Jeff > > > +1 that's good to know, as I may have a need to have multiple tomcat/tomee instances. Thanks! > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: Tomcat7w.exe
On Sun, Mar 9, 2014 at 3:53 PM, Leo Donahue wrote: > On Fri, Mar 7, 2014 at 12:43 PM, Howard W. Smith, Jr. < > smithh032...@gmail.com> wrote: > > > > > Actually, i hate clicking on things... I use Windows keyboard shortcuts > as > > much as possible. > > > > Even when you run the following command, you still get a GUI. > > Tomcat7w //ES/Tomcat7 > okay/true. > > Do you Ctrl + Tab your way through that dialog? > yes. > > Plus, I don't know what this is supposed to edit, but it doesn't change the > values in the Tomcat7w.exe dialog: > Tomcat7 //ES//Tomcat7 --Startup="Auto" (or "Automatic") > > Running that command still shows "Manual" in the Startup type on the > General tab. > okay. i never used/tried --Startup="...", because after creating the Windows Service, I /simply/ use tomcat7w.exe (or Windows Start button > Administratives Tools > Services) to change the value to 'Automatic'.
Re: [OT] The Service Component
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Leo, On 3/10/14, 5:10 PM, Leo Donahue wrote: > I have to change the following in server.xml when I add more > Tomcat instances or upgrade: > > server shutdown port connector port for HTTP connector port for > AJP realm org.apache.catalina.realm.UserDatabaseRealm if digesting > passwords in tomcat-users.xml host appbase (optional depending on > config) valve org.apache.catalina.valves.AccessLogValve (optional > depending where you like the root log to go) cleaning up all the > comments... I script all of this with ant. Since I segment all of my web applications into separate JVM/Tomcat instances, I just need: 1. An appBase 2. A shutdown port 3. A "normal" port (usually AJP) 4. (optional) a loopback-only port for privileged applications that want to access my instance locally without HTTPS, load-balancing, etc. We have multiple devs using the same shared development environment, so everyone has an "app a" and "app b", and so on. We create a parameterized server.xml file that basically says , etc. and then ant takes a user-specific configuration file and builds the configuration on the fly. To deploy a new Tomcat instance, we just clone a started-project, give it a name (in Ant's attribute) and it picks-up the configuration from this user-config file. $ ant install tomcat-start That's all it takes us to build a properly-configured CATALINA_BASE, install the web application under development and launch Tomcat. I've been using this setup for over 10 years at this point, and it's been fantastic. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHjHGAAoJEBzwKT+lPKRYOqYQAI1kFtw2lR0IaqqCGnNwv3Mx tO5gW2A0qpfsZozFx9he/e6wcJ7TWulFq4QIDhfY7lS2jluMln3txIw/kKE+ipfq lS7+wecTjZ7tqcUzDtrIdKBiSigxhms3m4O9dgQ7HymYbLTG9nsCrS71tk96Rkhs zLBUz/p8zyFtOvhqkbJfV0BwFmxnF8tFXGUJnV2fP642Ckp+7COdjzoNEISV9frD nNl8upDpOKzg6m+Ap817fTzA2vPIpYmOpK7UbGLpInHO9fn91rSdhUQpKRweszFa te6d6d5imD+S1GxdByt+PNaQkdAAdPcBUs8GtUA/dhvmVVRwEolHFG3p16CETX78 6PKC7fHAV+Ogu99MIAbg1Ny9faZ6/KHaUbb3pABceAuxbyP+CrE+Q5r5FijDUFBH L3lDI4pjBqXxX+MZ1BsncVUiPyPxFeZJKx+e5EEWzX6j82cnplZ3VyUdaaocmXyE h7Lg1s9nX+TztkriMHW+ysii3TLBESv68oND8dEoWwnJWtMC/R6mc8+IPTvydS4t nbz/tWN+SW7jUt/gDh+HGgd67TfQ/PfkDGUyqLgJVMRhEt3vsjCXk18LnRfO6JzV hsKRaAyLOoD163Vm8s0uyYzUyoNUCWm1OpH560cI5dAeGd0FFVzE9nBBhcIuyJcr 71pJ5GKKbZjBeE3QN37x =XrG2 -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: The Service Component
On Mon, Mar 10, 2014 at 7:26 AM, Jeffrey Janner wrote: > > -Original Message- > > From: Leo Donahue [mailto:donahu...@gmail.com] > > Sent: Friday, March 07, 2014 9:44 AM > > To: users@tomcat.apache.org > > Subject: The Service Component > > > > Who uses more than one Service in their server.xml and why? I get that > > you can have multiple Connectors if you have multiple Service > > components but why use multiple connectors? > > > > Are there any docs on the use cases for these features? > > > > Hi Leo, > I may be the only person on this list who does this consistently. > I use it as an alternative method of virtual hosting, i.e. each host gets > its own and related sub-structure. > You are lucky you have control over that. I have no luck asking our data center to add another host entry to our web server. I always ask them, isn't it easier than asking you for another vm? :)
Re: Executor thread pool
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Jeffrey, On 3/10/14, 4:15 PM, Jeffrey Janner wrote: >> -Original Message- From: Christopher Schultz >> [mailto:ch...@christopherschultz.net] Sent: Monday, March 10, >> 2014 11:22 AM To: Tomcat Users List Subject: Re: Executor thread >> pool >> >> -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 >> >> John, >> >> On 3/10/14, 11:43 AM, John Smith wrote: >>> How dumb am I being by not using an Executor with a named >>> thread >> pool? >>> Currently I just have a Connector in server.xml: >>> >>> >> protocol="org.apache.coyote.http11.Http11NioProtocol" >>> connectionTimeout="2" redirectPort="8443" /> >> >> An executor is being used under the covers... you just aren't >> configuring it yourself. >> >> If you don't configure it yourself you lose out on these >> benefits: >> >> 1. Shared executor for multiple Connectors. If you only have a >> single connector, obviously this matters little. >> >> 2. You have less control over the underlying Executor if you >> don't manually configure it and let the Connector auto-create >> one. Check the documentation for >> http://tomcat.apache.org/tomcat-7.0- doc/config/executor.html >> against the thread-related configuration attributes available >> for, say, the HTTP connector here >> http://tomcat.apache.org/tomcat-7.0-doc/config/http.html and >> you'll see what I mean. >> >>> Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6. >> >> 2000 simultaneous connections really is quite a lot. Are you >> sure? 2000 simultaneous sessions isn't a stretch, but 2k >> connections is a big deal. How long are your transactions? What >> is the incoming request rate? >> > > How about the more likely 2 connector scenario, one for port 80 one > for port 443? Any benefit of using the executor here? Assuming > sharing one between connectors, and web.xml configured to > auto-route everything to SSL, i.e. time spent on 80 is minimal > (redirect)? +1 This allows you to handle N connections in-progress regardless of which connector they connect through. Instead of having 50 threads for HTTP and 500 threads for HTTPS, you can just drop the 50 threads for HTTP and share all of them. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHipaAAoJEBzwKT+lPKRY2TAP/jpcAioKUsOQ1lLVbLd7mFo0 F/Wq8OwpLnJtnUYQpMQXqNYvgyNF0PYj806rj2YZq1WQcAuzDiwsli+ox7GiSzv/ POEYiN7odnyKaoYIXbPTYt8SWP4xdd/5B/Qc+iVyzBvuHkK4eqoHeuyCZj9bmMEk nLieDH9m+O3EHgvmEBLfjpe76seHFUzyGfFU62oh0eXcwe4Y4uUDnNTZtcVBf43b MLTu5YsuYMJkGr9yB/egAqsVzrtN67czXEcrEzBl5ZDVdKRqbnaSfW3q+ntnJfGL 0iNdrKqJOLZnQNgOdfhCxxMCvD5XBlfntkRWvL+8BE2y5B5F0bH6Y7h7HUZPvA49 GNEuMiSaLILwAJP87lykQTiOhrOktCJzA5BvkVQPBDNCHg0b4+QONYOARRGAFhAQ C+sLepOoj+XCr/2icZpuHOEFtr+OqCzzVxxOFCPy/dxsbVwlavWkq+dr6Wa4/lyf UUetK4QBfaL4heoGHh5osW6aen/leZTHiYJvlPwlZxlJ0RZtqlhFkpOcNsLbky1R 6yT57Wivqa19HR7zWqvew0t0S0LmLB+FaILsN20W0nXCYMBFUGjsUislVsbXpSCD R9wNykbM4BtR4I9RI5ltJ/npR63h4Yw0XYsVnsJewNgxeYEyiNPDK3t39Qpyxe2c ciegPT6xwnyhCnwxnK3E =e8Oj -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: The Service Component
On Mon, Mar 10, 2014 at 10:15 AM, André Warnier wrote: > > It is particularly nice to know that it works, and that the > element really (apparently) corresponds to "something real" at the Tomcat > level. So it is apparently not just an "element of order" allowing to > group Connectors with Engine. > Which is contrary to what I imagined, and which I believe definitely > answers the original OP's question (at least the first part). > > Yes, question answered. So some use the multiple in server.xml for app isolation or in place of virtual hosting. Mr. Janner indicates he has to modify 7 values in his server.xml I guess I have that many as well. I also find this is needed if running multiple instances of Tomcat but I don't want to change the subject of this thread. I have to change the following in server.xml when I add more Tomcat instances or upgrade: server shutdown port connector port for HTTP connector port for AJP realm org.apache.catalina.realm.UserDatabaseRealm if digesting passwords in tomcat-users.xml host appbase (optional depending on config) valve org.apache.catalina.valves.AccessLogValve (optional depending where you like the root log to go) cleaning up all the comments... My down time is minimal, but I find I do "some" prep work before I remove the old windows service and install the new. My down time consists of the time it takes to take one instance down and start the new one, and maybe 20 min of prep work glarring at the server.xml to make sure I didn't miss some configuration.
Re: Tomcat and Spring Framework
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Daniel, On 3/10/14, 4:57 PM, Daniel Mikusa wrote: > On Mar 10, 2014, at 4:16 PM, Leo Donahue > wrote: > >> On Mon, Mar 10, 2014 at 12:58 PM, Mark H. Wood >> wrote: >> >>> It's probably worth asking what "full-fledged enterprise >>> applications" means. I'm not aware of any specification with >>> that title. >>> >>> >> That was a "Spring" term from the page I was reading, and the >> reason I asked the question. >> >> Tomcat itself is not a J(2)EE application server. I have been >> under the impression that one could successfully could implement >> *some* of the J(2)EE stack carefully on Tomcat through other >> means. > > True. You can use some parts of Java EE by simply including JAR > files in your app. Just to name a few JPA, JMS and / or Bean > Validation can be included this way. You don’t need Spring or even > a container to do this though. > >> Spring is one of those means? > > Spring doesn't provide implementations of the Java EE specs, rather > it aims to make using Java EE technologies easier. This is true > whether you deploy to a full stack Java EE container or Tomcat. > >> From what I've been reading about Spring in the last three days >> is it is essentially a bunch of design patterns turned into >> objects. Dependency Injection through patterns - I get that. >> The AOP part of Spring is basically a mechanism for applying >> object behavior to other objects without composition. I know i >> have that wording wrong, but essentially, AOP though the use of >> point-cuts lets me applying object behavior of logging to other >> objects without those objects being composed of my logging >> objects. I don't know how I would do that with a pattern, unless >> it is some kind of front controller pattern - but I don't know. > > By default, Spring does this with dynamic proxies. Because you > configure your beans and Spring creates them for you, it can easily > wrap them in a proxy and through the proxy apply additional > behaviors. This works good in a lot of cases, but does have > limitations. Because of this Spring also support aspectj, which > works through byte code manipulation. > >> So, Spring allows Tomcat to host "full-fledged enterprise >> applications" that would normally require a J(2)EE application >> server like Glassfish? That is what I was asking, without saying >> it specifically. > > Spring is a framework that aims to make your life as a developer > easier when writing complicated or large applications (although it > works nice for any size application). I’m not sure I would call it > a replacement for a JEE server like Glassfish though. If you have > an application that targets a JEE container like Glassfish or > WebSphere, Spring is not magically going to make that application > run in Tomcat. Having said that, if you write the same application > and use Spring instead of targeting a JEE container, many of the > things that would have tied you to a full stack JEE container can > be accomplished in smaller and lighter weight container like > Tomcat. Here's another plug for our friends over at TomEE, which adds enterprisey-features to Tomcat's existing servlet, JSP, and EL spec support by bundling and configuring other OSS components. Specifically: CDI - Apache OpenWebBeans EJB - Apache OpenEJB JPA - Apache OpenJPA JSF - Apache MyFaces JTA - Apache Geronimo Transaction Javamail - Apache Geronimo JavaMail Bean Validation - Apache BVal There's also a "Plus" version with some additional components for your enterprising pleasure. http://tomee.apache.org/apache-tomee.html - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHinpAAoJEBzwKT+lPKRY94AQAJ2eSFHYMCIM0ajX7Qd8zSau zhj5jn0yZSC7AfMtP5cMfTPY0Ah8i7nsfSTDjN7PccDDuTI2QwzHf6vu9ZHS0sH8 KRFSb5mtx8CofptjIoFjJcpmwVIE+OggBj5ldpbBNCeddvy42FBXBx1Mf56hL0io /REGN6RHpt3DpshNEv63OzuLLDezBwBTcp44oRdaiozSRDEpyVLb4/yahbg41bLT 39ICcCq8wZ1dO8VWt9naLaQpYAYDSQxcwtqYbHJgWlL1tL9aBvMgFbo/Y9+aCCJa EU5AiIzaaZLM04Yrhk3hYceajep1x5/JX3xKQt2jRo95N9ejHTQi9kBprdsGCTxq 5zQbdWD+9iDw8gg57mc1/qnUYTHXsz7shZh3aFTE70TTvUfNVj3fEMeKDrwdc5UJ /lhsY1IIE3z6ZZcw23WpAg9g9lBfes0eYgwSSuEMAarI8IlLLFYTCskO6v5X+XNL pYQ3iy52N7N/DxR0Rd7U+Ktyqi9oOIM6Aj9u7w/MgFBQAc+OPJlrAdi0PW5DE84x QTa/9V46s8/qA9nhZvrJZ4NedN6PInPwtYs8kuU1HbpOv/Y9CVWh2lXLahPiAjzR /Fznx41CrnDvE7kcN1P+yvo7jxhY+diaujW0p+MEUT9poqm9MbsW1+t8Pwq+uKw/ jsp3xWiKt68vAOIGM2wZ =fU+F -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat and Spring Framework
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Mark, On 3/10/14, 3:58 PM, Mark H. Wood wrote: > It's probably worth asking what "full-fledged enterprise > applications" means. I'm not aware of any specification with that > title. Those are applications you can charge more for. You know, because they are "enterprisey". - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHiklAAoJEBzwKT+lPKRYv+cP/0ndLOzYAc3wuXjgVCQeBHF4 fRM3IjJk33U3FP05TJneurVGwsLMMvpCVfjjMkawrw/bkRadvxzlK0noskl6YP5I mWij+riT8E/iwMVYSqagl+jfJ1jF+Tca3kqtNvPq8b5h3Qcr/QlsYERIPzI0NpnD hixELDm0KRBfuZOLVfOCIlkXy0rBlsplVrciUV0rROh7a3TOD2c7DTF2O36ik8sI Bwbb0bgxa2VOuiUYQ/wGp3ow4+KLfl/+zP1XcQ/583/pAIOupgVHn8oOTF3QBTiZ jdP8GbHVyLIoBh+xbSVlc9KURN3CtplSNpPxfAWkzxP7sCqV2vRTTIVIYqUec5vA MxV5fvCI1MP2zcw3nK+N6sifmxPAQz26VtO6go834l9tfqxcvepW4Ny9xmX1zlg8 9YARLCaQl02lW9BnfILNrq6SB4Cfn7Y9BgSxetrkDHvYeeTMSYCzer0rO4+K5Sli WcBfBrF5MZdRa2on6DJQEoKw3tE/J8/gREyIQoV8gUL1ZHJYKM56HDx31K8Rw22B o/CktfkZV4t4ksA21SDJG2+hDldaN0ODOsIAV4Gvq5BjiuPRc7K8eESAoUdEPW62 Wfqbybcdj7WZixcQsxXoJnPKFi7atEQDcl/52NTu+Z6Kwa428zgrJtf7dn/5hxzZ tZ7WUPlkfNUQ7bMIBWa/ =ky2v -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Not able to connect to Tomcat via jconsole
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Konstantin, On 3/10/14, 4:47 PM, Konstantin Kolinko wrote: > 2014-03-10 23:51 GMT+04:00 Konstantin Kolinko > : >> 2014-03-10 22:11 GMT+04:00 Christopher Schultz > >>> On 3/10/14, 1:20 PM, Christopher Schultz wrote: On 3/10/14, 12:58 PM, Christopher Schultz wrote: > All, > On 3/10/14, 12:52 PM, Christopher Schultz wrote: >> I stopped Tomcat, completely removed my web application, >> restarted Tomcat and I can connect without a problem. >> AFAIK, my application isn't doing anything with JMX. >> I'll try using my context.xml without any actual code >> involved. > Okay, I've discovered that if I deploy my web application > but remove WEB-INF/web.xml, I can still connect. Something > my web application is doing is breaking something. > I'll try to narrow-down what it is. > (Again, AFAIK, I'm not mucking-around with any of Tomcat's > internals... just a standard web application.)_ It looks like I can reproduce this with just Velocity and Velocity Tools. I'll keep narrowing it down. >>> >>> I have a minimal test which I've attached (sort of) to this >>> Bugzilla issue: >>> https://issues.apache.org/bugzilla/show_bug.cgi?id=56242 >>> >>> If anyone could give me some pointers at this stage, it would >>> be greatly appreciated. >>> >> >> Win7, 32-bit JDK 7u51 Tomcat 8.0.3 If I connect with jconsole, it >> displays an odd error message with the following title, text and >> two buttons (I suppose some resource is missing, so it displays >> message keys instead of actual text): >> >> ConnectionFailedSSL1 ConnectionFailedSSL2 [Insecure] [Cancel] >> >> If I press "Insecure" button, it connects successfully and shows >> Catalina JMX beans. >> >> The above happens regardless of whether your web application is >> deployed or not. >> > > The same SSL attachment failure happens with JDK 7u51 + Tomcat > 7.0.52. > > Those meaningless messages are a known bug > https://bugs.openjdk.java.net/browse/JDK-8030878 but it does not > explain why it fails in the first place. No, I have to attach "insecurely" no matter what. What happens to me is *after* falling back to an insecure connection. I gave up using jconsole after a while and used VisualVM exclusively to track-down the cause because it would give me better information (would connect with a mild error, JMX didn't work). I was able to reproduce it with the small test case I attached to the BZ issue. > I guess they somehow broke/tightened AttachAPI? > > Removing "-Djava.io.tmpdir" from catalina.bat does not help. I'll see if I can get a Windows VM running to try another environment. It's entirely possible this is a Mac / Oracle VM thing. > 2014-03-10 20:52 GMT+04:00 Christopher Schultz > : >> >> I stopped Tomcat, completely removed my web application, >> restarted Tomcat and I can connect without a problem. >> >> AFAIK, my application isn't doing anything with JMX. >> > > What is the state of Tomcat when you "completely removed my web > application"? Were there other web applications deployed on > Tomcat? I removed everything in the webapps/ directory and restarted. I may or may not have cleaned-out the work directory. There were no web applications deployed at all. I can confirm that other web applications (written by my team) can be deployed without causing this problem. > I my test I had standard webapps (at least docs, manager, ROOT) > there. > >> AFAIK, my application isn't doing anything with JMX. > >> From a quick view, velocity 1.7 and velocity-tools 2.0 do not >> deal > with JMX either. The only imports of javax.* are those of Servlet > API. I wouldn't have expected that they would. The only thing I could think of was that maybe there was some kind of non-serializable object that the remote client (jconsole) was attempting to access that for some reason caused the whole thing to die. I would have expected a nicer error... not something like "can't connect using Attach API" and having both jconsole and YourKit fail utterly and VisualVM connecting yet without JMX support. > I wonder whether your issue is reproducible with Java 8 release > candidates, that some Oracle people were advertising on dev > mailing list. I could give that a try. I can also fall-back to Java 6, as Apple still has packages for Java 6 i386 and x86_64 (both of which I have installed and available). - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHijxAAoJEBzwKT+lPKRY4vAQAJXROFkP430767lmFqA1TB8k hQYoFvvj51MUYVt9Xoyv9GW0TYFWcBkVXeGRp5YhDMMr1pgueFaxcXmSEBwccTV3 OvIdqDm+eZFQcFGSm/6kzFMXIwJRcC0tym7PsmvUFYSAUkWGGGDpxpjbU5Yk79ZZ 4KB4c6DcAEUwxcaLi3TTcS6YB1/cZ6VoTy4onjqgMprQ6DhWFieWkfQKIlryamEi APpw407K/qBt79YPoKBrld1Kcbvn3aKDFuJjs4JHMDLtjKRcrWITZXXCStAMe8rk ugIXch0RP25H+XvK3nfmF8kw6MLNNSS3g
Re: Tomcat and Spring Framework
On Mar 10, 2014, at 4:16 PM, Leo Donahue wrote: > On Mon, Mar 10, 2014 at 12:58 PM, Mark H. Wood wrote: > >> It's probably worth asking what "full-fledged enterprise applications" >> means. I'm not aware of any specification with that title. >> >> > That was a "Spring" term from the page I was reading, and the reason I > asked the question. > > Tomcat itself is not a J(2)EE application server. I have been under the > impression that one could successfully could implement *some* of the J(2)EE > stack carefully on Tomcat through other means. True. You can use some parts of Java EE by simply including JAR files in your app. Just to name a few JPA, JMS and / or Bean Validation can be included this way. You don’t need Spring or even a container to do this though. > Spring is one of those means? Spring doesn't provide implementations of the Java EE specs, rather it aims to make using Java EE technologies easier. This is true whether you deploy to a full stack Java EE container or Tomcat. > From what I've been reading about Spring in the last three days is it is > essentially a bunch of design patterns turned into objects. Dependency > Injection through patterns - I get that. The AOP part of Spring is > basically a mechanism for applying object behavior to other objects without > composition. I know i have that wording wrong, but essentially, AOP though > the use of point-cuts lets me applying object behavior of logging to other > objects without those objects being composed of my logging objects. I > don't know how I would do that with a pattern, unless it is some kind of > front controller pattern - but I don't know. By default, Spring does this with dynamic proxies. Because you configure your beans and Spring creates them for you, it can easily wrap them in a proxy and through the proxy apply additional behaviors. This works good in a lot of cases, but does have limitations. Because of this Spring also support aspectj, which works through byte code manipulation. > So, Spring allows Tomcat to host "full-fledged enterprise applications" > that would normally require a J(2)EE application server like Glassfish? > That is what I was asking, without saying it specifically. Spring is a framework that aims to make your life as a developer easier when writing complicated or large applications (although it works nice for any size application). I’m not sure I would call it a replacement for a JEE server like Glassfish though. If you have an application that targets a JEE container like Glassfish or WebSphere, Spring is not magically going to make that application run in Tomcat. Having said that, if you write the same application and use Spring instead of targeting a JEE container, many of the things that would have tied you to a full stack JEE container can be accomplished in smaller and lighter weight container like Tomcat. Dan - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Not able to connect to Tomcat via jconsole
2014-03-10 23:51 GMT+04:00 Konstantin Kolinko : > 2014-03-10 22:11 GMT+04:00 Christopher Schultz > >> On 3/10/14, 1:20 PM, Christopher Schultz wrote: >>> On 3/10/14, 12:58 PM, Christopher Schultz wrote: All, >>> On 3/10/14, 12:52 PM, Christopher Schultz wrote: > I stopped Tomcat, completely removed my web application, > restarted Tomcat and I can connect without a problem. >>> > AFAIK, my application isn't doing anything with JMX. >>> > I'll try using my context.xml without any actual code > involved. >>> Okay, I've discovered that if I deploy my web application but remove WEB-INF/web.xml, I can still connect. Something my web application is doing is breaking something. >>> I'll try to narrow-down what it is. >>> (Again, AFAIK, I'm not mucking-around with any of Tomcat's internals... just a standard web application.)_ >>> >>> It looks like I can reproduce this with just Velocity and Velocity >>> Tools. I'll keep narrowing it down. >> >> I have a minimal test which I've attached (sort of) to this Bugzilla >> issue: >> https://issues.apache.org/bugzilla/show_bug.cgi?id=56242 >> >> If anyone could give me some pointers at this stage, it would be >> greatly appreciated. >> > > Win7, 32-bit JDK 7u51 > Tomcat 8.0.3 > If I connect with jconsole, it displays an odd error message with the > following title, text and two buttons (I suppose some resource is > missing, so it displays message keys instead of actual text): > > ConnectionFailedSSL1 > ConnectionFailedSSL2 > [Insecure] [Cancel] > > If I press "Insecure" button, it connects successfully and shows > Catalina JMX beans. > > The above happens regardless of whether your web application is deployed or > not. > The same SSL attachment failure happens with JDK 7u51 + Tomcat 7.0.52. Those meaningless messages are a known bug https://bugs.openjdk.java.net/browse/JDK-8030878 but it does not explain why it fails in the first place. I guess they somehow broke/tightened AttachAPI? Removing "-Djava.io.tmpdir" from catalina.bat does not help. 2014-03-10 20:52 GMT+04:00 Christopher Schultz : > > I stopped Tomcat, completely removed my web application, restarted > Tomcat and I can connect without a problem. > > AFAIK, my application isn't doing anything with JMX. > What is the state of Tomcat when you "completely removed my web application"? Were there other web applications deployed on Tomcat? I my test I had standard webapps (at least docs, manager, ROOT) there. > AFAIK, my application isn't doing anything with JMX. >From a quick view, velocity 1.7 and velocity-tools 2.0 do not deal with JMX either. The only imports of javax.* are those of Servlet API. I wonder whether your issue is reproducible with Java 8 release candidates, that some Oracle people were advertising on dev mailing list. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat and Spring Framework
On Mon, Mar 10, 2014 at 12:58 PM, Mark H. Wood wrote: > It's probably worth asking what "full-fledged enterprise applications" > means. I'm not aware of any specification with that title. > > That was a "Spring" term from the page I was reading, and the reason I asked the question. Tomcat itself is not a J(2)EE application server. I have been under the impression that one could successfully could implement *some* of the J(2)EE stack carefully on Tomcat through other means. Spring is one of those means? >From what I've been reading about Spring in the last three days is it is essentially a bunch of design patterns turned into objects. Dependency Injection through patterns - I get that. The AOP part of Spring is basically a mechanism for applying object behavior to other objects without composition. I know i have that wording wrong, but essentially, AOP though the use of point-cuts lets me applying object behavior of logging to other objects without those objects being composed of my logging objects. I don't know how I would do that with a pattern, unless it is some kind of front controller pattern - but I don't know. So, Spring allows Tomcat to host "full-fledged enterprise applications" that would normally require a J(2)EE application server like Glassfish? That is what I was asking, without saying it specifically.
RE: Executor thread pool
> -Original Message- > From: Christopher Schultz [mailto:ch...@christopherschultz.net] > Sent: Monday, March 10, 2014 11:22 AM > To: Tomcat Users List > Subject: Re: Executor thread pool > > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA256 > > John, > > On 3/10/14, 11:43 AM, John Smith wrote: > > How dumb am I being by not using an Executor with a named thread > pool? > > Currently I just have a Connector in server.xml: > > > > > protocol="org.apache.coyote.http11.Http11NioProtocol" > > connectionTimeout="2" redirectPort="8443" /> > > An executor is being used under the covers... you just aren't > configuring it yourself. > > If you don't configure it yourself you lose out on these benefits: > > 1. Shared executor for multiple Connectors. If you only have a single > connector, obviously this matters little. > > 2. You have less control over the underlying Executor if you don't > manually configure it and let the Connector auto-create one. Check the > documentation for http://tomcat.apache.org/tomcat-7.0- > doc/config/executor.html against the thread-related configuration > attributes available for, say, the HTTP connector here > http://tomcat.apache.org/tomcat-7.0-doc/config/http.html and you'll see > what I mean. > > > Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6. > > 2000 simultaneous connections really is quite a lot. Are you sure? > 2000 simultaneous sessions isn't a stretch, but 2k connections is a big > deal. How long are your transactions? What is the incoming request > rate? > How about the more likely 2 connector scenario, one for port 80 one for port 443? Any benefit of using the executor here? Assuming sharing one between connectors, and web.xml configured to auto-route everything to SSL, i.e. time spent on 80 is minimal (redirect)? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: The Service Component
> -Original Message- > From: André Warnier [mailto:a...@ice-sa.com] > Sent: Monday, March 10, 2014 12:15 PM > To: Tomcat Users List > Subject: Re: The Service Component > > Christopher Schultz wrote: > > -BEGIN PGP SIGNED MESSAGE- > > Hash: SHA256 > > > > Jeffrey, > > > > On 3/10/14, 10:26 AM, Jeffrey Janner wrote: > >>> -Original Message- From: Leo Donahue > >>> [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44 AM > >>> To: users@tomcat.apache.org Subject: The Service Component > >>> > >>> Who uses more than one Service in their server.xml and why? I get > >>> that you can have multiple Connectors if you have multiple Service > >>> components but why use multiple connectors? > >>> > >>> Are there any docs on the use cases for these features? > >>> > >> Hi Leo, I may be the only person on this list who does this > >> consistently. I use it as an alternative method of virtual hosting, > >> i.e. each host gets its own and related sub-structure. > >> The real reason? The default host has to be set to something, and I > >> don't want to maintain some generic host to catch those that come > in. > >> Since I'm running an SaaS environment, really more ASP, a business > >> requirement is that each host appear to the outside world as a > unique > >> physical host, so two customers don't get the same IP address. I > >> could add tags for the IP address and all know variations of > >> the hostname, but there's nothing to keep some yahoo admin at a > >> customer site from configuring a DNS entry on an internal DNS server > >> with some name I'm not expecting. Therefore, each in each > >> gets a defaultHost entry pointing to its one and only > >> entry. > > > > I'm interested in this use case. > > > > Since you have to maintain a for every IP address > already, > > how is that different from having a single with a bunch > of > > elements? How are those different? Or is it that you need > > application isolation in the first place, so this is the best way to > > do it in a single JVM? > > > >> As an added benefit, if I find I need to move a customer from a > >> shared Tomcat setup to a unique Tomcat, all I need to do is set up a > >> new blank Tomcat and move the structure from one Tomcat to > >> another. Naturally, there's more work needed if I find I need to > give > >> them their own physical server, but that's to be expected. In > >> general, not counting any hardware setup, I can move a host to > >> another tomcat instance with < 2 minutes downtime. > > > > Nice. > > > > It is particularly nice to know that it works, and that the > element really > (apparently) corresponds to "something real" at the Tomcat level. So > it is apparently not just an "element of order" allowing to group > Connectors with Engine. > Which is contrary to what I imagined, and which I believe definitely > answers the original OP's question (at least the first part). > > And I believe it is worth repeating what was already mentioned earlier > regarding the Service/Connector relationship : > Even if you have only one , you can have multiple > 's inside it, and there are plenty of use cases for that. > And if you have multiple 's, you can also have more than 1 > per , but each (even across > 's) will still need its own unique listening IP address:Port > combination. > > As to running multiple 's within the same Tomcat instance, as > opposed to running multiple single- Tomcat instances : in the > multiple- scenario, they all share the same JVM, the same > Heap, the same Stack etc. So if you bring one "Service" > down, they all go down. > Which is not the case for multiple Tomcat instances. True, if you crash the JVM, everything goes away, but that's true for any virtual hosting setup with multiple hosts/Tomcat. However, I have had an app hang and which caused its connector's queue to fill and thus "appearing" to crash, yet the other services were happily chugging away in the JVM. (Yep, they got moved to their own Tomcat instance until the problem was corrected.)
Re: Tomcat and Spring Framework
It's probably worth asking what "full-fledged enterprise applications" means. I'm not aware of any specification with that title. -- Mark H. Wood, Lead System Programmer mw...@iupui.edu Machines should not be friendly. Machines should be obedient. signature.asc Description: Digital signature
Re: Not able to connect to Tomcat via jconsole
2014-03-10 22:11 GMT+04:00 Christopher Schultz > > On 3/10/14, 1:20 PM, Christopher Schultz wrote: >> On 3/10/14, 12:58 PM, Christopher Schultz wrote: >>> All, >> >>> On 3/10/14, 12:52 PM, Christopher Schultz wrote: I stopped Tomcat, completely removed my web application, restarted Tomcat and I can connect without a problem. >> AFAIK, my application isn't doing anything with JMX. >> I'll try using my context.xml without any actual code involved. >> >>> Okay, I've discovered that if I deploy my web application but >>> remove WEB-INF/web.xml, I can still connect. Something my web >>> application is doing is breaking something. >> >>> I'll try to narrow-down what it is. >> >>> (Again, AFAIK, I'm not mucking-around with any of Tomcat's >>> internals... just a standard web application.)_ >> >> It looks like I can reproduce this with just Velocity and Velocity >> Tools. I'll keep narrowing it down. > > I have a minimal test which I've attached (sort of) to this Bugzilla > issue: > https://issues.apache.org/bugzilla/show_bug.cgi?id=56242 > > If anyone could give me some pointers at this stage, it would be > greatly appreciated. > Win7, 32-bit JDK 7u51 Tomcat 8.0.3 If I connect with jconsole, it displays an odd error message with the following title, text and two buttons (I suppose some resource is missing, so it displays message keys instead of actual text): ConnectionFailedSSL1 ConnectionFailedSSL2 [Insecure] [Cancel] If I press "Insecure" button, it connects successfully and shows Catalina JMX beans. The above happens regardless of whether your web application is deployed or not. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Not able to connect to Tomcat via jconsole
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 All, On 3/10/14, 1:20 PM, Christopher Schultz wrote: > All, > > On 3/10/14, 12:58 PM, Christopher Schultz wrote: >> All, > >> On 3/10/14, 12:52 PM, Christopher Schultz wrote: >>> I stopped Tomcat, completely removed my web application, >>> restarted Tomcat and I can connect without a problem. > >>> AFAIK, my application isn't doing anything with JMX. > >>> I'll try using my context.xml without any actual code >>> involved. > >> Okay, I've discovered that if I deploy my web application but >> remove WEB-INF/web.xml, I can still connect. Something my web >> application is doing is breaking something. > >> I'll try to narrow-down what it is. > >> (Again, AFAIK, I'm not mucking-around with any of Tomcat's >> internals... just a standard web application.)_ > > It looks like I can reproduce this with just Velocity and Velocity > Tools. I'll keep narrowing it down. I have a minimal test which I've attached (sort of) to this Bugzilla issue: https://issues.apache.org/bugzilla/show_bug.cgi?id=56242 If anyone could give me some pointers at this stage, it would be greatly appreciated. Thanks, - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHgA8AAoJEBzwKT+lPKRYh/UP/ikpCvl2rrmJK2+gnHuiYEgx rlIyJOzQDzECutbj5lwB/FEbTWwj3vmBGuakkn3BfZp1P77J9LqZiWx180Jvfo5n Mu4m1qUobOAo6yjwc4sLQ77GDDm+g7wWZMFlW6icMbaoQu7U6DMY8cPK1ESlwJRr KbE5TvsAAlDBEL1h6UsY0k3nTWzDbXGG/cN1q0JunypLQPdGOeueh+75z/R3q+sq N+IBFGiVDg/YaKgYiu6skhbYMgnlbnSZTzsPD7DomrQDpoWUWp7rAUov4jYERIG2 W4TIq1jlYdwbLDZqrZS2eOHA+D9UU0FTacbTcCgY65VQbxpn4ozmeo8+3jI7Kia1 BOmSPJJuxsgi80QN4d+nkQQBw3lfH46g1zEuM4coyMLCSBVZYOBFQFCp/4n0dtvS hEyaB9MmManv5dSwKEBjGTCJxZUps9eoKGzA/aiI9Jt4IK1IDxKduFzX/GN3Qt0O v+ADKYfWtCFKezol2Db/hgDVa5avmihE86KcZFGVB48i4b8+QkeRzdesa3P17YmQ BjwnNz4yowwcTOMXZR2BYh2XDEjScjA5LdS6iA5noiE1sQ4TWTsM9OH+t9XHerss e92hMN4pj7xJFXK1hYsAjrNP0iEW4ETffoHFAuAStGUuDw1zuhKyvmHABcpjRrI8 MZXZQuvJbBlLJw/SsqAf =Kv5J -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ApacheCon North America, Denver, April 7-11
On 10/03/2014 17:28, Nick Williams wrote: > On Mar 10, 2014, at 11:17 AM, Christopher Schultz wrote: >> Specifically, there is an Apache Tomcat summit on Friday the 11th. We >> hope to see as many of you there as can make it. >> >> Did anyone mention that there is a ton of free beer at ApacheCons? > > I will be there because I 'm speaking there. > > I am /definitely/ excited about all the free beer. :-) If you haven't already (and assuming you want to attend) please remember to add the Tomcat Summit to your registration (there is no additional cost for this). Cheers, Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ApacheCon North America, Denver, April 7-11
On Mar 10, 2014, at 11:17 AM, Christopher Schultz wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA256 > > Nick, > > On 3/10/14, 11:43 AM, Nick Williams wrote: >> >> On Mar 10, 2014, at 10:40 AM, Jeffrey Janner wrote: >> -Original Message- From: Rich Bowen [mailto:rbo...@rcbowen.com] Sent: Tuesday, March 04, 2014 2:59 PM To: d...@tomcat.apache.org; users@tomcat.apache.org Subject: ApacheCon North America, Denver, April 7-11 Hello Tomcat enthusiasts, as you are no doubt aware, ApacheCon North America will be held in Denver, Colorado starting on April 7th. Tomcat will be represented there by a full day of content in the following talks: http://apacheconnorthamerica2014.sched.org/overview/type/tomcat > We would love to see you in Denver next month. Register soon, as prices go up on March 14th. http://na.apachecon.com/ -- Rich Bowen - rbo...@rcbowen.com - @rbowen http://apachecon.com/ - @apachecon >>> >>> Is it really April 7-11 or 7-9 as stated on the website >>> homepage? >> >> Both are correct. The "main events" (official speaking schedule) >> encompasses April 7 - 9. April 10 and 11 are summits, unconferences >> (Apache BarCamp), and tutorials. > > Specifically, there is an Apache Tomcat summit on Friday the 11th. We > hope to see as many of you there as can make it. > > Did anyone mention that there is a ton of free beer at ApacheCons? I will be there because I 'm speaking there. I am /definitely/ excited about all the free beer. :-) N smime.p7s Description: S/MIME cryptographic signature
Re: Not able to connect to Tomcat via jconsole
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 All, On 3/10/14, 12:58 PM, Christopher Schultz wrote: > All, > > On 3/10/14, 12:52 PM, Christopher Schultz wrote: >> I stopped Tomcat, completely removed my web application, >> restarted Tomcat and I can connect without a problem. > >> AFAIK, my application isn't doing anything with JMX. > >> I'll try using my context.xml without any actual code involved. > > Okay, I've discovered that if I deploy my web application but > remove WEB-INF/web.xml, I can still connect. Something my web > application is doing is breaking something. > > I'll try to narrow-down what it is. > > (Again, AFAIK, I'm not mucking-around with any of Tomcat's > internals... just a standard web application.)_ It looks like I can reproduce this with just Velocity and Velocity Tools. I'll keep narrowing it down. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHfRmAAoJEBzwKT+lPKRYEtgP/RMi9jRMuhe+HClixTkORP+G 5zh0DpTaiZO8BzI8sT/xZVApPU7GeZWeyVtV3n+k29dEKmb1AJtkq3TBbYV8ikXM e/EGRkOW3qqcbNbjaiQ3KcIa8C9l6vfEuYtxB8Ieq/hMyIVMQoycYdops/ZY/tFT hCdbIv90kkOT1Ipg6obuwqmr4G6SnpZmSfGe49E3IU66V6299cVk46N4tXVDy5hu +PXE9ST07mPtXGNz22vpf58n7qKooa86VtIwTUIdi55HgsWq0Nc7i0IlRqwBsIUb oPKM0h8c3xmBKEgiW7vnUxPO5wn5tiu4Z8IsmC7UM5dzohQj5oqwCzqrU2Q6K3BS TbStKZGQ+VO/xwHqAN7cjlruwl+3JVKA36W1x/n4cQgLc4y6SVQZAhKnTzBviXR6 6kGw7c3Q1kIrEM1lPNoOKJoWJVbIGPzS1LaWICqfnS1xxLA0yITDfuU4PUp1x8UD BrghOcMmlCvMAP5AjhTY66lzzRazE0HIXaVCrybInBb4AkpDG0EFRcDHZ0xurF00 hPn0Yl/ettQ1kVTmiuYEjZPu4IK3hhZORkew5bQqnzHAR7/i145dTCxrPEUtXevb LVPNFhSVE96ck9rWBEuDi8ag7veh9djVZif+aJ+rrus1NiGzuznNKNCgukkEU68W Lnoe1sCfL5d+Up7oPMIU =HNtQ -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: The Service Component
Christopher Schultz wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Jeffrey, On 3/10/14, 10:26 AM, Jeffrey Janner wrote: -Original Message- From: Leo Donahue [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44 AM To: users@tomcat.apache.org Subject: The Service Component Who uses more than one Service in their server.xml and why? I get that you can have multiple Connectors if you have multiple Service components but why use multiple connectors? Are there any docs on the use cases for these features? Hi Leo, I may be the only person on this list who does this consistently. I use it as an alternative method of virtual hosting, i.e. each host gets its own and related sub-structure. The real reason? The default host has to be set to something, and I don't want to maintain some generic host to catch those that come in. Since I'm running an SaaS environment, really more ASP, a business requirement is that each host appear to the outside world as a unique physical host, so two customers don't get the same IP address. I could add tags for the IP address and all know variations of the hostname, but there's nothing to keep some yahoo admin at a customer site from configuring a DNS entry on an internal DNS server with some name I'm not expecting. Therefore, each in each gets a defaultHost entry pointing to its one and only entry. I'm interested in this use case. Since you have to maintain a for every IP address already, how is that different from having a single with a bunch of elements? How are those different? Or is it that you need application isolation in the first place, so this is the best way to do it in a single JVM? As an added benefit, if I find I need to move a customer from a shared Tomcat setup to a unique Tomcat, all I need to do is set up a new blank Tomcat and move the structure from one Tomcat to another. Naturally, there's more work needed if I find I need to give them their own physical server, but that's to be expected. In general, not counting any hardware setup, I can move a host to another tomcat instance with < 2 minutes downtime. Nice. It is particularly nice to know that it works, and that the element really (apparently) corresponds to "something real" at the Tomcat level. So it is apparently not just an "element of order" allowing to group Connectors with Engine. Which is contrary to what I imagined, and which I believe definitely answers the original OP's question (at least the first part). And I believe it is worth repeating what was already mentioned earlier regarding the Service/Connector relationship : Even if you have only one , you can have multiple 's inside it, and there are plenty of use cases for that. And if you have multiple 's, you can also have more than 1 per , but each (even across 's) will still need its own unique listening IP address:Port combination. As to running multiple 's within the same Tomcat instance, as opposed to running multiple single- Tomcat instances : in the multiple- scenario, they all share the same JVM, the same Heap, the same Stack etc. So if you bring one "Service" down, they all go down. Which is not the case for multiple Tomcat instances. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Not able to connect to Tomcat via jconsole
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 All, On 3/10/14, 12:52 PM, Christopher Schultz wrote: > I stopped Tomcat, completely removed my web application, restarted > Tomcat and I can connect without a problem. > > AFAIK, my application isn't doing anything with JMX. > > I'll try using my context.xml without any actual code involved. Okay, I've discovered that if I deploy my web application but remove WEB-INF/web.xml, I can still connect. Something my web application is doing is breaking something. I'll try to narrow-down what it is. (Again, AFAIK, I'm not mucking-around with any of Tomcat's internals... just a standard web application.)_ - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHe8mAAoJEBzwKT+lPKRYImUP/383s7nuRdFp5Jzafih1ZOue yh9/FpyIZ9ym+dKwH/rH3NMJKCgpOYAr6PmHWnoW7IuOTY5miVfCdqWZWkG4MvIz kuY6QsQqmSJU50FLk40A73bHk2TU5qbDnLKzBVvTmDnT9ptzQb6JoksteeOYKTQN fToXZSqeL+QhMjnV5m9IIkg1s37JoXQUmFiRXswb1AlXbuY5wZ3rrFV8DS9BQg/z +7mWE0MzjgNSE9gHZ5tFpQ/Pmz8bUMXeHEHa0ktdEiOqEEjjyzU38nmf+mM+Yiu/ JXC58AcZwKvFWrzpdAZy1qmSeYeYOjwDKNVdmhsBA3YnyzsxHF2EqWIrlqmaY3Pe VBZ2ZLstgpM7TVzbXY0LxHfHkVaMPod0MRStJObJDSvGPzWnzAhpFsxHvtlT5DCD gMydftpCQFjukbM8O7l4vIJfOAqOV5UqafX7L0z+VLjT990nNfdTV3NmZ6Ifmuor i1xbi31X1+PybBFi0jJw6lEP5AQwntzcCxlGSN3Maj7/JR716umdL0ius703nnIp oL+4Pt0sXfS1NqD4YsAfJE7EBEoVw7r9LJFn4x13kGXpc7kdUkMZTKBtzskrXIr+ WuX4MDj+9T9WXSAZx+gLvotn1fxw7BZrjf+52hSHB7r0Cd+9d+TQxATs9W+NinpJ xaNgSbI10SaJv6Y7W8R1 =z7sz -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Not able to connect to Tomcat via jconsole
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 All, I stopped Tomcat, completely removed my web application, restarted Tomcat and I can connect without a problem. AFAIK, my application isn't doing anything with JMX. I'll try using my context.xml without any actual code involved. - -chris On 3/10/14, 12:46 PM, Christopher Schultz wrote: > All, > > I have two instances of Tomcat 8 running locally. One of them > happens to have a JNDI DataSource configured and the other does > not. They are both out-of-the-box 8.0.3 installations. > > One of them has no problem connecting via jconsole to observe JMX > beans, while the other one waits forever and then fails. No errors > or warnings in either jconsole or Tomcat (other than the "could > not connect" message in jconsole's GUI). > > I believe all of the tools are using the "Attach API"... I have > not specifically configured anything for remote JMX connections. > > I also can't connect using YourKit, VisualVM, etc. (Technically, > VisualVM does connect, but I can't access any of the JMX beans). > YourKit tells me that Attach can't be used and tells me to > re-start the JVM with their profiler agent running inside of it. > > I get a huge stack trace from VisualVM (below) which basically > tells me that it can't Attach. > > Environment is Mac OS X 10.9, jdk1.7.0_51.jdk, and Tomcat 8.0.3 > (and trunk also). > > Does anyone have any ideas why I might not be able to connect? > > Again, the other JVM has no problem at all. I'm not installing any > of my own JMX beans or anything weird like that... just standard > Tomcat stuff with my application running inside it. I'm running > both Tomcat and jconsole/VisualVM/YourKit as the same user (me). > > > I just checked, and I can't connect to the same application > running under Tomcat 7.0.47, either. > > Here are the relevant parts of server.xml: > > auth="Container" type="org.apache.catalina.UserDatabase" > description="User database that can be updated and saved" > > factory="org.apache.catalina.users.MemoryUserDatabaseFactory" > pathname="conf/tomcat-users.xml" /> > > > > namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> > > protocol="org.apache.coyote.ajp.AjpNioProtocol" > URIEncoding="UTF-8" executor="tomcatThreadPool" /> > > protocol="org.apache.coyote.http11.Http11NioProtocol" > address="127.0.0.1" secure="false" URIEncoding="UTF-8" > executor="tomcatThreadPool" /> > > maxThreads="150" scheme="https" secure="true" keyAlias="tomcat" > keystorePass="mypass" clientAuth="false" sslProtocol="TLS" /> > > name="localhost" appBase="webapps" unpackWARs="true" > autoDeploy="true"> ... > > Thanks, -chris > > Stack trace from VisualVM: > > Support/VisualVM/7u14/var/log/heapdump.hprof Compiler: HotSpot > 64-Bit Tiered Compilers Heap memory usage: initial 24.0MB maximum > 227.5MB Non heap memory usage: initial 23.4MB maximum 144.0MB > Garbage collector: PS Scavenge (Collections=8 Total time spent=0s) > Garbage collector: PS MarkSweep (Collections=0 Total time > spent=0s) Classes: loaded=4506 total loaded=4506 unloaded 0 INFO > [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory > 8,589,934,592 INFO [null]: Total physical memory 8,589,934,592 INFO > [com.sun.tools.visualvm.attach.AttachModelImpl]: printFlag > com.sun.tools.attach.AttachNotSupportedException: Unable to open > socket file: target process not responding or HotSpot VM not > loaded at > sun.tools.attach.BsdVirtualMachine.(BsdVirtualMachine.java:90) > > at > sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63) > > at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213) > at > com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:104) > > Caused: java.io.IOException: Unable to open socket file: target > process not responding or HotSpot VM not loaded at > com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:106) > > [catch] at > com.sun.tools.visualvm.attach.AttachModelImpl.printFlag(AttachModelImpl.java:69) > > at > com.sun.tools.visualvm.jvm.JVMImpl.isDumpOnOOMEnabled(JVMImpl.java:200) > > at > com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:63) > > at > com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:57) > > at > com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:26) > > at > com.sun.tools.visualvm.core.ui.actions.SingleDataSourceAction.updateState(SingleDataSourceAction.java:57) > > at > com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:78) > > at > com.sun.tools.visualvm.core.ui.actions.DataSourceAction.initialize(DataSourceAction.java:70) > > at > com.sun.tools.visualvm.core.ui.actions.DataSourceAction.doInitialize(DataSourceAction.java:102) > > at > com.sun.tools.visualvm.core.ui.actions.Da
Re: Problem with jmxproxy / Tomcat 8.0.3
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Mark, On 3/10/14, 12:31 PM, Mark Thomas wrote: > On 10/03/2014 16:27, Christopher Schultz wrote: > >> Okay. Someone should tell Tomcat that it has been removed. > > +1. I guess you are volunteering :) Actually, yes. I just didn't want to break something I didn't understand very well. > >> This exception is being thrown when I call "jmxproxy?qry" and >> let it list everything available via JMX. > >> Is it just a matter of modifying >> org/apache/catalina/loader/mbeans-descriptors.xml which still >> contains a reference to it? > >> > > Yes. Thanks! - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHex2AAoJEBzwKT+lPKRY/AgP/11AiOZnF8KcDr8gnz7a+sxt 9EeClfBYjZJJWTrPgo63BDS7lr7scZoZkbx7185QbVdE0xOAbbjOhZCMfIooYhQo qmTvBC99gwKKMtiVGP90f6pFMGbrBxTeZn5o2Xp/dhVjsl0VcI7btKHelWjHhx+1 QkT+7WpeBXSz6ojL3hpwgQC8hkr2KA64e30DYYF+g1aR45Y+R2RIvvwhvxF5P4hS Z+h0NOPaMfOSRm8tKU9krBo0pI+ZQrCLsBmdMvEcgwcTsY6thZNn/BZPFqQOb6mh vqxRslJ2g/CNuKSs2PIKxXrr9sTY5rRN2omgacZ8OXKfeCFnayU+DGa55W70I741 /LjN6jXftJGwyS1Xs6XaUjaJiMSDA2byOvfcUSb0Snh2PVBUo0TgR3A7KHlA/eSK xjaq0IYjssstwtfu4z5fe3IGc6a2KGO1RTuzybTV6K96l5haZ7v5iQX5Z3xw855I BoiayMkgyZEe+db3rANLxhMMGKNNEnoIctHNWZmiWBpAbgnJ4hsCW7DPlakN0m57 PNEzhU0kdXdnbgiAxh+78IgsC1Cpl4C5c6wdwXs9O7hOqEGQXQIK8y457SqrbCky G+HkPVPk3GgQ9MmCOUeuGxwQEyXXiAo7HIa27Mm6Gcv9yels3dqDt1Jn89GzH1rc Gtfq9MYbBINp7XQPsQvq =z7wR -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Not able to connect to Tomcat via jconsole
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 All, I have two instances of Tomcat 8 running locally. One of them happens to have a JNDI DataSource configured and the other does not. They are both out-of-the-box 8.0.3 installations. One of them has no problem connecting via jconsole to observe JMX beans, while the other one waits forever and then fails. No errors or warnings in either jconsole or Tomcat (other than the "could not connect" message in jconsole's GUI). I believe all of the tools are using the "Attach API"... I have not specifically configured anything for remote JMX connections. I also can't connect using YourKit, VisualVM, etc. (Technically, VisualVM does connect, but I can't access any of the JMX beans). YourKit tells me that Attach can't be used and tells me to re-start the JVM with their profiler agent running inside of it. I get a huge stack trace from VisualVM (below) which basically tells me that it can't Attach. Environment is Mac OS X 10.9, jdk1.7.0_51.jdk, and Tomcat 8.0.3 (and trunk also). Does anyone have any ideas why I might not be able to connect? Again, the other JVM has no problem at all. I'm not installing any of my own JMX beans or anything weird like that... just standard Tomcat stuff with my application running inside it. I'm running both Tomcat and jconsole/VisualVM/YourKit as the same user (me). I just checked, and I can't connect to the same application running under Tomcat 7.0.47, either. Here are the relevant parts of server.xml: ... Thanks, - -chris Stack trace from VisualVM: Support/VisualVM/7u14/var/log/heapdump.hprof Compiler: HotSpot 64-Bit Tiered Compilers Heap memory usage: initial 24.0MB maximum 227.5MB Non heap memory usage: initial 23.4MB maximum 144.0MB Garbage collector: PS Scavenge (Collections=8 Total time spent=0s) Garbage collector: PS MarkSweep (Collections=0 Total time spent=0s) Classes: loaded=4506 total loaded=4506 unloaded 0 INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 8,589,934,592 INFO [null]: Total physical memory 8,589,934,592 INFO [com.sun.tools.visualvm.attach.AttachModelImpl]: printFlag com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded at sun.tools.attach.BsdVirtualMachine.(BsdVirtualMachine.java:90) at sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63) at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213) at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:104) Caused: java.io.IOException: Unable to open socket file: target process not responding or HotSpot VM not loaded at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:106) [catch] at com.sun.tools.visualvm.attach.AttachModelImpl.printFlag(AttachModelImpl.java:69) at com.sun.tools.visualvm.jvm.JVMImpl.isDumpOnOOMEnabled(JVMImpl.java:200) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:63) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:57) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.isEnabled(HeapDumpOnOOMEAction.java:26) at com.sun.tools.visualvm.core.ui.actions.SingleDataSourceAction.updateState(SingleDataSourceAction.java:57) at com.sun.tools.visualvm.heapdump.impl.HeapDumpOnOOMEAction.updateState(HeapDumpOnOOMEAction.java:78) at com.sun.tools.visualvm.core.ui.actions.DataSourceAction.initialize(DataSourceAction.java:70) at com.sun.tools.visualvm.core.ui.actions.DataSourceAction.doInitialize(DataSourceAction.java:102) at com.sun.tools.visualvm.core.ui.actions.DataSourceAction.isEnabled(DataSourceAction.java:79) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getActions(ExplorerContextMenuFactory.java:151) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getSelectionActions(ExplorerContextMenuFactory.java:107) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getActions(ExplorerContextMenuFactory.java:101) at com.sun.tools.visualvm.core.explorer.ExplorerContextMenuFactory.getDefaultActionFor(ExplorerContextMenuFactory.java:93) at com.sun.tools.visualvm.core.explorer.ExplorerComponent.getDefaultAction(ExplorerComponent.java:175) at com.sun.tools.visualvm.core.explorer.ExplorerComponent.access$100(ExplorerComponent.java:50) at com.sun.tools.visualvm.core.explorer.ExplorerComponent$1.processMouseEvent(ExplorerComponent.java:90) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchE
Re: NIO connector - connections and threads
> > > Collecting some peak usage data might be interesting. You definitely want > your max thread limit to be a bit above the number of concurrent requests > you're handling. Of course, that has to be balanced against limits on > other resources, such as memory and data base connections. > > - Chuck > > Thanks, I'm in the process of implementing MoSKito, so I'm hoping to get some good reporting there.
Re: Problem with jmxproxy / Tomcat 8.0.3
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 10/03/2014 16:27, Christopher Schultz wrote: > Okay. Someone should tell Tomcat that it has been removed. +1. I guess you are volunteering :) > This exception is being thrown when I call "jmxproxy?qry" and let > it list everything available via JMX. > > Is it just a matter of modifying > org/apache/catalina/loader/mbeans-descriptors.xml which still > contains a reference to it? > > Yes. Mark -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTHejLAAoJEBDAHFovYFnnaNcQAM8UQK67syl6TFYNLj+PVHOy +khslIUbzQsoc0Th/PbShY0Vtyiwj5Nh+6r3mLzqYKD2Y5RjzYpVqd19sMX4PGYs fQZy/CNNAGfF9LmOUgC9mZPINsixlFpcM3vTh4UOyPDWUfReTr7vT1++EoWPl/rb 8QHXwGGMEegB6i/HWLTfkvWzNLhlT71NFVK8XH9hunYuqbgEoLCSvwtWwKb+rE8E Jf4V0e3kkKwiZpCO2NabRGhNjpeNN50zm6MW7QOHQUTunzANOLQoRMuwRxzcjPgw 6VD+LzHk+o75YKm3oLgIxfDUdgFMTfv58TYG3sVrh5V30CARR5g9uQOFLurzusqG MxKZtMZxRkDuPJLJO6XxyUQFbB+IfjxgZSIB5e+MbFnyRaK6ZRFvE/CEPOj6iqPq ZNelAdaJiqprhqaJtNQo+o6VL/U2ewedpJivQ3qpguX9sDI9uVROTDjErMjrBJzV WcrQM1QJVjgxY+iVN2tF07VpQNMQLmJqkyLVo6Nj7hAnRSnIxppJgkjTYqWskVEX 0JTq22yvYH2jR3b0c7uHqYGgxAIpqsYVZysLUPOf2GJQZZsWiBKn+5bvV0kD59R7 DZEGbpP8UjPEaJEtHdMD9BPv48YGNOVvs6w3Aw7DLDba6rdRBqV8FMA5Mwaizw0l QnLQ2Dxft0uodT+F60ig =25sc -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Problem with jmxproxy / Tomcat 8.0.3
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Konstantin, On 3/5/14, 5:35 PM, Konstantin Kolinko wrote: > 2014-03-06 1:40 GMT+04:00 Christopher Schultz > : >> >> On 3/5/14, 4:20 PM, Christopher Schultz wrote: >>> All, >>> >>> For some reason, I'm not able to access my Tomcat's JMX beans >>> remotely using jconsole, etc. and so I figured I'd try using >>> the jmxproxy servlet in the manager webapp. I've deployed the >>> manager webapp in the same way I've done in many other >>> installations... I'm fairly sure I haven't screwed it up. >>> >>> I get an exception when calling an open-ended "get" (i.e. it >>> should dump the entire JMX tree): >>> >>> $ curl -v --user jmxproxy:jmxproxy >>> http://localhost/manager/jmxproxy?get >>> >> >> There is another - legit this time - error that I can see when I >> call ?qry: >> >> Mar 05, 2014 4:39:39 PM org.apache.catalina.mbeans.MBeanDumper >> dumpBeans SEVERE: Error getting attribute >> Catalina:type=WebappClassLoader,host=localhost,context=/manager >> jarPath javax.management.ReflectionException: Cannot find getter >> method getJarPath > > > There was WebappClassLoader.getJarPath() method in Tomcat 7. It > was removed from TC8. Okay. Someone should tell Tomcat that it has been removed. This exception is being thrown when I call "jmxproxy?qry" and let it list everything available via JMX. Is it just a matter of modifying org/apache/catalina/loader/mbeans-descriptors.xml which still contains a reference to it? Thanks, - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHefdAAoJEBzwKT+lPKRYnZsQAMTQtLk77RTpPSRLN2EaY+Qz Znmr6ZOb5oFfbjW2R3EQn53DTJ+6Iy6aSnYu38Rq62ZADgxWHiVLQfF6zCaQa6QY 9XgPMBupha+zu2WiowW0phGQ+r6Lbo7P+N16FfvTks42aG8/uaGjK/+dlIkOVOEd lzFwd9qMRWomwLeYP2R7PBZAUvY8yek1W63FjtR81GLpsT+X0/a67FBCd/JijSzC uISmAdlEPhTXDibzZNlJmgg0tVQ2afKKTriEXXcVjiOJVQPhuV2JELAddrL+oUOW CxvR1O8l64MqPFDZZPTxt6IaXsXT3Ddi6YDLM1SAU1xyKk+bdZdqB9ue9p1tS6z1 VvgPyL4zrUixEsy51La74Qyhm80/TuxJNpSRDHm8QJB7Zb46s7e8xKJFFo8sCOCL Lcn6zqb7eziSzCdO5OwXEJ0rk/E4vVBPDAKMeW6nfNSBhMAynDkXPYdiO8EQ5s9m lQ76ncK4Po8+em0g1g+OlwAEtweRKIiNm0SdZl3WWneG1AP5sfJbD8bMLDGs6/Qy gmSqF45GKMzL2+GfRsq3FBDp0xEgefRv0z4UxiWfYxyLIWSxYogrCfX4setfNjNu CjWnq3aaJeXcD5Uk7qPs/3N5bIjbfEj74RqWEKEVWKKrZGucevdC+846IVl0KtXr Yb3GmFxwdZ0zwSB90Ddu =J6x+ -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Executor thread pool
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 John, On 3/10/14, 11:43 AM, John Smith wrote: > How dumb am I being by not using an Executor with a named thread > pool? Currently I just have a Connector in server.xml: > > protocol="org.apache.coyote.http11.Http11NioProtocol" > connectionTimeout="2" redirectPort="8443" /> An executor is being used under the covers... you just aren't configuring it yourself. If you don't configure it yourself you lose out on these benefits: 1. Shared executor for multiple Connectors. If you only have a single connector, obviously this matters little. 2. You have less control over the underlying Executor if you don't manually configure it and let the Connector auto-create one. Check the documentation for http://tomcat.apache.org/tomcat-7.0-doc/config/executor.html against the thread-related configuration attributes available for, say, the HTTP connector here http://tomcat.apache.org/tomcat-7.0-doc/config/http.html and you'll see what I mean. > Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6. 2000 simultaneous connections really is quite a lot. Are you sure? 2000 simultaneous sessions isn't a stretch, but 2k connections is a big deal. How long are your transactions? What is the incoming request rate? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHeazAAoJEBzwKT+lPKRYTA4P/0K95yUlujhru68MAE7cL6Wu Sk1IC2FCqfYYEuLOLChpA+P/49EUcqZ4BOn22LHIl3ijcUcP0re6vGXwCL0etOuB qvrYH7tKPsNN4SQJ8tXkXdEKLVukK2RLx0AEZlmRheksYgu8G9lF7EZlPm65i1fr vE9JWti5UtRuVMQiPjhmJZrlfEjdiNcRNr8ClKJmhRxGEeeV+dHMzNpsDbnxoD5e vGGItrFVvfA7ffgYixRDhyGL1gO+T2DWoo4UA8wXNVGg+5Xr5jSoZBf66kY8voy4 3sQBjH5eH8yqmbOaFvX5msGyoDjwQ3o8GDcz0PnMBqNfF/sg1673FIWHjScQCx4/ mltvXJOev3joNycKr4uxFB832JAt7uyUkslowQ50a0RFvsiVC8u1CZ9pwNxcTnVP BTQcvGSGSa5KTQdSfeWWb4LQg6WqxgQM/WI3uOvoEraUBMTvETVv/aQMsh5qPVB6 199PN7rE9XOGObJ7PQDOOm6Y2i+wUeKunZCOfPpzqEFKhKE4GIdD6qoEJnFySIjN x4ita0F2Y8XJs6EiOQsvDE5g3ZlMjV5YDsJXJRnCx1rqxNxHdGyc4+jBzEpybMJ2 W81XThlbMiK7byufAN7YH+7W0Utd7iRMIxE2Z8bcFwm9ZfAd1GogdsNH6iyAh6Ry zn+O78QonFrFbmPvEBLy =+F+E -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Executor thread pool
> From: John Smith [mailto:tomcat.ran...@gmail.com] > Subject: Executor thread pool > How dumb am I being by not using an Executor with a named thread pool? > Currently I just have a Connector in server.xml: > connectionTimeout="2" >redirectPort="8443" /> If you only have one , it doesn't really make much difference. An does give you a bit more control due to its additional configuration options; whether or not that's important in your environment is something you'll have to decide. > Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6. For NIO, it's not the number of connections that matters, it's the number of concurrent requests. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ApacheCon North America, Denver, April 7-11
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Nick, On 3/10/14, 11:43 AM, Nick Williams wrote: > > On Mar 10, 2014, at 10:40 AM, Jeffrey Janner wrote: > >>> -Original Message- From: Rich Bowen >>> [mailto:rbo...@rcbowen.com] Sent: Tuesday, March 04, 2014 2:59 >>> PM To: d...@tomcat.apache.org; users@tomcat.apache.org Subject: >>> ApacheCon North America, Denver, April 7-11 >>> >>> Hello Tomcat enthusiasts, >>> >>> as you are no doubt aware, ApacheCon North America will be held >>> in Denver, Colorado starting on April 7th. Tomcat will be >>> represented there by a full day of content in the following >>> talks: >>> http://apacheconnorthamerica2014.sched.org/overview/type/tomcat >>> >>> >>> We would love to see you in Denver next month. Register soon, as prices >>> go up on March 14th. http://na.apachecon.com/ >>> >>> -- Rich Bowen - rbo...@rcbowen.com - @rbowen >>> http://apachecon.com/ - @apachecon >> >> Is it really April 7-11 or 7-9 as stated on the website >> homepage? > > Both are correct. The "main events" (official speaking schedule) > encompasses April 7 - 9. April 10 and 11 are summits, unconferences > (Apache BarCamp), and tutorials. Specifically, there is an Apache Tomcat summit on Friday the 11th. We hope to see as many of you there as can make it. Did anyone mention that there is a ton of free beer at ApacheCons? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHeWSAAoJEBzwKT+lPKRYMLkP/RQ0tk/NMUlanxhGfgfGFCcK nSXH8iykniz3KUKrqs9TlYq8sliP6vkv4fRgPr9n5zQ4jEN6TzmOkww3RGXhmCkL 6dvqYTzT710tVoCpnT31e19jfh/NIPgYFVmrQYpnA5LwqZZlkZoQNA9r32fK0gLc +DLpZPxuyqR/QRsgUPkJ1haQq3Jk4dLBZLsZA/JSxdR7uz0FgDRJYExtEejJnjQo 49JMm6e++UMNm59B/5S9Inj25rcMXDoUeebZROwOEE1hFsyQeRF5w9re/5b54RcD LO1HOfjhE6sKk29hIxds9Zwvzcbxi/zgFhO3BJHtMzmDaGoDCvVyAUX68tUdZYWH Ajjyohu5uJKl6/huN2DadsmzWNeUlOD8vn17dX3CueeBP98HXUwvosHbP1Z8Hsv+ BK4m/yZTZPWmd9/yfT0i9fZMjlBF01R0LEibgd5dxzBUXUqjEvgQqyqVjaOKsufL zFKGu4HnVoOAak396nnkiNOStAYQpkRHaZYiYVMlt6SIpIew67AHxDG0Oe1MPTnd bi4lbGW/8lKu3z8zfuGdUE8kWp66UV3h1VpMznkgvrKSu/JrfPRfZQVcjerzcJGr 2NHU3GQmrX3skGm03AcEJSzLYsy8GgsuqWuZj3mCxqYQk8hIuHuTjjoQTgmjBd4W zu/opWS9PqgSrXA4fOxF =TAPn -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: NIO connector - connections and threads
> From: John Smith [mailto:tomcat.ran...@gmail.com] > Subject: Re: NIO connector - connections and threads > If you're implying are 200 people simultaneously, hitting the same page at > the same time, or making the same HTTP POST at the same time, the answer > is, yes, probably. Collecting some peak usage data might be interesting. You definitely want your max thread limit to be a bit above the number of concurrent requests you're handling. Of course, that has to be balanced against limits on other resources, such as memory and data base connections. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: NIO connector - connections and threads
On Mon, Mar 10, 2014 at 11:48 AM, Caldarale, Charles R < chuck.caldar...@unisys.com> wrote: > > From: John Smith [mailto:tomcat.ran...@gmail.com] > > Subject: Re: NIO connector - connections and threads > > Don't top post. > > > So are the open HTTP connections that use my web application code waiting > > in line to be processed by the available threads specified in maxThreads? > > The connections won't be waiting, but requests arriving over those > connections may wait if all the threads are busy. > > Do you really have more than 200 simultaneous _requests_ active? > > - Chuck > > > THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY > MATERIAL and is thus for use only by the intended recipient. If you > received this in error, please contact the sender and delete the e-mail and > its attachments from all computers. > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > "Don't top post." Sorry, just getting this list through gmail, normal replies are top posted. "Do you really have more than 200 simultaneous _requests_ active?" If you're implying are 200 people simultaneously, hitting the same page at the same time, or making the same HTTP POST at the same time, the answer is, yes, probably. -John
RE: NIO connector - connections and threads
> From: John Smith [mailto:tomcat.ran...@gmail.com] > Subject: Re: NIO connector - connections and threads Don't top post. > So are the open HTTP connections that use my web application code waiting > in line to be processed by the available threads specified in maxThreads? The connections won't be waiting, but requests arriving over those connections may wait if all the threads are busy. Do you really have more than 200 simultaneous _requests_ active? - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ApacheCon North America, Denver, April 7-11
On Mar 10, 2014, at 10:40 AM, Jeffrey Janner wrote: >> -Original Message- >> From: Rich Bowen [mailto:rbo...@rcbowen.com] >> Sent: Tuesday, March 04, 2014 2:59 PM >> To: d...@tomcat.apache.org; users@tomcat.apache.org >> Subject: ApacheCon North America, Denver, April 7-11 >> >> Hello Tomcat enthusiasts, >> >> as you are no doubt aware, ApacheCon North America will be held in >> Denver, Colorado starting on April 7th. Tomcat will be represented >> there by a full day of content in the following talks: >> http://apacheconnorthamerica2014.sched.org/overview/type/tomcat >> >> We would love to see you in Denver next month. Register soon, as prices >> go up on March 14th. http://na.apachecon.com/ >> >> -- >> Rich Bowen - rbo...@rcbowen.com - @rbowen http://apachecon.com/ - >> @apachecon > > Is it really April 7-11 or 7-9 as stated on the website homepage? Both are correct. The "main events" (official speaking schedule) encompasses April 7 - 9. April 10 and 11 are summits, unconferences (Apache BarCamp), and tutorials. Nick smime.p7s Description: S/MIME cryptographic signature
Executor thread pool
How dumb am I being by not using an Executor with a named thread pool? Currently I just have a Connector in server.xml: Assuming ~2000 simultaneous connections. Tomcat 7.0.42. RHEL6. Best, John
RE: ApacheCon North America, Denver, April 7-11
> -Original Message- > From: Rich Bowen [mailto:rbo...@rcbowen.com] > Sent: Tuesday, March 04, 2014 2:59 PM > To: d...@tomcat.apache.org; users@tomcat.apache.org > Subject: ApacheCon North America, Denver, April 7-11 > > Hello Tomcat enthusiasts, > > as you are no doubt aware, ApacheCon North America will be held in > Denver, Colorado starting on April 7th. Tomcat will be represented > there by a full day of content in the following talks: > http://apacheconnorthamerica2014.sched.org/overview/type/tomcat > > We would love to see you in Denver next month. Register soon, as prices > go up on March 14th. http://na.apachecon.com/ > > -- > Rich Bowen - rbo...@rcbowen.com - @rbowen http://apachecon.com/ - > @apachecon Is it really April 7-11 or 7-9 as stated on the website homepage? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: The Service Component
> -Original Message- > From: Christopher Schultz [mailto:ch...@christopherschultz.net] > Sent: Monday, March 10, 2014 10:15 AM > To: Tomcat Users List > Subject: Re: The Service Component > > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA256 > > Jeffrey, > > On 3/10/14, 10:26 AM, Jeffrey Janner wrote: > >> -Original Message- From: Leo Donahue > >> [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44 AM > To: > >> users@tomcat.apache.org Subject: The Service Component > >> > >> Who uses more than one Service in their server.xml and why? I get > >> that you can have multiple Connectors if you have multiple Service > >> components but why use multiple connectors? > >> > >> Are there any docs on the use cases for these features? > >> > > > > Hi Leo, I may be the only person on this list who does this > > consistently. I use it as an alternative method of virtual hosting, > > i.e. each host gets its own and related sub-structure. > > The real reason? The default host has to be set to something, and I > > don't want to maintain some generic host to catch those that come in. > > Since I'm running an SaaS environment, really more ASP, a business > > requirement is that each host appear to the outside world as a unique > > physical host, so two customers don't get the same IP address. I > could > > add tags for the IP address and all know variations of the > > hostname, but there's nothing to keep some yahoo admin at a customer > > site from configuring a DNS entry on an internal DNS server with some > > name I'm not expecting. Therefore, each in each > > gets a defaultHost entry pointing to its one and only entry. > > I'm interested in this use case. > > Since you have to maintain a for every IP address already, > how is that different from having a single with a bunch of > elements? How are those different? Or is it that you need > application isolation in the first place, so this is the best way to do > it in a single JVM? > It's primarily for App Isolation. The other is that I'm trying to keep the modifiable elements to a minimum, so that someone not completely versed in Tomcat can do a setup if I'm not available. Essentially, I have a predefined with tree that can be copied to a server.xml and only need to modify 7 values, 2 IP address fields, and 2 hostname fields, and engine name, a service name, and an appbase. The way I have it setup right now, you enter the same value for the last 3 entries in that list to make it easy to manage at the file system level. And by keeping it compact, it makes that move I mentioned easy, since all the elements are together in the server.xml (as opposed to being in one location and in another. Jeff - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: NIO connector - connections and threads
Thanks for your reply. So are the open HTTP connections that use my web application code waiting in line to be processed by the available threads specified in maxThreads? Best, John On Sun, Mar 9, 2014 at 12:44 PM, Konstantin Kolinko wrote: > 2014-03-09 2:08 GMT+04:00 John Smith : > > Sorry, forgot: Tomcat 7.0.42 > > > > > > On Fri, Mar 7, 2014 at 3:59 PM, John Smith > wrote: > > > >> The NIO connector has two attributes from the standard HTTP Connector > >> implementation, maxConnections and maxThreads with defaults of 1 and > >> 200, respectively. > >> > >> Can anyone shine some light on how these work together? If I'm allowing > up > >> to 1 connections, would that mean I only have 200 threads to process > >> through them? It would seem to be a disparity between the defaults. If > I'm > >> expecting maxConnection numbers in the area of ~2000 at any given time, > >> wouldn't I want to bump up my maxThreads closer to match that? > >> > >> Production environment is: > >> > >> DELL PowerEdge R720 > >> Single Socket Six Core Intel Xeon E5-2640 2.5GHz > >> 32 GB RAM > >> RHEL 6 > >> > > Roughly speaking, > > The new APIs in java NIO and in Apache APR (and ultimately in > underlying OS) allow to test whether there are incoming data on a > network socket without actually reading it. > > A thread is needed when Tomcat calls your code in a web application to > process a request. > > When request processing ends and control is returned to Tomcat, the > request processing thread is decoupled from connection and is used to > process other connections. With keep-alive feature in HTTP/1.1 > protocol there may be several HTTP requests on the same HTTP > connection, > > maxConnections = how many open HTTP connection can be hold by Tomcat > maxThreads = how many requests are being actively processed at the same > time. > > Best regards, > Konstantin Kolinko > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: The Service Component
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Jeffrey, On 3/10/14, 10:26 AM, Jeffrey Janner wrote: >> -Original Message- From: Leo Donahue >> [mailto:donahu...@gmail.com] Sent: Friday, March 07, 2014 9:44 >> AM To: users@tomcat.apache.org Subject: The Service Component >> >> Who uses more than one Service in their server.xml and why? I >> get that you can have multiple Connectors if you have multiple >> Service components but why use multiple connectors? >> >> Are there any docs on the use cases for these features? >> > > Hi Leo, I may be the only person on this list who does this > consistently. I use it as an alternative method of virtual hosting, > i.e. each host gets its own and related sub-structure. > The real reason? The default host has to be set to something, and > I don't want to maintain some generic host to catch those that come > in. Since I'm running an SaaS environment, really more ASP, a > business requirement is that each host appear to the outside world > as a unique physical host, so two customers don't get the same IP > address. I could add tags for the IP address and all know > variations of the hostname, but there's nothing to keep some yahoo > admin at a customer site from configuring a DNS entry on an > internal DNS server with some name I'm not expecting. Therefore, > each in each gets a defaultHost entry pointing > to its one and only entry. I'm interested in this use case. Since you have to maintain a for every IP address already, how is that different from having a single with a bunch of elements? How are those different? Or is it that you need application isolation in the first place, so this is the best way to do it in a single JVM? > As an added benefit, if I find I need to move a customer from a > shared Tomcat setup to a unique Tomcat, all I need to do is set up > a new blank Tomcat and move the structure from one Tomcat > to another. Naturally, there's more work needed if I find I need to > give them their own physical server, but that's to be expected. In > general, not counting any hardware setup, I can move a host to > another tomcat instance with < 2 minutes downtime. Nice. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBCAAGBQJTHdcFAAoJEBzwKT+lPKRYL54P/RG5CJv+t89SlOxy2fb63djx h68V38Lv8PWBdj4TX9CQ05NlQOQvblqOuy+W7q9wmh+oCf3Fb6fWQaq1nZIc0+aG 5N8gCEQydIrd21XxvBF4FhXv60ZZiyhkAJRx3fXp0Mmf3BUTb0cR658DRhOEzytf 0zzoELsAdgikgwybCR30u0vuy4OfcjqwZ/aqtIdvTY1/Jx/kw8ztAk+iuY9n9QOU Iq/PPm5eZR46p9+4yxpyBUMZaDXFm012ItGGJKWIx/Xj2iERzNXDWYwF7JdNwXim GH8NWG7cLZNFixCmMiF9jMKalm7/3Ox8L7YufOeAZzIvTL13kVpK8A2ajnESmDrn r23igjGx4XRFgkBSDQCRDmStISKUjNiDHTbUQcOGi/ZyxSOvfLZRe2V6RNsMpsMT IxzhZE2YETZ4t+Eadywp+1BAj50o8oWJP3gAvwWFODe8n79MgpT++jkh+IFFO33U tNwcuhDuzh6LIyuNNrrD1PBvuOIAs350NKDdX4VaCys1fA4Kez7zup1uVgfIzprp mNjuUWlG3OWFojqb3ph450L8CFvnYYIah6yQcwvOG1vTq1jA72Kg9QG41pQax4nd ttHX67gL4kCY0VyIpgNS7LPxE90d3quJNdpE1c/5Iqsw3Wvj3LL2I6jz55kLt8Uu dCYEBEeo2GWmcP7AXxko =Inu5 -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: CorsFilter denying some same-origin requests.
On 10/03/2014 14:30, Richard Hart wrote: > (Tomcat 7.0.50, Linux) > > Having recently enabled CORS support for our Tomcat-based web app > using the provided CorsFilter, we have discovered a problem where some > same-origin (i.e. non-CORS) requests from certain browsers (e.g. > Chrome) are denied. This is due to the browser setting the Origin > header even though the request is non-CORS. it turns out that this is > in fact legal according to RFC 6454. > > Given the popularity of Tomcat and Chrome I was surprised to find > little mention of this problem online. Has anyone else encountered > this problem? > > Our planned solution is to fork CorsFilter and and modify it to allow > requests for which the Origin and Host headers both resolve to the > same IP address. However, if somebody has already implemented a > solution for this problem could you please let us know. If the Origin and Host headers don't match (even if they do resolve to the same IP address) isn't that a cross-origin request? In which case isn't the filter doing what it is meant to? Why isn't setting the cors.allowed.origins init parameter sufficient? Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
CorsFilter denying some same-origin requests.
(Tomcat 7.0.50, Linux) Having recently enabled CORS support for our Tomcat-based web app using the provided CorsFilter, we have discovered a problem where some same-origin (i.e. non-CORS) requests from certain browsers (e.g. Chrome) are denied. This is due to the browser setting the Origin header even though the request is non-CORS. it turns out that this is in fact legal according to RFC 6454. Given the popularity of Tomcat and Chrome I was surprised to find little mention of this problem online. Has anyone else encountered this problem? Our planned solution is to fork CorsFilter and and modify it to allow requests for which the Origin and Host headers both resolve to the same IP address. However, if somebody has already implemented a solution for this problem could you please let us know.. Thanks Richard Hart - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat7w.exe
> -Original Message- > From: Leo Donahue [mailto:donahu...@gmail.com] > Sent: Friday, March 07, 2014 11:10 AM > To: users@tomcat.apache.org > Subject: Tomcat7w.exe > > Did I miss something in the documentation about renaming this if one is > running multiple windows services of Tomcat? > > ex: > #Prod port 80 > c:\apache-tomcat > c:\apache-tomcat\apache-tomcat-7.0.52 > service install Tomcat7 (from bin directory here) > > #Dev port 8080 > c:\apache-tomcat-dev > c:\apache-tomcat-dev\apache-tomcat-7.0.52 > service install Tomcat7dev (from bin directory here) > > If I run the Tomcat7w.exe from #Dev, all of those settings point to > #Prod. > > Unless I change the name of Tomcat7w.exe in #Dev to Tomcat7devw.exe, > then everything is fine. > > Was that listed in the docs somewhere and I missed it? Leo, If you use the Windows installer that the foundation thoughtfully provides, you'll see that the installer actually renames the executables to whatever you put in the "Windows Service Name" field. So, if you use it to install one instance with the service name "Prod", then in the bin directory, you will have Prod.exe and Prodw.exe. If you second instance uses the service name "Dev", then the bin directory will have Dev.exe and Devw.exe. And when you go to look for those processes using Task Manager, or Process Explorer, or whatever tool you use, they will actually show up as those names. No more trying to figure out which Tomcat.exe is which. Jeff - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: The Service Component
> -Original Message- > From: Leo Donahue [mailto:donahu...@gmail.com] > Sent: Friday, March 07, 2014 9:44 AM > To: users@tomcat.apache.org > Subject: The Service Component > > Who uses more than one Service in their server.xml and why? I get that > you can have multiple Connectors if you have multiple Service > components but why use multiple connectors? > > Are there any docs on the use cases for these features? > Hi Leo, I may be the only person on this list who does this consistently. I use it as an alternative method of virtual hosting, i.e. each host gets its own and related sub-structure. The real reason? The default host has to be set to something, and I don't want to maintain some generic host to catch those that come in. Since I'm running an SaaS environment, really more ASP, a business requirement is that each host appear to the outside world as a unique physical host, so two customers don't get the same IP address. I could add tags for the IP address and all know variations of the hostname, but there's nothing to keep some yahoo admin at a customer site from configuring a DNS entry on an internal DNS server with some name I'm not expecting. Therefore, each in each gets a defaultHost entry pointing to its one and only entry. As an added benefit, if I find I need to move a customer from a shared Tomcat setup to a unique Tomcat, all I need to do is set up a new blank Tomcat and move the structure from one Tomcat to another. Naturally, there's more work needed if I find I need to give them their own physical server, but that's to be expected. In general, not counting any hardware setup, I can move a host to another tomcat instance with < 2 minutes downtime. Jeff - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: simple way to access application in multi instance envirnoment
On Mon, Mar 10, 2014 at 9:03 AM, Daniel Mikusa wrote: > On Mar 9, 2014, at 11:05 AM, Neven Cvetkovic > wrote: > > Thus, if you run multiple instances of Tomcat - alone, virtual hosting > will > > not help you , since only one process can bind to a single IP address to > > one port (e.g. port 80). So, either put everything to the same Tomcat > > ("yuck"), > > Just wanted to point out that there is nothing wrong with this approach. > There are cases where it is a good idea. One example would be when > running lots of small sites. There is overhead for running an each JVM and > Tomcat instance. If you have a large number of small sites, it might makes > sense to combine them into one or a few Tomcat instances to reduce that > overhead. > > Dan > > +1. Dan, that's a great use case for single instance Tomcat. However, keep in mind - in the ideal world, where we have infinite amount of resources (staff, hardware, electricity, memory, etc...) - you would want each application on its own Tomcat instance, and we generally make apps coexist on the same Tomcat instance for optimization purposes (reducing hardware to manage, reducing staff to support various instances, preserving electricity, etc...) Another example that I've seen is to have a single instance, with a single application - but hosted for various domains, with some dynamic white-labeling application, e.g. webmail client, mailing list software, etc...
RE: simple way to access application in multi instance envirnoment
> -Original Message- > From: Ahmed Dalatony [mailto:ahmed.dalat...@gmail.com] > Sent: Sunday, March 09, 2014 2:16 PM > To: Tomcat Users List > Subject: Re: simple way to access application in multi instance > envirnoment > > On Sun, Mar 9, 2014 at 7:48 PM, Neven Cvetkovic > wrote: > > > On Sun, Mar 9, 2014 at 11:29 AM, Ahmed Dalatony > > > >wrote: > > > > > On Sun, Mar 9, 2014 at 5:05 PM, Neven Cvetkovic > > > wrote: > > > > > > > Ahmed, > > > > > > > > On Sun, Mar 9, 2014 at 10:14 AM, Ahmed Dalatony < > > > ahmed.dalat...@gmail.com > > > > >wrote: > > > > > > > > > hello, > > > > > > > > > can you help me little more with example or simpler doc > > > > > i'm new to tomcat config > > > > > and i don't understand virtual host > > > > > > > > > > thank you > > > > > > > > What environment do you use? e.g. Windows, Linux, etc. > > If Linux, what flavour of Linux? e.g. RHEL (CentOS, Fedora), Ubuntu, > etc. > > What webserver would you like to use? e.g. Apache HTTPD, IIS, nginx, > etc. > > > > They all have different ways to configure your setup. > > > > - The easier one to setup is to use mod_proxy, check examples here: > > https://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html > > > > - More common is to use AJP protocol and mod_jk in Apache, check > > examples > > here: > > http://tomcat.apache.org/connectors-doc/generic_howto/quick.html > > http://tomcat.apache.org/connectors-doc/reference/apache.html > > > > Hope that helps. > > n. > > > > hello, > I'm using win server 2008 running a combination of tomcat 6, tomcat 7, > oc4j 10g on different ports the resources you supplied are very handy > but they explain accessing http://www.myhost.com:/App1 from > http://www.myhost.com/App1 > is it applicable to be accessed from URL like this > http://App1.myhost.com > > thanks, If you really want the last URL style, http://app.mydomain.com/, then you can do it with any of the alternatives Neven mentioned, except Alt_0. For Alt_1 and Alt_2, once you set up the tags, you set up each App as the ROOT context. Hint: It's best to view this as setting up a single host to do one app as ROOT, and then just apply it to multiple . For Alt_2, you can assign multiple IPs to a single network interface in Windows, in case you have a limited number of physical ports. With your explanation of your current setup, I'd say you'd want either Alt_2 or Alt_3. For Alt_2, it's just reconfiguring your server.xml files to specify the address= parameter on the tag, and set the port to 80, with each Tomcat getting a unique IP. Alt_3 can be accomplished without modifying your current Tomcats, or not modifying them by much, and offers a little more flexibility, but you have a learning curve ahead of you on configuring the Apache HTTPd server appropriately. However, it would give you the option of adding additional Tomcats for an app with the httpd server acting as a load balancer if you find you need additional capacity for that one app. Of course, don't forget the DNS mapping of the new hostnames to IP addresses. I do this all the time in my environment, and actually have servers setup in a combined Alt_1 & Alt_2 environment. That is, multiple Tomcat instances, some dedicated to a specific host, some using virtual hosting, all on the same server. Jeff - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: simple way to access application in multi instance envirnoment
On Mar 9, 2014, at 11:05 AM, Neven Cvetkovic wrote: > Ahmed, > > On Sun, Mar 9, 2014 at 10:14 AM, Ahmed Dalatony > wrote: > >> hello, >> > can you help me little more with example or simpler doc >> i'm new to tomcat config >> and i don't understand virtual host >> >> thank you >> > > Ultimately, if you don't want to show the port number to the end user, the > serving process needs to bind to port 80. > > You mentioned few Tomcat processes, bound to ports , , , each > serving few applications. > > So, here are few alternatives to achieve what you want: > > ALTERNATIVE_0 > - Don't do anything. Each Tomcat instance runs on it's own port number. > - Doesn't achieve what you want :) > > ALTERNATIVE_1 > - Host all applications on a single Tomcat instance. Bind Tomcat to port 80 > (if linux environment remember port 80 is privileged port, so you have to > configure your Tomcat accordingly.) Register all domains to the same IP > address. > - You can use Tomcat virtual hosting to register different domains to > specific applications. > - Downside of this approach is that all applications are sharing the same > JVM (Tomcat) instance. Spike in one application can bring all other > applications down. > > ALTERNATIVE_2 > - Have multiple network interfaces (IP addresses) available. Bind each > Tomcat instance to one of the IP addresses. Register each domain to its own > IP address. > - This approach is better than ALTERNATIVE_1 when it comes to isolation of > the processes in their own execution environments. > - This approach utilizes many IP addresses, that are usually scarce and not > easily justified for numerous applications. > > ALTERNATIVE_3 > - Most common approach I've seen around. > - Similar to approach you are currently taking (ALTERNATIVE_0), with a help > of external web server that will act as a (reverse) proxy. Typically, I > would use Apache Httpd server, but you can use other web servers, e.g. IIS > on Windows platform, or nginx. > - In this case Apache (or other webserver) would bind to port 80, and based > on the requested URL (or host) would point to a specific application > (hosted on specific Tomcat on certain port, e.g. , , , etc...) > - If you would like to achieve that different hosts point to different > applications, register all domains with the same IP address in DNS, and > configure virtual hosting on the web server. +1 Good explanation > Thus, if you run multiple instances of Tomcat - alone, virtual hosting will > not help you , since only one process can bind to a single IP address to > one port (e.g. port 80). So, either put everything to the same Tomcat > ("yuck”), Just wanted to point out that there is nothing wrong with this approach. There are cases where it is a good idea. One example would be when running lots of small sites. There is overhead for running an each JVM and Tomcat instance. If you have a large number of small sites, it might makes sense to combine them into one or a few Tomcat instances to reduce that overhead. Dan > or bind each tomcat to port 80 on separate IP addresses, or have > an external web server routing requests to your multiple Tomcat instances. > My preference is the later approach. > > Here are some questions you want to answer before choosing the alternative: > - What is the environment that you run on (windows, linux, etc.)? > - What are you requirements? > - How many applications do you have? How many instances do you plan to run, > on the same machine, on the entire platform? > - What are the application usage patterns? (how many users do you plan to > serve, spikes, etc..) > - What are the service level agreements you have with your customers? > - etc... > > > Configuring webserver to route requests to Tomcat instances is pretty > straight forward, and you have a choice of HTTP or AJP protocols and > depends on the choice of your webserver (Apache HTTPD, IIS, nginx, etc.) > > Hope that helps. > > Cheers! > Neven - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat 7 Session Persistence disable not working as expected
Christopher, I have changed in server.xml. Below is the server.xml part - WEB-INF/web.xml As indicated above, I write JSESSIONID in "mycookie" cookie. Even after restart, the JSESSIONID is not getting invalidated. Before and after restart of apache, I can keep browsing the site with the same JSESSIONID in cookie.