Re: Failing a JK Worker thread
I didn't hear back from any one so I looked through the code. I couldn't find any sign of code that would provide this functionality, so I added the following before line 605 of jk_ajp_common.c. I recompiled and it seems to be working as intended so far. if (d-status=500) { jk_log(l, JK_LOG_ERROR, Tomcat server returned status=%d,d-status); JK_TRACE_EXIT(l); return JK_FALSE; } I may end up using a case statement and preventing apache from trying the next worker on bad request or something like that. Hope this helps some one else too. -Dan Thiffault On Mar 13, 2005, at 12:01 PM, Dan Thiffault wrote: I am running apache web server 2.0.49 connected to tomcat 5.0.28 using the jk connector version 1.2.8. From my understanding, if I set the reply_timeout property of an ajpv13 worker, once the reply_timeout elapses for a particular request to a worker, apache web server will make a new request to the next worker in the group. Is there any way from within the webapp that is being contacted to induce a failure other than not returning before the reply_timeout? For instance, can you return an HTTP error message from tomcat that would cause web server to retry the request to the next worker in the group (assuming full recovery mode)? Thanks for any suggestions -Dan Thiffault - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Failing a JK Worker thread
We have an application running as a webapp which requires legacy systems and network resources which are not fault-tolerant. Luckily these resources are stateless. So we have replicated these resources so that one is available per tomcat instance. When we attempt to use one of these resources from within the webapp and it fails, we need a way to try the next pair (tomcat legacy) in the group. This will allow us to provide a balanced fault-tolerant service with a webapp interface. Since the tomcat instance is responding and functioning, the reply_timeout was not met so apache webserver considered the request a success. Providing a application error from tomcat (maybe a 503 or 401 instead of 500) seemed like the rightest way to do it. I see a few other options: 1. Put a layer on top of apache that tests the response and makes a new request. This doesn't buy us anything and circumvents the use of jk 2. (some how/maigcally) Send an out of process message from tomcat back to apache that the resource is down. 3. Modify AJP to handle this error (this may already have a mechanism that I missed) Does any one have any other suggestions for ensuring reliability when there is a 3rd party piece of hardware/software which your webapp relies on that has no fault-tolerance of its own? Thanks for any suggestions, Dan On Mar 15, 2005, at 2:50 PM, Guernsey, Byron ((GE Consumer Industrial)) wrote: What is the situation where you find this useful? Byron -Original Message- From: Dan Thiffault [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 15, 2005 1:41 PM To: Tomcat Users List Subject: Re: Failing a JK Worker thread I didn't hear back from any one so I looked through the code. I couldn't find any sign of code that would provide this functionality, so I added the following before line 605 of jk_ajp_common.c. I recompiled and it seems to be working as intended so far. if (d-status=500) { jk_log(l, JK_LOG_ERROR, Tomcat server returned status=%d,d-status); JK_TRACE_EXIT(l); return JK_FALSE; } I may end up using a case statement and preventing apache from trying the next worker on bad request or something like that. Hope this helps some one else too. -Dan Thiffault On Mar 13, 2005, at 12:01 PM, Dan Thiffault wrote: I am running apache web server 2.0.49 connected to tomcat 5.0.28 using the jk connector version 1.2.8. From my understanding, if I set the reply_timeout property of an ajpv13 worker, once the reply_timeout elapses for a particular request to a worker, apache web server will make a new request to the next worker in the group. Is there any way from within the webapp that is being contacted to induce a failure other than not returning before the reply_timeout? For instance, can you return an HTTP error message from tomcat that would cause web server to retry the request to the next worker in the group (assuming full recovery mode)? Thanks for any suggestions -Dan Thiffault - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Failing a JK Worker thread
I am running apache web server 2.0.49 connected to tomcat 5.0.28 using the jk connector version 1.2.8. From my understanding, if I set the reply_timeout property of an ajpv13 worker, once the reply_timeout elapses for a particular request to a worker, apache web server will make a new request to the next worker in the group. Is there any way from within the webapp that is being contacted to induce a failure other than not returning before the reply_timeout? For instance, can you return an HTTP error message from tomcat that would cause web server to retry the request to the next worker in the group (assuming full recovery mode)? Thanks for any suggestions -Dan Thiffault - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JAAS and Datasources
Hello, I am trying to transition my companies internal applications from IIS contained ASP pages to jsp pages using struts on tomcat. Currently we are using tomcat 4 but we could easily be swayed to switching to version 5 as we are just in the beginning stages of development. Currently our internal web apps are secured using integrated windows authentication. We have a custom component to check user roles in active directory. Connections to our sql db are handled using a component which runs under fixed permissions. With our new setup we would like to continue using windows integrated authentication. We already have a form based login working with active directory. Secondly, but more importantly, after authenticating the user as valid for the particular resource, we would like to use their credentials to log on to our MS SQL server, which we currently have using mixed mode authentication. I've searched through a number of web sites but I feel a little lost as to where to begin. My best guess is that we want to use JAAS with Kerberos 5 for authenticating but I'm not sure once a user is authenticated within an app how that would be applied to a datasource's credentials. Is the db connection made using a JAAS run as? Thank you for any direction, ideas, or sample code. -Dan T - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]