Re: Post Session Id
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Wesley, On 3/29/15 1:15 PM, Wesley Acheson wrote: A team I am working with use tomcat 7 as their web container. The application cannot use url session tracking due to compliance reasons. One of the requirements we are facing is that the application should work in an iframe on the safari web browser, which blocks all cookies. Do you mean that Safari has been configured to block all cookies? Because Safari won't block cookies just because you are using an iframe . For this purpose I'd like to post some value around that acts as a session Id. However I'm not sure if this is possible? If you write a Valve (which would be Tomcat-specific, and not work under other servlet containers), you could change the way Tomcat reads session identifiers from the request (and use a request parameter instead of a path parameter). Or you could handle session-management yourself and not use servlet-spec-style session-tracking (which would be WAY more invasive to your application). *I'm aware that this won't work for common paradigms such as POST-REDIRECT-GET.* Looking at CoyoteAdaptor.java seems to suggest that session Id can only be retrieved using SSL COOKIE and URL. COOKIE is out because of third party issues. URL is out because of compliance. SSL may be a possiblity but only if it doesn't involve custom client certificates. Is there any good place to hook in a post parameter for retrieving and reattaching the session? I've not done this before. CoyoteAdapter calls request.setRequestedSessionId in a few places, and I don't believe CoyoteAdapter can be overridden or replaced directly. If you had a Valve that ran before anything else, you might be able to capture the request, read a request parameter, and then call setRequestedSessionId yourself with that replacement value. YMMV - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v2 Comment: GPGTools - http://gpgtools.org iQIcBAEBCAAGBQJVGJYFAAoJEBzwKT+lPKRYn8oP/0LIWZKl5Nf/bYdN1BeosGFF 6hLS/mEDZ+XUD/NMpGpTHjoin3+32m7kGKEGCCApQDc4GAUlIwJGzLeLPsGfFaoo QXXyM6XUfpHWmJaEPtAySe0CZ/fwOKvL/DKuuO7UbtjFmNc8Pm/e87p5lmprsaQ1 C+4pfXsV5ltdDO8eZU0ofOHAXA0qkDuizeixwEcG3sXnNqF4Hr7Oq4gF0TKwCAU9 6Hce0NYVY61YY64U0m+dCCsH5a9hMUlu48YGDA9JemKmeNLexR3TrxFC8LT8iqUW jXNygDD7GBfFBhIiYujUo3HwSCNW091OMy6Vb0DhcSOlL11LVpK2+eNLZ1aM3kHI 881Onen2evMjzZ3PcALw2SqN3Cmr8dqMp0YhrJc2jsZ6OXBrYSuSCYCw4A0tDlN7 GTusoqFobmipgXu+sksZh5A6h5uyThVTLikG3CQ72wvTDMzRBh1YrNPc027BLuKN k/KOoBv3Lkyan+pSEbzQCCchB2IQ/CSFHoD8jgfzcHehJ5qB1Mrwo97kwsh1qbvk IjGssbqyDrTmfrKVyl1ypeCi18l7pn9GrTzJwFoNUxmfd+42elwCrRPUdCYYZuR8 9Ne8uYegBwnvRQpDN5RCK73Bqpyi2lgyP10Ph20TvnQ3ACDNbb6247TOTPGnItGr G5g/FyojfAtvlnhe7+r4 =0axs -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat - thread dies randomly
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Madhur, On 3/29/15 5:17 AM, Madhur Ahuja wrote: We have built a messaging server using PubNub which listens for chat messages from Android device. For this, our J2EE based spring, we have created a Pubnub listener (which is basically a listening socket) as follows. If you have a component that opens its own socket, then it's not really using Tomcat for anything. Someone here might be able to help, but it sounds like this is not really Tomcat-related. However, we have observed is that our server stops listening randomly after few days. The Tomcat keeps working fine, but just the socket stops listening. There is not error in logs. Yup, it sounds like it's not Tomcat-related. I'll let some others on the list with more Spring-related experience jump in and try to help. - -chris Can anyone help in diagnosing this issue? Specifically, I want to ensure that the below design to initiate a listener is durable and not prone to errors. public class IncomingListener implements ApplicationListener ContextRefreshedEvent { @Override public void onApplicationEvent(ContextRefreshedEvent event) { private static volatile boolean isContextLoaded = false; @Autowired ServletContext application; synchronized(IncomingListener.class) { if (isContextLoaded) { System.out.println(WTF: Not initializing incoming listener); return; } try { initialiseIncomingListener(); isContextLoaded = true; } catch (JSONException e) { e.printStackTrace(); } catch (AkoshaException e) { e.printStackTrace(); } } } private void initialiseIncomingListener() { // Initialize our Pubnub Listener pubnub.subscribe(serverchannel, new Callback() { // Subscribe to pubnub }); } } -BEGIN PGP SIGNATURE- Version: GnuPG v2 Comment: GPGTools - http://gpgtools.org iQIcBAEBCAAGBQJVGJNBAAoJEBzwKT+lPKRY7GEP/2LLZL793xUJ286K2Td4i9W2 qv8XyvWKwzYkibSWKCgoAmZ5PiWSl+v/7Q7WoWkbi54yHMqwSekN53E1aKmWk7fB LPkhghf/uu+WFur7c/2c6GGEkZXV7q1QTtNlibSgsSEyXA6wI00JnzNxwAP3HO0Q iB8r3C8/K8bMyqEkXgE4kyWTOjoCq7eeL36060InJeM247sn1UB16AX6SKx8b/Bi zY6QBjIbvwnLDEqwWy72FU2iebXzNV2etVwU0L5UuFP9LiidEZ7wCg27yhmIkUDG rqYo5pFHbNjJA8U7oi+DPB5mvIcRiX6wqxJ77pucyEvX3rR/qO6UiOxcGtCjADjs 988wS0cThVOhPzF8T73vxPeUBbnjEQr2K7tzBEOd4GK4u620qoJHoxZ8MlhsxsCb KGD6YlKkOKR4kHO3UbINwxXkWzyuTIE2hojOqgO2DyEVSUm479XUewWYq07hWmRA mO8d4TIv/CQzt4TnWw3XIPsjxWZ/dt1ca6D7HtBjCvMldIAvgwPFe6S/DUOrOH5p K72VVjyW+6xaJYR/98ZAa3USA9ondRDsZuCkoI/65QID3NpdlyOGw2cnGrTg654M QobUC4mXkKFNCxD31q2zaZ0QzJO7sq6OqVq9F/Yer7Fo/ZS0mLP6EmOHCQj2dRv7 Tn+waNzIpDM28Ax3VoD7 =BEPH -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
On Sun, 2015-03-29 at 12:56 -0400, Tim Watts wrote: On Sun, 2015-03-29 at 18:06 +0200, Lmhelp1 wrote: On 3/29/2015 5:36 PM, André Warnier [via Tomcat] wrote: Lmhelp1 wrote: Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. I do not really know how to translate this for Eclipse but if this was a stand-alone Tomcat, the way you describe it above, project1 and project2 (when deployed) should also have the class available under their respective (catalina_base)/webapps/projectX/WEB-INF/classes/ directory (or /WEB-INF/classes/lib/, if in a jar). Is it the case ? Thank you for your answer. No, it is not the case. - There are no .class files from project3 under classes directories for the two projects project1 and project2. - I didn't make a .jar file out of project3 because I don't want to have to do it every time I change the code of the classes in project3... Note - If I do not add project3 via Project - Properties - Java Build Path - Projects for both projects project1 and project2 I get hundreds of errors. So clearly this is a required setting... I don't know what is missing... Thank you for helping me. Best regards. -- Léa In Eclipse, try Project / Properties / Deployment Assembly. Add project 'project3'. It should add project3's resulting jar file to WEB-INF/lib or resulting classes to WEB-INF/classes depending on how project3 is configured. UPDATE: The 2nd part of that sentence is not true; it will always add the resulting jar file of project3. However, it will create jar file on the fly when the webapp is re/deployed OR when project3 is modified. Keep in mind that this is simply a quick dirty way of testing the app from within Eclipse and NOT suitable for building a deployable war file. You should use Maven or Ant or etc. for that. Note that I'm using the Maven plug-in so this may be a consequent feature of the plug-in, I'm not sure. This feature does not appear to require the Maven plug-in. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Tomcat server Performance imporvement required
Dear Team, I am an application developer from TCS and working for PSEG (https://www.pseg.com). You might have seen my queries which I forwarded on 12 Feb, 2015 for Tomcat server crashing issue. After that we have added some resources to the servers. Now we have two Tomcat6 servers each one is having 16GB of RAM and 8CUPS. All server are Linux 6.5 64 bit OS. As per application architecture we have two Apache Proxy servers and two Tomcat servers. Also we have two loadbalancers, one for Proxy loadbalancing and another for Tomcat loadbalancing. So, when request comes that comes to proxy loadbalncer first then Apache Proxy server - Tomcat loadbalancer - Tomcat server. Some days back on 19th and 23rd of March another incident occurs when server faced some issues again. This time none of the servers where crashed but for some highly used pages in the site, Apache proxy server started complaining Timeout which is 60 seconds. After googling we thought we could increase the Time out in Proxy but client don't accept that. So we need some tuning parameters on Tomcat server for better performance. Below are some of the setting parameters from actual server. Ports are masked. Initializing param: JAVA_OPTS=${JAVA_OPTS} -Xms1024M -Xmx1024M CATALINA_OPTS=${CATALINA_OPTS} -Xms1024M -Xmx1024M Connector Initialization param: Connector port= protocol=HTTP/1.1 connectionTimeout=2 server= secure=true redirectPort= maxThreads=512/ All other parameters are kept as default. Also we did some load testing on the servers in Test environment and found that if we restart the Tomcat server it works absolutely fine but gradually performance decrease though the garbage collection happening and very little memory captured by PS Old Gen'. Is there any other parameters we can add in the servers to increase performance? Thanks Regards, Subhro Paul - The information contained in this e-mail, including any attachment(s), is intended solely for use by the named addressee(s). If you are not the intended recipient, or a person designated as responsible for delivering such messages to the intended recipient, you are not authorized to disclose, copy, distribute or retain this message, in whole or in part, without written authorization from PSEG. This e-mail may contain proprietary, confidential or privileged information. If you have received this message in error, please notify the sender immediately. This notice is included in all e-mail messages leaving PSEG. Thank you for your cooperation. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
On 3/29/2015 5:36 PM, André Warnier [via Tomcat] wrote: Lmhelp1 wrote: Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. I do not really know how to translate this for Eclipse but if this was a stand-alone Tomcat, the way you describe it above, project1 and project2 (when deployed) should also have the class available under their respective (catalina_base)/webapps/projectX/WEB-INF/classes/ directory (or /WEB-INF/classes/lib/, if in a jar). Is it the case ? Thank you for your answer. No, it is not the case. - There are no .class files from project3 under classes directories for the two projects project1 and project2. - I didn't make a .jar file out of project3 because I don't want to have to do it every time I change the code of the classes in project3... Note - If I do not add project3 via Project - Properties - Java Build Path - Projects for both projects project1 and project2 I get hundreds of errors. So clearly this is a required setting... I don't know what is missing... Thank you for helping me. Best regards. -- Léa - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
Lmhelp1 wrote: Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. I do not really know how to translate this for Eclipse but if this was a stand-alone Tomcat, the way you describe it above, project1 and project2 (when deployed) should also have the class available under their respective (catalina_base)/webapps/projectX/WEB-INF/classes/ directory (or /WEB-INF/classes/lib/, if in a jar). Is it the case ? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. Best regards. -- Léa Massiot - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
On Sun, 2015-03-29 at 18:06 +0200, Lmhelp1 wrote: On 3/29/2015 5:36 PM, André Warnier [via Tomcat] wrote: Lmhelp1 wrote: Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. I do not really know how to translate this for Eclipse but if this was a stand-alone Tomcat, the way you describe it above, project1 and project2 (when deployed) should also have the class available under their respective (catalina_base)/webapps/projectX/WEB-INF/classes/ directory (or /WEB-INF/classes/lib/, if in a jar). Is it the case ? Thank you for your answer. No, it is not the case. - There are no .class files from project3 under classes directories for the two projects project1 and project2. - I didn't make a .jar file out of project3 because I don't want to have to do it every time I change the code of the classes in project3... Note - If I do not add project3 via Project - Properties - Java Build Path - Projects for both projects project1 and project2 I get hundreds of errors. So clearly this is a required setting... I don't know what is missing... Thank you for helping me. Best regards. -- Léa In Eclipse, try Project / Properties / Deployment Assembly. Add project 'project3'. It should add project3's resulting jar file to WEB-INF/lib or resulting classes to WEB-INF/classes depending on how project3 is configured. Note that I'm using the Maven plug-in so this may be a consequent feature of the plug-in, I'm not sure. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
On 3/29/2015 6:06 PM, Lmhelp1 wrote: On 3/29/2015 5:36 PM, André Warnier [via Tomcat] wrote: Lmhelp1 wrote: Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. I do not really know how to translate this for Eclipse but if this was a stand-alone Tomcat, the way you describe it above, project1 and project2 (when deployed) should also have the class available under their respective (catalina_base)/webapps/projectX/WEB-INF/classes/ directory (or /WEB-INF/classes/lib/, if in a jar). Is it the case ? Thank you for your answer. No, it is not the case. - There are no .class files from project3 under classes directories for the two projects project1 and project2. - I didn't make a .jar file out of project3 because I don't want to have to do it every time I change the code of the classes in project3... Note - If I do not add project3 via Project - Properties - Java Build Path - Projects for both projects project1 and project2 I get hundreds of errors. So clearly this is a required setting... I don't know what is missing... Thank you for helping me. Best regards. -- Léa Me again. Maybe the problem is within the web.xml file. For example, let's consider the following line in the web.xml file of project1: filter-classmy.package.MyFilter/filter-class If, at runtime, the class file MyFilter.class is being looked for in the classes/ directory of project1, it is clear it won't be found because it is in the bin/ directory of project3... Maybe we should tell project1, in its web.xml, that the class MyFilter is in project3, not in project1... -- Léa - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException - Involving a class implementing Filter and two projects depending on another one
On 3/29/2015 6:57 PM, Tim Watts-3 [via Tomcat] wrote: On Sun, 2015-03-29 at 18:06 +0200, Lmhelp1 wrote: On 3/29/2015 5:36 PM, André Warnier [via Tomcat] wrote: Lmhelp1 wrote: Hello, Thank you for reading my post. I am getting a ClassNotFoundException. Below is the situation. - I'm working with Eclipse (Luna), Tomcat 8 and Java 8. - I have three projects project1, project2 and project3. - project1 and project2 depend on the third project project3. In Project - Properties - Java Build Path - Projects, I added project3 for both projects project1 and project2. - project3 is a Java project. - project1 and project2 are Dynamic Web Projects. - project3 defines the class MyFilter which implements Filter and which I put in the package my.package. - project1 contains a web.xml file which contains the following elements: [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] - project2 contains a web.xml file which contains the following elements (same as in project 1): [...] filter filter-nameMyFilter/filter-name filter-classmy.package.MyFilter/filter-class init-param param-namerequestEncoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameMyFilter/filter-name url-pattern/*/url-pattern /filter-mapping [...] When running a JSP of project1 on the Tomcat server, I get the error: SEVERE: Exception starting filter MyFilter java.lang.ClassNotFoundException: my.package.MyFilter There are no errors at build time. I just would like to mention that I'm working with Tomcat 8 for the first time. It used to work with Tomcat 7 but I might have done something more to make it work... I don't remember what... What can I do to solve that problem? Please let me know if you need additional information or if I'm not clear enough. I do not really know how to translate this for Eclipse but if this was a stand-alone Tomcat, the way you describe it above, project1 and project2 (when deployed) should also have the class available under their respective (catalina_base)/webapps/projectX/WEB-INF/classes/ directory (or /WEB-INF/classes/lib/, if in a jar). Is it the case ? Thank you for your answer. No, it is not the case. - There are no .class files from project3 under classes directories for the two projects project1 and project2. - I didn't make a .jar file out of project3 because I don't want to have to do it every time I change the code of the classes in project3... Note - If I do not add project3 via Project - Properties - Java Build Path - Projects for both projects project1 and project2 I get hundreds of errors. So clearly this is a required setting... I don't know what is missing... Thank you for helping me. Best regards. -- Léa In Eclipse, try Project / Properties / Deployment Assembly. Add project 'project3'. It should add project3's resulting jar file to WEB-INF/lib or resulting classes to WEB-INF/classes depending on how project3 is configured. Note that I'm using the Maven plug-in so this may be a consequent feature of the plug-in, I'm not sure. It solves my problem. Thank you very much :). Apparently, project3.jar files are being put in: eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\project1\WEB-INF\lib eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\project2\WEB-INF\lib for project1 and project2 respectively... Best regards. -- Léa - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Post Session Id
Hi All, A team I am working with use tomcat 7 as their web container. The application cannot use url session tracking due to compliance reasons. One of the requirements we are facing is that the application should work in an iframe on the safari web browser, which blocks all cookies. For this purpose I'd like to post some value around that acts as a session Id. However I'm not sure if this is possible? *I'm aware that this won't work for common paradigms such as POST-REDIRECT-GET.* Looking at CoyoteAdaptor.java seems to suggest that session Id can only be retrieved using SSL COOKIE and URL. COOKIE is out because of third party issues. URL is out because of compliance. SSL may be a possiblity but only if it doesn't involve custom client certificates. Is there any good place to hook in a post parameter for retrieving and reattaching the session? Regards Wesley
RE: Tomcat server Performance imporvement required
Thanks Ameer for your reply. What is the max value we can assign to heap space? Regards, Subhro Paul -Original Message- From: Ameer Mawia [mailto:ameer.ma...@gmail.com] Sent: Sunday, March 29, 2015 3:02 AM To: Tomcat Users List Subject: Re: Tomcat server Performance imporvement required Email sent from outside of PSEG. Use caution before using links/attachments. On Mar 29, 2015 2:53 AM, Paul, Subhro subhro.p...@pseg.com wrote: Dear Team, I am an application developer from TCS and working for PSEG ( https://www.pseg.com). You might have seen my queries which I forwarded on 12 Feb, 2015 for Tomcat server crashing issue. After that we have added some resources to the servers. Now we have two Tomcat6 servers each one is having 16GB of RAM and 8CUPS. All server are Linux 6.5 64 bit OS. As per application architecture we have two Apache Proxy servers and two Tomcat servers. Also we have two loadbalancers, one for Proxy loadbalancing and another for Tomcat loadbalancing. So, when request comes that comes to proxy loadbalncer first then Apache Proxy server - Tomcat loadbalancer - Tomcat server. Some days back on 19th and 23rd of March another incident occurs when server faced some issues again. This time none of the servers where crashed but for some highly used pages in the site, Apache proxy server started complaining Timeout which is 60 seconds. After googling we thought we could increase the Time out in Proxy but client don't accept that. So we need some tuning parameters on Tomcat server for better performance. Below are some of the setting parameters from actual server. Ports are masked. Initializing param: JAVA_OPTS=${JAVA_OPTS} -Xms1024M -Xmx1024M CATALINA_OPTS=${CATALINA_OPTS} -Xms1024M -Xmx1024M Connector Initialization param: Connector port= protocol=HTTP/1.1 connectionTimeout=2 server= secure=true redirectPort= maxThreads=512/ All other parameters are kept as default. Also we did some load testing on the servers in Test environment and found that if we restart the Tomcat server it works absolutely fine but gradually performance decrease though the garbage collection happening and very little memory captured by PS Old Gen'. You almost HIT the point. You have to allocate more heap space..Xmx..to your Tomcat JVM, OR else if you can't afford that, then obviously analyse your application and try reducing the memory footprint. Is there any other parameters we can add in the servers to increase performance? Thanks Regards, Subhro Paul - The information contained in this e-mail, including any attachment(s), is intended solely for use by the named addressee(s). If you are not the intended recipient, or a person designated as responsible for delivering such messages to the intended recipient, you are not authorized to disclose, copy, distribute or retain this message, in whole or in part, without written authorization from PSEG. This e-mail may contain proprietary, confidential or privileged information. If you have received this message in error, please notify the sender immediately. This notice is included in all e-mail messages leaving PSEG. Thank you for your cooperation. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org Regards, Ameer Mawia - The information contained in this e-mail, including any attachment(s), is intended solely for use by the named addressee(s). If you are not the intended recipient, or a person designated as responsible for delivering such messages to the intended recipient, you are not authorized to disclose, copy, distribute or retain this message, in whole or in part, without written authorization from PSEG. This e-mail may contain proprietary, confidential or privileged information. If you have received this message in error, please notify the sender immediately. This notice is included in all e-mail messages leaving PSEG. Thank you for your cooperation. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: SPNEGO test configuration with Manager webapp
Am 28. März 2015 17:46:50 MEZ, schrieb Mark Thomas ma...@apache.org: On 28/03/2015 14:43, David Marsh wrote: Ok so I went back to basics and created three new VM's. Windows Server 2008 R2 Windows 7 Client Windows 7 Tomcat I still had same issues, until I changed the Java on the tomcat server to JDK 7 u45. It appears there are breaking changes to JAAS/GSS in newer JDKs ? Thank you for doing all this testing. That is useful information to know. The next step (for you, me or anyone who has the time and wants to help) is to test subsequent Java 7 releases and see at which version it stops working. I'd hope that a review of the relevant change log would identify the change that triggered the breakage and provide some clues on how to fix it. It would be worth testing the Java 8 releases the same way. I read it, that jdk 7 works and jdk 8 is problematic. There are a few Kerberos related Chaves in jdk 8 ( http://docs.oracle.com/javase/8/docs/technotes/guides/security/enhancements-8.html). Interesting are the two changes: * DES is disabled by default * constrained delegation is supported. My guess would be, that it would help (in this case) to reenable DES by adding allow_weak_crypto=true in the krb5.conf. Regards Felix Mark David From: dmars...@outlook.com To: users@tomcat.apache.org Subject: RE: SPNEGO test configuration with Manager webapp Date: Fri, 27 Mar 2015 23:40:06 + By the way Tomcat 8 was running on JDK :- C:\Windows\system32java -version java version 1.8.0_40 Java(TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode) Version update 40 should include some JRE fixes around GSS and SPNEGO, including ignoring parts of NegoEx, however it does not seem to work. I've also created a Windows 7 client with same config just different DNS of win-pc02.kerbtest.local It has the same issue going from firefox to http://win-tc01.kerbtest.local/manager/html I get the same three 401's and the Negotiate. Date: Thu, 26 Mar 2015 12:11:34 +0100 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: SPNEGO test configuration with Manager webapp David Marsh wrote: Hi Mark, Thanks for that, yes I've got 30 years windows experience, I can use Linux at a push but its not really my area expertise. I'm a Java / Windows programmer so I should be able to understand it, but not kerberos or Active Directory expert. I have used Waffle in the past with success and used JAAS/GSS-API in Java thick clients. I made the IE settings you outlined but it seems to still prompt. IE has win-tc01.kerbtest.local as a trusted site. Enable Windows Integrated Authentication is on Auto logon only in Intranet Zone is on I've been using Firefox to test and that does send 401 and negotiate, but causes the GSS token error mentioned. Active directory and krb5.ini are using eType 23 which is rc4-hmac The windows client OS and tomcat server OS has registry setting for allowtgtsessionkey set to 1 (enabled). Java kinit test works and stores a ticket in the Java session cache. So problem seems to be either :- 1. Browser sends bad token 2. Token is good but Oracle JDK 8 GSS-API cannot handle it Another shot almost in the dark : while browsing hundreds of Kerberos-related pages on the WWW, one other recommendation which seems to appear regularly (and Mark also mentioned that somewhere), is that each time you make a change somewhere, you should reboot the machine afterward, before re-testing. (Particularly on Windows machines). I know it's a PITA, but I have also found the same to be true sometimes when merely dealing with NTLM matters. There are probably some hidden caches that get cleared only in that way. many thanks David Date: Thu, 26 Mar 2015 11:32:39 +0100 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: SPNEGO test configuration with Manager webapp David Marsh wrote: Hi Mark, Thanks that would be great ! Do you have a good mechanism to test and ensure kerberos token is passed to tomcat and not NTLM token ? I believe that I can answer that. And the basic answer is no. First the basic principle, valid for this and many many other areas : the server cannot impose anything on the browser. The local user can always override anything received from the server, by a setting in the browser. And a hacker can of course do anything. All the server can do, is tell the browser what it will accept, and the browser can tell the server ditto. So, never assume the opposite, and you will save yourself a lot of fruitless searches and dead-ends. Now more specific : 1) For Kerberos to be used at all at the browser level, the server must send a 401 response with Negociate as the requested authentication method. Unless it does that, the browser will never even attempt to send a Kerberos Authorization
Re: Tomcat server Performance imporvement required
On Mar 29, 2015 2:53 AM, Paul, Subhro subhro.p...@pseg.com wrote: Dear Team, I am an application developer from TCS and working for PSEG ( https://www.pseg.com). You might have seen my queries which I forwarded on 12 Feb, 2015 for Tomcat server crashing issue. After that we have added some resources to the servers. Now we have two Tomcat6 servers each one is having 16GB of RAM and 8CUPS. All server are Linux 6.5 64 bit OS. As per application architecture we have two Apache Proxy servers and two Tomcat servers. Also we have two loadbalancers, one for Proxy loadbalancing and another for Tomcat loadbalancing. So, when request comes that comes to proxy loadbalncer first then Apache Proxy server - Tomcat loadbalancer - Tomcat server. Some days back on 19th and 23rd of March another incident occurs when server faced some issues again. This time none of the servers where crashed but for some highly used pages in the site, Apache proxy server started complaining Timeout which is 60 seconds. After googling we thought we could increase the Time out in Proxy but client don't accept that. So we need some tuning parameters on Tomcat server for better performance. Below are some of the setting parameters from actual server. Ports are masked. Initializing param: JAVA_OPTS=${JAVA_OPTS} -Xms1024M -Xmx1024M CATALINA_OPTS=${CATALINA_OPTS} -Xms1024M -Xmx1024M Connector Initialization param: Connector port= protocol=HTTP/1.1 connectionTimeout=2 server= secure=true redirectPort= maxThreads=512/ All other parameters are kept as default. Also we did some load testing on the servers in Test environment and found that if we restart the Tomcat server it works absolutely fine but gradually performance decrease though the garbage collection happening and very little memory captured by PS Old Gen'. You almost HIT the point. You have to allocate more heap space..Xmx..to your Tomcat JVM, OR else if you can't afford that, then obviously analyse your application and try reducing the memory footprint. Is there any other parameters we can add in the servers to increase performance? Thanks Regards, Subhro Paul - The information contained in this e-mail, including any attachment(s), is intended solely for use by the named addressee(s). If you are not the intended recipient, or a person designated as responsible for delivering such messages to the intended recipient, you are not authorized to disclose, copy, distribute or retain this message, in whole or in part, without written authorization from PSEG. This e-mail may contain proprietary, confidential or privileged information. If you have received this message in error, please notify the sender immediately. This notice is included in all e-mail messages leaving PSEG. Thank you for your cooperation. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org Regards, Ameer Mawia
Re: Tomcat server Performance imporvement required
Paul, Subhro wrote: Thanks Ameer for your reply. What is the max value we can assign to heap space? Under a 64-bit OS and a 64-bit JVM, as much as you want (taking into account the amount of memory available on the host of course). Whether that is efficient, is another matter entirely, and depends entirely on the characteristics of your own systems and applications. (I am mentioning that to fend off your probable next question, which could be along the lines of : what should I allocate in my case ? Nobody else but you can answer that one, and you can answer that only after monitoring your system while running your applications, over a period of time). As to how this all works : search Google for java jvm memory management and read one of the many introductions on the subject. I find Memory Management in the Java HotSpot™ Virtual Machine (a PDF) to be a good one. One more thing : on this forum, it is preferred that you do not top post, and try to keep the conversation in a logical order. See http://tomcat.apache.org/lists.html#tomcat-users item #6. Regards, Subhro Paul -Original Message- From: Ameer Mawia [mailto:ameer.ma...@gmail.com] Sent: Sunday, March 29, 2015 3:02 AM To: Tomcat Users List Subject: Re: Tomcat server Performance imporvement required Email sent from outside of PSEG. Use caution before using links/attachments. On Mar 29, 2015 2:53 AM, Paul, Subhro subhro.p...@pseg.com wrote: Dear Team, I am an application developer from TCS and working for PSEG ( https://www.pseg.com). You might have seen my queries which I forwarded on 12 Feb, 2015 for Tomcat server crashing issue. After that we have added some resources to the servers. Now we have two Tomcat6 servers each one is having 16GB of RAM and 8CUPS. All server are Linux 6.5 64 bit OS. As per application architecture we have two Apache Proxy servers and two Tomcat servers. Also we have two loadbalancers, one for Proxy loadbalancing and another for Tomcat loadbalancing. So, when request comes that comes to proxy loadbalncer first then Apache Proxy server - Tomcat loadbalancer - Tomcat server. Some days back on 19th and 23rd of March another incident occurs when server faced some issues again. This time none of the servers where crashed but for some highly used pages in the site, Apache proxy server started complaining Timeout which is 60 seconds. After googling we thought we could increase the Time out in Proxy but client don't accept that. So we need some tuning parameters on Tomcat server for better performance. Below are some of the setting parameters from actual server. Ports are masked. Initializing param: JAVA_OPTS=${JAVA_OPTS} -Xms1024M -Xmx1024M CATALINA_OPTS=${CATALINA_OPTS} -Xms1024M -Xmx1024M Connector Initialization param: Connector port= protocol=HTTP/1.1 connectionTimeout=2 server= secure=true redirectPort= maxThreads=512/ All other parameters are kept as default. Also we did some load testing on the servers in Test environment and found that if we restart the Tomcat server it works absolutely fine but gradually performance decrease though the garbage collection happening and very little memory captured by PS Old Gen'. You almost HIT the point. You have to allocate more heap space..Xmx..to your Tomcat JVM, OR else if you can't afford that, then obviously analyse your application and try reducing the memory footprint. Is there any other parameters we can add in the servers to increase performance? Thanks Regards, Subhro Paul - The information contained in this e-mail, including any attachment(s), is intended solely for use by the named addressee(s). If you are not the intended recipient, or a person designated as responsible for delivering such messages to the intended recipient, you are not authorized to disclose, copy, distribute or retain this message, in whole or in part, without written authorization from PSEG. This e-mail may contain proprietary, confidential or privileged information. If you have received this message in error, please notify the sender immediately. This notice is included in all e-mail messages leaving PSEG. Thank you for your cooperation. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org Regards, Ameer Mawia - The information contained in this e-mail, including any attachment(s), is intended solely for use by the named addressee(s). If you are not the intended recipient, or a person designated as responsible for delivering such messages to the intended recipient, you are not authorized to disclose, copy, distribute or retain this message, in whole or in part, without written authorization from PSEG. This e-mail may contain proprietary, confidential or
Tomcat - thread dies randomly
We have built a messaging server using PubNub which listens for chat messages from Android device. For this, our J2EE based spring, we have created a Pubnub listener (which is basically a listening socket) as follows. However, we have observed is that our server stops listening randomly after few days. The Tomcat keeps working fine, but just the socket stops listening. There is not error in logs. Can anyone help in diagnosing this issue? Specifcally, I want to ensure that the below design to initiate a listener is durable and not prone to errors. public class IncomingListener implements ApplicationListener ContextRefreshedEvent { @Override public void onApplicationEvent(ContextRefreshedEvent event) { private static volatile boolean isContextLoaded = false; @Autowired ServletContext application; synchronized(IncomingListener.class) { if (isContextLoaded) { System.out.println(WTF: Not initializing incoming listener); return; } try { initialiseIncomingListener(); isContextLoaded = true; } catch (JSONException e) { e.printStackTrace(); } catch (AkoshaException e) { e.printStackTrace(); } } } private void initialiseIncomingListener() { // Initialize our Pubnub Listener pubnub.subscribe(serverchannel, new Callback() { // Subscribe to pubnub }); } }
RE: SPNEGO test configuration with Manager webapp
I've tested all the following public JDKs jdk-7u45-windows-i586.exe jdk-7u65-windows-i586.exe jdk-7u75-windows-i586.exe jdk-8-windows-i586.exe jdk-8u5-windows-i586.exe jdk-8u11-windows-i586.exe jdk-8u20-windows-i586.exe jdk-8u25-windows-i586.exe jdk-8u31-windows-i586.exe jdk-8u40-windows-i586.exe -- Only this one fails SPNEGO / Bad GSS Token Seems a recent fix must broken it. David Subject: Re: SPNEGO test configuration with Manager webapp From: felix.schumac...@internetallee.de Date: Sun, 29 Mar 2015 10:13:29 +0200 To: users@tomcat.apache.org Am 28. März 2015 17:46:50 MEZ, schrieb Mark Thomas ma...@apache.org: On 28/03/2015 14:43, David Marsh wrote: Ok so I went back to basics and created three new VM's. Windows Server 2008 R2 Windows 7 Client Windows 7 Tomcat I still had same issues, until I changed the Java on the tomcat server to JDK 7 u45. It appears there are breaking changes to JAAS/GSS in newer JDKs ? Thank you for doing all this testing. That is useful information to know. The next step (for you, me or anyone who has the time and wants to help) is to test subsequent Java 7 releases and see at which version it stops working. I'd hope that a review of the relevant change log would identify the change that triggered the breakage and provide some clues on how to fix it. It would be worth testing the Java 8 releases the same way. I read it, that jdk 7 works and jdk 8 is problematic. There are a few Kerberos related Chaves in jdk 8 ( http://docs.oracle.com/javase/8/docs/technotes/guides/security/enhancements-8.html). Interesting are the two changes: * DES is disabled by default * constrained delegation is supported. My guess would be, that it would help (in this case) to reenable DES by adding allow_weak_crypto=true in the krb5.conf. Regards Felix Mark David From: dmars...@outlook.com To: users@tomcat.apache.org Subject: RE: SPNEGO test configuration with Manager webapp Date: Fri, 27 Mar 2015 23:40:06 + By the way Tomcat 8 was running on JDK :- C:\Windows\system32java -version java version 1.8.0_40 Java(TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode) Version update 40 should include some JRE fixes around GSS and SPNEGO, including ignoring parts of NegoEx, however it does not seem to work. I've also created a Windows 7 client with same config just different DNS of win-pc02.kerbtest.local It has the same issue going from firefox to http://win-tc01.kerbtest.local/manager/html I get the same three 401's and the Negotiate. Date: Thu, 26 Mar 2015 12:11:34 +0100 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: SPNEGO test configuration with Manager webapp David Marsh wrote: Hi Mark, Thanks for that, yes I've got 30 years windows experience, I can use Linux at a push but its not really my area expertise. I'm a Java / Windows programmer so I should be able to understand it, but not kerberos or Active Directory expert. I have used Waffle in the past with success and used JAAS/GSS-API in Java thick clients. I made the IE settings you outlined but it seems to still prompt. IE has win-tc01.kerbtest.local as a trusted site. Enable Windows Integrated Authentication is on Auto logon only in Intranet Zone is on I've been using Firefox to test and that does send 401 and negotiate, but causes the GSS token error mentioned. Active directory and krb5.ini are using eType 23 which is rc4-hmac The windows client OS and tomcat server OS has registry setting for allowtgtsessionkey set to 1 (enabled). Java kinit test works and stores a ticket in the Java session cache. So problem seems to be either :- 1. Browser sends bad token 2. Token is good but Oracle JDK 8 GSS-API cannot handle it Another shot almost in the dark : while browsing hundreds of Kerberos-related pages on the WWW, one other recommendation which seems to appear regularly (and Mark also mentioned that somewhere), is that each time you make a change somewhere, you should reboot the machine afterward, before re-testing. (Particularly on Windows machines). I know it's a PITA, but I have also found the same to be true sometimes when merely dealing with NTLM matters. There are probably some hidden caches that get cleared only in that way. many thanks David Date: Thu, 26 Mar 2015 11:32:39 +0100 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: SPNEGO test configuration with Manager webapp David Marsh wrote: Hi Mark, Thanks that would be great ! Do you have a good mechanism to test and ensure kerberos token is passed to tomcat and not NTLM token ? I believe that I can answer that. And the basic answer is no. First the basic principle, valid for this and many many other areas : the server cannot impose anything on the browser. The local
Re: Tomcat server Performance imporvement required
2015-03-29 9:52 GMT+03:00 Paul, Subhro subhro.p...@pseg.com: Dear Team, I am an application developer from TCS and working for PSEG (https://www.pseg.com). You might have seen my queries which I forwarded on 12 Feb, 2015 for Tomcat server crashing issue. After that we have added some resources to the servers. Now we have two Tomcat6 servers each one is having 16GB of RAM and 8CUPS. All server are Linux 6.5 64 bit OS. As per application architecture we have two Apache Proxy servers and two Tomcat servers. Also we have two loadbalancers, one for Proxy loadbalancing and another for Tomcat loadbalancing. So, when request comes that comes to proxy loadbalncer first then Apache Proxy server - Tomcat loadbalancer - Tomcat server. Some days back on 19th and 23rd of March another incident occurs when server faced some issues again. This time none of the servers where crashed but for some highly used pages in the site, Apache proxy server started complaining Timeout which is 60 seconds. After googling we thought we could increase the Time out in Proxy but client don't accept that. So we need some tuning parameters on Tomcat server for better performance. Below are some of the setting parameters from actual server. Ports are masked. Initializing param: JAVA_OPTS=${JAVA_OPTS} -Xms1024M -Xmx1024M CATALINA_OPTS=${CATALINA_OPTS} -Xms1024M -Xmx1024M Memory options should go into CATALINA_OPTS only, not both. If you are using a 64-bit JVM, it needs more memory than a 32-bit JVM would need, as object pointers require more memory. ... Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: SPNEGO test configuration with Manager webapp
David Marsh wrote: I've tested all the following public JDKs jdk-7u45-windows-i586.exe jdk-7u65-windows-i586.exe jdk-7u75-windows-i586.exe jdk-8-windows-i586.exe jdk-8u5-windows-i586.exe jdk-8u11-windows-i586.exe jdk-8u20-windows-i586.exe jdk-8u25-windows-i586.exe jdk-8u31-windows-i586.exe jdk-8u40-windows-i586.exe -- Only this one fails SPNEGO / Bad GSS Token Seems a recent fix must broken it. That is really great info. Thanks. By the way, would you still have the Tomcat Kerberos logs that fail, in comparison to one where it works ? David Subject: Re: SPNEGO test configuration with Manager webapp From: felix.schumac...@internetallee.de Date: Sun, 29 Mar 2015 10:13:29 +0200 To: users@tomcat.apache.org Am 28. März 2015 17:46:50 MEZ, schrieb Mark Thomas ma...@apache.org: On 28/03/2015 14:43, David Marsh wrote: Ok so I went back to basics and created three new VM's. Windows Server 2008 R2 Windows 7 Client Windows 7 Tomcat I still had same issues, until I changed the Java on the tomcat server to JDK 7 u45. It appears there are breaking changes to JAAS/GSS in newer JDKs ? Thank you for doing all this testing. That is useful information to know. The next step (for you, me or anyone who has the time and wants to help) is to test subsequent Java 7 releases and see at which version it stops working. I'd hope that a review of the relevant change log would identify the change that triggered the breakage and provide some clues on how to fix it. It would be worth testing the Java 8 releases the same way. I read it, that jdk 7 works and jdk 8 is problematic. There are a few Kerberos related Chaves in jdk 8 ( http://docs.oracle.com/javase/8/docs/technotes/guides/security/enhancements-8.html). Interesting are the two changes: * DES is disabled by default * constrained delegation is supported. My guess would be, that it would help (in this case) to reenable DES by adding allow_weak_crypto=true in the krb5.conf. Regards Felix Mark David From: dmars...@outlook.com To: users@tomcat.apache.org Subject: RE: SPNEGO test configuration with Manager webapp Date: Fri, 27 Mar 2015 23:40:06 + By the way Tomcat 8 was running on JDK :- C:\Windows\system32java -version java version 1.8.0_40 Java(TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode) Version update 40 should include some JRE fixes around GSS and SPNEGO, including ignoring parts of NegoEx, however it does not seem to work. I've also created a Windows 7 client with same config just different DNS of win-pc02.kerbtest.local It has the same issue going from firefox to http://win-tc01.kerbtest.local/manager/html I get the same three 401's and the Negotiate. Date: Thu, 26 Mar 2015 12:11:34 +0100 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: SPNEGO test configuration with Manager webapp David Marsh wrote: Hi Mark, Thanks for that, yes I've got 30 years windows experience, I can use Linux at a push but its not really my area expertise. I'm a Java / Windows programmer so I should be able to understand it, but not kerberos or Active Directory expert. I have used Waffle in the past with success and used JAAS/GSS-API in Java thick clients. I made the IE settings you outlined but it seems to still prompt. IE has win-tc01.kerbtest.local as a trusted site. Enable Windows Integrated Authentication is on Auto logon only in Intranet Zone is on I've been using Firefox to test and that does send 401 and negotiate, but causes the GSS token error mentioned. Active directory and krb5.ini are using eType 23 which is rc4-hmac The windows client OS and tomcat server OS has registry setting for allowtgtsessionkey set to 1 (enabled). Java kinit test works and stores a ticket in the Java session cache. So problem seems to be either :- 1. Browser sends bad token 2. Token is good but Oracle JDK 8 GSS-API cannot handle it Another shot almost in the dark : while browsing hundreds of Kerberos-related pages on the WWW, one other recommendation which seems to appear regularly (and Mark also mentioned that somewhere), is that each time you make a change somewhere, you should reboot the machine afterward, before re-testing. (Particularly on Windows machines). I know it's a PITA, but I have also found the same to be true sometimes when merely dealing with NTLM matters. There are probably some hidden caches that get cleared only in that way. many thanks David Date: Thu, 26 Mar 2015 11:32:39 +0100 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: SPNEGO test configuration with Manager webapp David Marsh wrote: Hi Mark, Thanks that would be great ! Do you have a good mechanism to test and ensure kerberos token is passed to tomcat and not NTLM token ? I believe that I can answer that. And the basic answer is no.
RE: SPNEGO test configuration with Manager webapp
Broken trace :- 25-Mar-2015 15:46:22.131 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina 25-Mar-2015 15:46:22.133 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.20 25-Mar-2015 15:46:22.257 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\ webapps\docs 25-Mar-2015 15:46:22.637 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deployment of web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\docs has finished in 380 ms 25-Mar-2015 15:46:22.639 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\ webapps\manager 25-Mar-2015 15:46:22.710 FINE [localhost-startStop-1] org.apache.catalina.authenticator.Authenticato rBase.startInternal No SingleSignOn Valve is present 25-Mar-2015 15:46:22.733 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deployment of web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\manager has finished in 93 ms 25-Mar-2015 15:46:22.734 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\ webapps\ROOT 25-Mar-2015 15:46:22.793 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deployment of web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT has finished in 59 ms 25-Mar-2015 15:46:22.797 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandl er [http-nio-80] 25-Mar-2015 15:46:22.806 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandl er [ajp-nio-8009] 25-Mar-2015 15:46:22.808 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 72 1 ms 25-Mar-2015 15:46:28.280 FINE [http-nio-80-exec-1] org.apache.catalina.authenticator.AuthenticatorBa se.invoke Security checking request GET /manager/html 25-Mar-2015 15:46:28.284 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[Status interface]' against GET /html -- false 25-Mar-2015 15:46:28.286 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[JMX Proxy interface]' against GET /html -- fal se 25-Mar-2015 15:46:28.287 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[Text Manager interface (for scripts)]' against GET /html -- false 25-Mar-2015 15:46:28.288 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[HTML Manager interface (for humans)]' against G ET /html -- true 25-Mar-2015 15:46:28.290 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[Status interface]' against GET /html -- false 25-Mar-2015 15:46:28.291 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[JMX Proxy interface]' against GET /html -- fal se 25-Mar-2015 15:46:28.291 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[Text Manager interface (for scripts)]' against GET /html -- false 25-Mar-2015 15:46:28.293 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.findSecurityC onstraints Checking constraint 'SecurityConstraint[HTML Manager interface (for humans)]' against G ET /html -- true 25-Mar-2015 15:46:28.296 FINE [http-nio-80-exec-1] org.apache.catalina.authenticator.AuthenticatorBa se.invoke Calling hasUserDataPermission() 25-Mar-2015 15:46:28.299 FINE [http-nio-80-exec-1] org.apache.catalina.realm.RealmBase.hasUserDataPe rmission User data constraint has no restrictions 25-Mar-2015 15:46:28.302 FINE [http-nio-80-exec-1] org.apache.catalina.authenticator.AuthenticatorBa se.invoke Calling authenticate() 25-Mar-2015 15:46:28.304 FINE [http-nio-80-exec-1] org.apache.catalina.authenticator.SpnegoAuthentic ator.authenticate No authorization header sent by client 25-Mar-2015 15:46:28.305 FINE [http-nio-80-exec-1] org.apache.catalina.authenticator.AuthenticatorBa se.invoke Failed authenticate() test 25-Mar-2015 15:46:28.417 FINE [http-nio-80-exec-2] org.apache.catalina.authenticator.AuthenticatorBa se.invoke Security checking request GET /manager/html 25-Mar-2015 15:46:28.420 FINE [http-nio-80-exec-2] org.apache.catalina.realm.RealmBase.findSecurityC onstraints
RE: SPNEGO test configuration with Manager webapp
Working trace :- 28-Mar-2015 14:20:27.865 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server ve rsion: Apache Tomcat/8.0.20 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server bu ilt: Feb 15 2015 18:10:42 UTC 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server nu mber: 8.0.20.0 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 7 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Versio n: 6.1 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architect ure: x86 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home : C:\Program Files (x86)\Java\jdk1.7.0_45\jre 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Versi on: 1.7.0_45-b18 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendo r: Oracle Corporation 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_ BASE: C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0 28-Mar-2015 14:20:27.881 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_ HOME: C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Djava.util.logging.config.file=C:\Program Files (x86)\Apache Software Foundation\Tomc at 8.0\conf\logging.properties 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Dsun.security.krb5.debug=true 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Dsun.security.jgss.debug=true 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Djava.endorsed.dirs=C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\endo rsed 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Dcatalina.base=C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Dcatalina.home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command l ine argument: -Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 8.0\temp 28-Mar-2015 14:20:27.944 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Th e APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jdk1.7.0_45\bin;C:\Windows\Sun\ Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jdk1.7.0_45\bin;C:\ProgramData\O racle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\Wind owsPowerShell\v1.0\;. 28-Mar-2015 14:20:31.657 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHa ndler [http-nio-80] 28-Mar-2015 14:20:32.515 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Us ing a shared selector for servlet write/read 28-Mar-2015 14:20:32.578 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHa ndler [ajp-nio-8009] 28-Mar-2015 14:20:32.578 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Us ing a shared selector for servlet write/read 28-Mar-2015 14:20:32.578 INFO [main] org.apache.catalina.startup.Catalina.load Initialization proces sed in 12345 ms 28-Mar-2015 14:20:33.217 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina 28-Mar-2015 14:20:33.217 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.20 28-Mar-2015 14:20:34.388 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployD irectory Deploying web application directory C:\Program Files (x86)\Apache Software Foundation\Tomca t 8.0\webapps\docs 28-Mar-2015 14:20:37.929 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBas e.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] to ok [187] milliseconds. 28-Mar-2015 14:20:38.304 INFO
Re: JSP page exploration scenario
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Pavel, On 3/28/15 5:44 AM, Pavel Yermolenko wrote: Thank you for this explanation. Probably you have a reason - le jeu n'en vaut pas la chandelle. Before I worked in this way with another portal and it took me half a day to elaborate a code in C# that do all this job. But in that case the pages were simple - ordinary .html pages with links to .pdf files, easily identifiables. JSP-pages make this approach useless. So, I think, we can stop this topic. I think what you are trying to do is doable, but I am certainly personally having a difficult time understanding exactly what you are trying to do. If you were to provide a flow chart or list of steps that you want to occur, it might be easier to understand. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v2 Comment: GPGTools - http://gpgtools.org iQIcBAEBCAAGBQJVGJJeAAoJEBzwKT+lPKRYi5wP/3YK43iP0+VX+h/T0jLp5odl 3DLKs8VUTCnFwinmxRarm8NTdxdArkrUw3gco3A3+au8iWJ9caf/btrez8AruRmQ gffwvBdBzOx3ZsHESrw+JWX86FnJ+Kmbg4Q8a2ySX79Zi6KXgUUxtC8Q3/WB3Puh T71qCdhX9BJQQ6ZGsstXhKEsPn7EsxNk2SXCOffVqXxRZHu4u0a3C45JCfgjOXun T+feItgAal1gFoQXLJSslmyJrdIiJx6GMkPMcBRhhl5+Ji4JyWHowkmHepa73aqN uoy+hgHqWl/vf/kMnLSyCwc1PBIoNgirtqCY+ktY6q3toTQKuCnEMap7RB0hfSUO rHhdlB7kDpUZXbt+nN1cUet+hL5zm31B4mQ8yNfPsdA7kpGuR5XSdhSkaYLG4yE1 z0ZpJgAtx2r6kvF4U8xIsDmZ4SZG8zAp0qEL0k112av+DjIruJYPEqWurS1FzBV7 OGQpr1EQXyYJJABgiW0TVjAvLjKAYDpOiM5JNZGggtBByiQ7WlHl9K1JJhMszwSz ZrsdgCYtyKReNblFMkjiWpLQR6pgDIYMEjU6RH583+G6b+ggbzejNIcXRoD/Ago6 BN6BfLcsGCvsqsXE/TVg6gasqVJz/yKxaJiaoMNsJMacRxtxsEg1jTU7kNLx78Cy yrYGVko3a9TqghX/cekN =u3Mw -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org