Debugging tomcat startup
I'd like to solicit suggestions for debugging Tomcat startup - specifically various class initializations. I've written a custom Realm implementation; in it, I use some data access classes which use iBatis; these classes work great when used in a web application (all jars residing in the apps WEB-INF/lib); but I'm getting errors when these classes are initialized from jars in the server/lib directory at startup. If you have suggestions for how to debug the startup, especially from an IDE like Idea, please post. Also, if there are guidelines for where to place certain types of jars (common vs. server), please post a link. Right now I've got my jdbc jars in common/lib, and my custom Realm and data access classes (including ibatis related jars) in server/lib. Thanks for your help, -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Proxy settings for Tomcat's JVM
Can anyone tell me the best place (from a maintenance perspective) to set http/ftp/etc proxy settings for the JVM in which tomcat runs? I'm talking about the settings that impact java.net.Socket operation (not the proxy settings found in server.xml). I know I can make a context listener that does something like this to get things set up: System.getProperties().put( ftpProxySet, true ); System.getProperties().put( ftpProxyHost, myProxyMachineName ); System.getProperties().put( ftpProxyPort, 85 ); But this should be a deployment configuration; as far as I know, there's two ways to do it: A) either as a parameter to the JVM B) or in a jvm config file (deployment.properties) Has anyone had any luck with option B? I haven't... If you were to use option a, where would you store the arguments to the jvm? Thank you, -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Proxy settings for Tomcat's JVM
Let me state the question in a more general way: If you wanted to pass JVM arguments, where would you do it? Does the Tomcat5 NT service use the JAVA_OPTS environment variable? Has anyone had success using deployment.properties: http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/proper ties.html Thanks, -Sasha Borodin From: Sasha Borodin [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] Date: Thu, 29 Jul 2004 11:05:49 -0500 To: Tomcat Users List [EMAIL PROTECTED] Subject: Proxy settings for Tomcat's JVM Can anyone tell me the best place (from a maintenance perspective) to set http/ftp/etc proxy settings for the JVM in which tomcat runs? I'm talking about the settings that impact java.net.Socket operation (not the proxy settings found in server.xml). I know I can make a context listener that does something like this to get things set up: System.getProperties().put( ftpProxySet, true ); System.getProperties().put( ftpProxyHost, myProxyMachineName ); System.getProperties().put( ftpProxyPort, 85 ); But this should be a deployment configuration; as far as I know, there's two ways to do it: A) either as a parameter to the JVM B) or in a jvm config file (deployment.properties) Has anyone had any luck with option B? I haven't... If you were to use option a, where would you store the arguments to the jvm? Thank you, -Sasha Borodin - 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]
java.lang.ThreadDeath
I have an Action that uses some business classes that in turn use the BouncyCastle encryption libraries; everything works fine until I restart the web application context, at which point this Action's execute method throws a ThreadDeath exception. In searching this list's archives I saw some references to a problem with an outdated log4j version that tried to use the old class loader and produced this exception: http://www.mail-archive.com/[EMAIL PROTECTED]/msg121827.html ...but I'm not using log4j; however, the problem could be similar. I was wondering if anyone could confirm if they think this is a BouncyCastle libraries problem; I'm not terribly experienced at interpreting stack traces...BouncyCastle is mentioned, but the last several lines belong to java.security classes. Just wanted a second opinion before posting to the BouncyCastle groups...: java.lang.ThreadDeath org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1229) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1189) java.security.Security.doGetImpl(Security.java:1123) java.security.Security.doGetImpl(Security.java:1084) java.security.Security.getImpl(Security.java:1045) java.security.Signature.getInstance(Signature.java:218) org.bouncycastle.openpgp.PGPSignature.init(PGPSignature.java:65) org.bouncycastle.openpgp.PGPSecretKeyRing.init(PGPSecretKeyRing.java:127) org.bouncycastle.openpgp.PGPObjectFactory.nextObject(PGPObjectFactory.java:6 9) org.bouncycastle.openpgp.PGPSecretKeyRingCollection.init(PGPSecretKeyRingC ollection.java:35) com.amfllc.security.service.PgpService.readSecretKey(PgpService.java:229) com.amfllc.security.service.PgpService.init(PgpService.java:44) com.amfllc.security.service.PgpService.clinit(PgpService.java:26) com.amfllc.funding.service.FcsService.init(FcsService.java:48) com.amfllc.funding.service.FcsService.clinit(FcsService.java:35) com.amfllc.web.internal.actions.funding.fcs.ViewQueueAction.execute(ViewQueu eAction.java:42) ...etc. Thank you for looking, -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
install4iis.js error
I'm getting the following error when running the JavaScript installer for the JK2 ISAPI filter on my W2K box: Unable to find Web Server ROOT Directory Looking inside the JavaScript, this error is reported here: if ((IIsROOT = findADSIObject(IIsWebServer, _IIS_WEBDIR, ROOT)) == null) { ERROR(args, Unable to find Web Server ROOT direcrory.); } Since I know nothing about windows scripting, I'm at a loss - has anyone encountered this error before when trying to install the JK2 filter? Thanks, -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [ANN] Apache Tomcat 5.0.24 Stable released
LOL...Dude it wasn't what you asked...but how you asked it. Don't get pissy when asking for free help on a free product. Have a good weekend everyone! -Sasha From: Zachary Hartley [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] Date: Fri, 14 May 2004 16:07:58 -0400 To: Tomcat Users List [EMAIL PROTECTED] Subject: Re: [ANN] Apache Tomcat 5.0.24 Stable released Shapira, Yoav wrote: We had such a good day on the list, all competent and professional posts, and then comes this one to ruin my optimism about people in this otherwise sunny afternoon. Hey, don't get pissy with me. How was I supposed to know where it was? Just because you have put it in the same place... doesn't mean people new to Tomcat know where it is. Putting the changelog for a new release on the bottom left on a documentation page isn't exactly easy to find, so I'd thank you to not be an ass and act like I'm some kind of deficient person. Zachary Hartley - 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]
Timing service in Tomcat
I'm wondering what people are doing to schedule/execute tasks in Tomcat... Is there any built-in timing services in Tomcat? Are people using external operating system tools like cron to invoke a class, or hit a servlet? Is anyone using a good 3rd party scheduling framework? Or is this kind of stuff home-grown right now (java.util.Timer, etc.)? If you've got your own timer, where do you initialize it (like in a servlet's init() or a context listener)? Thank you, -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Streaming pdf document fails
Bert, I just ran across something similar today, read this document: http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com: 80/support/kb/articles/q316/4/31.aspNoWebContent=1 The way I understand it, IE wants to save the file in cache before letting you view it; if you're requesting something via SSL (https://...) IE actually honors the cache defeating tags, which I noticed you have; hence the error. Removing the... Pragma: No-cache Cache-Control: no-cache ...headers should fix your problem, I think. It worked for me, let me know if this words for you too. -Sasha From: Summers, Bert W. [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] Date: Tue, 11 May 2004 12:32:49 -0700 To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: Streaming pdf document fails This is what tcptrace tells me is being sent back to the browser HTTP/1.1 200 OK Pragma: No-cache Cache-Control: no-cache Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-disposition: attachment; filename=N77-NTSP-E-70-0203.pdf Content-Type: application/pdf Content-Length: 443928 Date: Tue, 11 May 2004 19:29:37 GMT Server: Apache-Coyote/1.1 If I remove the Content-disposition then the PDF opens in the browser ok, but that is not what I want. Secondly Mozilla still asks for the file twice and gets it, but only displays one of them. -Original Message- From: Christoph Meier [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 11, 2004 12:28 PM To: Tomcat Users List Subject: Re: Streaming pdf document fails As far as i remeber, IE wants to know the content-length to show a PDF. = put the appopriate content-length into your Response-Header, ensure to have set the right content-type and i would expect that the PDF-stream should work then for IE, too. _christoph I have a problem that just came up. I have PDF documents located out side of my webapps directory. When the user wants one they go to my servlet which streams it back. This use to work just fine, but now is broke. In IE I get Error opening document on TC4.1.30 and unable to open this Internet site in TC 5.0.19 Mozilla 1.6 does not have a problem opening the file. What is odd is that Mozilla seems to request the servlet twice from one click, the first tends to throw this ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:410 ) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:332) at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438) at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:425) at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java: 1 08) at GetPDFDoc.outputFile(GetPDFDoc.java:128) at GetPDFDoc.processRequest(GetPDFDoc.java:86) at GetPDFDoc.doGet(GetPDFDoc.java:147) Is there anything wrong with what I am doing? response.setContentType(application/pdf); response.setDateHeader(Expires, 0); // open pdf outside of browser response.addHeader(Content-disposition, attachment; filename= + ntspNo + .pdf); response.setContentLength((int)f.length()); java.io.OutputStream out = response.getOutputStream(); // f is the pdf on the file system and it does exist java.io.FileInputStream in = new java.io.FileInputStream(f); int size = 0; byte[] buffer = new byte[8192]; while( (size = in.read(buffer, 0, buffer.length)) != -1) { out.write(buffer, 0, size); } in.close(); out.close(); Thanks - 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]
Tomcat 5 nt service
Hello, I have a working installation of Tomcat 5 (on a Windows 2000 Server SP4 machine with jdk_1.4.1), which works great. I tried running the service.bat script under the bin directory to install the NT service, which ran without errors and reported success. However, when I try to start the service from the Services console, I get an error 0, and the jakarta_service log has the following entry: [2004-05-10 15:38:49] [info] Running Service... [2004-05-10 15:38:49] [info] Starting service... [2004-05-10 15:38:50] [364 javajni.c] [error] Unsuported JNI version 65537 [2004-05-10 15:38:50] [770 prunsrv.c] [error] Failed initializing java D:\jakarta-tomcat-5.0.24\bin\bootstrap.jar [2004-05-10 15:38:50] [982 prunsrv.c] [error] ServiceStart returned 2 [2004-05-10 15:38:50] [info] Run service finished. [2004-05-10 15:38:50] [info] Procrun finished. I have searched the mail-archive.com repository as well as google for unsupported JNI version errors, cross-referencing with tomcat 5, to no avail; but I've never in my life encountered something that someone else hasn't already found, so posting to the list is always hopeful ;-) Thanks for any help. -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JDBC Source getting null url
Richard, I believe the first two elements appearing in your web.xml (Resource and ResourceParams) need to be present in the server configuration: 1. either as a global resource in your server.xml (inside the Server element) 2. or as a context specific resource in a context descriptor - a Context entry in your server.xml, or (the new way) an external xml file (http://jakarta.apache.org/tomcat/tomcat-5.0-doc/config/context.html) This way Tomcat knows about and sets up the resource for you web application to use; I think the only thing you should do in your web.xml is declare a need for a resource, though this part I'm hazy on, as my stuff has always worked without any mention of the container-managed resource in my web.xml's. If anyone can clarify the requirement/logic behind declaring resource needs in web.xml, I'd appreciate it. -Sasha From: Richard Calosso [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] Date: Mon, 10 May 2004 14:12:02 -0700 To: Tomcat Users List (E-mail) [EMAIL PROTECTED] Subject: JDBC Source getting null url I just started to try and use a database source for some of my pages in my web app and am not getting a connection. I am using Tomcat 5.0.19 with JRE 1.4.2_04 on redhat 9 with mysql. Every time I try to connect I get a exception saying Datasource invalid, not suitable driver for class '' url null (actual error page attached). I am trying the examples in the docs, I get the same error in either servlet or jsp page, I have included the jsp page. I have everything packaged in the web.xml file of the application to try and keep it portable. I also tried using the admin tool and register a global data source and get the same result. If I mistype the datasource name in the jsp it says it cannot find it so I does find some of it to verify, but why does it not find the resource parameters providing the driver and url? I tried to google for some answers, but did not find much that applied to the same versions. Thanks in advance. === Attached are my web.xml, sqltest.jsp, and the error output - 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]
Declaring resources - web.xml vs. server.xml
I've Googled and read the documentation without producing a definitive answer to this question: exactly what IS the purpose of declaring resources in web.xml? OK, I've got a GlobalNamingResource set up: Resource auth=Container name=jdbc/DataTrac scope=Shareable type=javax.sql.DataSource/ ResourceParams name=jdbc/DataTrac ... All of my parameters ... /ResourceParams Then I've got a ResourceLink in my Context definition: ResourceLink global=jdbc/DataTrac name=jdbc/DataTrac type=javax.sql.DataSource/ Now, Tomcat documentation states that I also need the following in my web.xml file: resource-ref res-ref-namejdbc/DataTrac/res-ref-name res-typejavax.sql.DataSource/res-type res-authContainer/res-auth /resource-ref Why??? Everything works WITHOUT this entry. And everything works WITH it as well. So my question, again, is what is the purpose of declaring resources in web.xml - to (for some reason) complement the resource definitions in server.xml, to replace them, or what? Thank you for your help. -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Custom realm jar file location
I've written a custom Realm implementation, JAR'ed it up, and have been trying to understand it's proper habitat: 1. If I put it $CATALINA_HOME/server/lib - everything works 2. If I put it $CATALINA_HOME/common/lib - I get an exception: java.lang.NoClassDefFoundError: org/apache/catalina/realm/RealmBase I thought that JAR's in common/lib were accessible to both server and webapps. What am I missing? Thank you, -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Declaring resources - web.xml vs. server.xml
Thanks for your quick feedback. So, according to the Servlet spec, I need to declare my resource needs in web.xml; then it's up to the container to provide those resources, and the spec says that is configured via ResourceParams/ in the server's configuration? Or is that bit Tomcat specific as well? I think the fact that I was using a GlobalNamingResource was clouding the issue; if I wanted this DataSource to be available only to this app, I could supply declaration in web.xml, and configuration in the Context OR both the resource declaration and configuration in the Context (but the latter would be non-portable). Is this correct? Thank you again. -Sasha On 10/13/03 17:24, Aleksandr Shneyderman [EMAIL PROTECTED] wrote: ResourceLink is the Tomcat's way of doing JNDI, so if you port your app on some other server, the deployer will not even know what is wrong if you do not have that entry in your web.xml, because this is the only thing that gets to be moved around (server.xml is not) Looks a bit redundant but it is there for protability. I do not see any other reasons for it being there otherwise. Alex. -Original Message- From: Sasha Borodin [mailto:[EMAIL PROTECTED] Sent: Monday, October 13, 2003 5:15 PM To: Tomcat Users List Subject: Declaring resources - web.xml vs. server.xml I've Googled and read the documentation without producing a definitive answer to this question: exactly what IS the purpose of declaring resources in web.xml? OK, I've got a GlobalNamingResource set up: Resource auth=Container name=jdbc/DataTrac scope=Shareable type=javax.sql.DataSource/ ResourceParams name=jdbc/DataTrac ... All of my parameters ... /ResourceParams Then I've got a ResourceLink in my Context definition: ResourceLink global=jdbc/DataTrac name=jdbc/DataTrac type=javax.sql.DataSource/ Now, Tomcat documentation states that I also need the following in my web.xml file: resource-ref res-ref-namejdbc/DataTrac/res-ref-name res-typejavax.sql.DataSource/res-type res-authContainer/res-auth /resource-ref Why??? Everything works WITHOUT this entry. And everything works WITH it as well. So my question, again, is what is the purpose of declaring resources in web.xml - to (for some reason) complement the resource definitions in server.xml, to replace them, or what? Thank you for your help. -Sasha Borodin - 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]
ServletContextListener fails - how to make app unavailable?
I've tried searching for this issue in the tomcat-user archives; I found general theory but not how to implement it. Specifically: If there's a problem within contextIntitialized(), I would want the app to return HTTP 500 or something. But the ServletContextListener interface does not declare any Exceptions thrown. Thus I can't declare any in my subclass. Yet if I try to just catch an Exception, log, and rethrow a general ServletException, I can't compile cause (must handle or declare...). So how do I notify Tomcat that there's a problem, and that the context should be made unavailable? Thanks, -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ServletContextListener fails - how to make app unavailable?
Thanks Yoav, that works! This list is awesome...I wish struts-user was half as receptive :-| -Sasha From: Shapira, Yoav [EMAIL PROTECTED] Reply-To: Tomcat Users List [EMAIL PROTECTED] Date: Thu, 11 Sep 2003 12:55:24 -0400 To: Tomcat Users List [EMAIL PROTECTED] Subject: RE: ServletContextListener fails - how to make app unavailable? Howdy, The general answer for cases like this is wrap the exception in a RuntimeException or it's subclass. So, ... contextInitialized(ServletContextEvent sce) { try { ... } catch (Exception e) { // Make tomcat mark this context as unavailable throw new RuntimeException(e); } } Yoav Shapira Millennium ChemInformatics -Original Message- From: Sasha Borodin [mailto:[EMAIL PROTECTED] Sent: Thursday, September 11, 2003 12:52 PM To: Tomcat Users List Subject: ServletContextListener fails - how to make app unavailable? I've tried searching for this issue in the tomcat-user archives; I found general theory but not how to implement it. Specifically: If there's a problem within contextIntitialized(), I would want the app to return HTTP 500 or something. But the ServletContextListener interface does not declare any Exceptions thrown. Thus I can't declare any in my subclass. Yet if I try to just catch an Exception, log, and rethrow a general ServletException, I can't compile cause (must handle or declare...). So how do I notify Tomcat that there's a problem, and that the context should be made unavailable? Thanks, -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. - 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: configuring sqlserver datasource
I don't specify MS's factory, so it uses the default one I think; this works for me: Resource auth=Container name=jdbc/WebsiteBenchmark scope=Shareable type=javax.sql.DataSource/ ResourceParams name=jdbc/WebsiteBenchmark parameter namemaxWait/name value5000/value /parameter parameter namemaxActive/name value4/value /parameter parameter namedriverName/name valuejdbc:microsoft:sqlserver/value /parameter parameter nameurl/name valuejdbc:microsoft:sqlserver://you.sql.server:1433/value /parameter parameter namepassword/name valuepassword/value /parameter parameter namedriverClassName/name valuecom.microsoft.jdbc.sqlserver.SQLServerDriver/value /parameter parameter namemaxIdle/name value2/value /parameter parameter nameusername/name valueusername/value /parameter /ResourceParams On 8/28/03 1:44, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: hi, i want to set up a DataSource for MS SQLServer 2000 at Tomcat 5.0.9 but the DataSource is allways null - any hints welcome server.xml Server port=8005 shutdown=SHUTDOWN debug=0 !-- Comment out these entries to disable JMX MBeans support -- Listener className=org.apache.catalina.mbeans.ServerLifecycleListener debug=0/ Listener className=org.apache.catalina.mbeans.GlobalResourcesLifecycleListener debug=0/ !-- Global JNDI resources -- GlobalNamingResources !-- Test entry for demonstration purposes -- Environment name=simpleValue type=java.lang.Integer value=30/ !-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -- Resource name=UserDatabase auth=Container type=org.apache.catalina.UserDatabase description=User database that can be updated and saved /Resource ResourceParams name=UserDatabase parameter namefactory/name valueorg.apache.catalina.users.MemoryUserDatabaseFactory/value /parameter parameter namepathname/name valueconf/tomcat-users.xml/value /parameter /ResourceParams /GlobalNamingResources Service name=Catalina Connector port=8080 maxThreads=150 minSpareThreads=25 maxSpareThreads=75 enableLookups=false redirectPort=8443 acceptCount=100 debug=0 connectionTimeout=2 disableUploadTimeout=true / Connector port=8009 enableLookups=false redirectPort=8443 debug=0 protocol=AJP/1.3 / Engine name=Catalina defaultHost=localhost debug=0 Logger className=org.apache.catalina.logger.FileLogger prefix=catalina_log. suffix=.txt timestamp=true/ Realm className=org.apache.catalina.realm.UserDatabaseRealm debug=0 resourceName=UserDatabase/ Host name=localhost debug=0 appBase=webapps unpackWARs=true autoDeploy=true Logger className=org.apache.catalina.logger.FileLogger directory=logs prefix=localhost_log. suffix=.txt timestamp=true/ Context path=/WebsiteBenchmark docBase=WebsiteBenchmark debug=5 reloadable=true crossContext=true Logger className=org.apache.catalina.logger.FileLogger prefix=localhost_WebsiteBenchmark_log. suffix=.txt timestamp=true/ Resource name=jdbc/WebsiteBenchmark auth=Container type=javax.sql.DataSource/ ResourceParams name=jdbc/WebsiteBenchmark parameter namefactory/name valuecom.microsoft.jdbcx.sqlserver.SQLServerDataSourceFactory/value /parameter parameter namemaxActive/name value100/value /parameter parameter namemaxIdle/name value30/value /parameter parameter namemaxWait/name value1/value /parameter parameter nameusername/name valuewebsitebenchmark/value /parameter parameter namepassword/name valueredheader/value /parameter parameter namedriverClassName/name valuecom.microsoft.jdbc.sqlserver.SQLServerDriver/value /parameter parameter nameurl/name valuejdbc:microsoft:sqlserver://212.0.21.223:1433/value /parameter /ResourceParams /Context /Host /Engine /Service /Server web.xml ?xml version=1.0 ? !DOCTYPE web-app PUBLIC -//Sun Microsystems, Inc.//DTD Web Application 2.3//EN http://java.sun.com/j2ee/dtds/web-app_2_3.dtd; web-app display-nameB. Braun Melsungen AG - Website Benchmark/display-name descriptionmonitors website performance/description servlet
Re: Debug tomcat session serialization
Bill, thank you, this entry in server.xml indeed caused some serialization debugging output (except I put debug=99). -Sasha On 8/27/03 0:07, Bill Barker [EMAIL PROTECTED] wrote: It looks like you have to explictly configure the Manager to get this info: Context path=/myapp docBase=myapp Manager debug=1 / /Context Note: I haven't tested this, and only spent about a minute looking at the code, so this may not work. Sasha Borodin [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Where do I have to up the debug level to get some error/debug/trace messages for session serialization when I reload a context? I'm having an issue with Struts ActionForm's bound to a session becoming null after a context/container reload, but I see no messages in localhost_log_date.txt or catalina.out/err Thank you very much. -Sasha - 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]
Debug tomcat session serialization
Where do I have to up the debug level to get some error/debug/trace messages for session serialization when I reload a context? I'm having an issue with Struts ActionForm's bound to a session becoming null after a context/container reload, but I see no messages in localhost_log_date.txt or catalina.out/err Thank you very much. -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re-authentication forced after context reload
Howdy, trying to solve an issue before heading out for the weekend, any insight would be greatly appreciated :-) From my understanding of the CMA docs for Tomcat, a user's credentials are cached after login, and a user is authenticated until the session expires (FORM) or the browser is restarted (BASIC, etc.). However, the docs don't mention the expected behavior if the container or individual context is reloaded. I'm using FORM-based login. My sessions are set to expire after 30 minutes. Sessions are serialized. But if I reload the context even before the session is expired, I'm redirected to my login page if I request any protected resources after the reload. The session is still valid, because I'm not assigned a different session id - the same one is somehow blessed again. I would think that since the docs state that logged in status is tied to the session, a user would remain logged in until the session expires or is invalidated. Is there a switch I'm missing to save the logged in status? Or is this the designed behavior according to the Sevlet spec? Thank you very much, -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat UML Diagram
You might try the tomcat-dev list, as that's where the developers of the container hang out. More chances of one of them having some visual documentation. -Sasha Borodin On 7/29/03 11:06, Yansheng Lin [EMAIL PROTECTED] wrote: Am I asking a dumb Q or there is just no such thing around? Thanks! -Original Message- From: Yansheng Lin [mailto:[EMAIL PROTECTED] Sent: July 29, 2003 8:52 AM To: 'Tomcat Users List' Subject: RE: Tomcat UML Sorry, topic should've been 'Tomcat UML Diagram'. -Original Message- From: Yansheng Lin [mailto:[EMAIL PROTECTED] Sent: July 29, 2003 8:34 AM To: 'Tomcat Users List' Subject: Tomcat UML Preferrably 4.1.24 Where I can find one? Thanks! - 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]
Re: extend j_security_check - filter or event listener?
That's what I'm thinking about implementing. But I'm trying to avoid the overhead of the filter's conditional logic being processed on EVERY request (seems like a lot of unnecessary overhead). Any comments on the feasibility of filtering just the j_security_check URI, or listening for the Principal being bound to the session (if that is indeed where it is stored upon CMA)? TIA, -Sasha Borodin On 7/27/03 18:32, Craig Berry [EMAIL PROTECTED] wrote: I handled this situation by having logged-in users have a UserModel object in the session. In a filter that catches all servlet requests, I check if request.getAuthenticatedUser returns non-null and there is no UserModel obj in the session. If this occurs, I know that a new user just logged in, and do login processing including creating and session-storing their UserModel. Part of logout processing is invalidating the session, so the UM object goes away. -Original Message- From: Sasha Borodin [mailto:[EMAIL PROTECTED] Sent: Sun 7/27/2003 3:54 PM To: [EMAIL PROTECTED] Cc: Subject: extend j_security_check - filter or event listener? Hey All, I'm looking for advise on how to approach a problem: I would like to use Container Managed Authentication for a multitude or reasons; however, I need to be able to perform additional login tasks upon authentication. My first though was to force the next page after j_security_check does it's thing - this way I could point it to an Action that performs my tasks, and only then honor the originally requested URL. However, this seems not possible, as the mechanism for forwarding the user to the requested URL is not part of the Servlet spec, thus proprietary. My second thought was to help j_security_check by either wrapping a filter around it, or having a session attribute listener catch some distinct activity produced by the authentication event. I am curious about the feasibility/side effects of both these approaches. Here's my thoughts so far: Filter: - is it possible to map a filter to just j_security_check...I'd found something about a problem using a filter with that URI: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21795 - is it good to separate this part of the code into a filter, architecturally speaking Event listener: - the Pricipal object must be bound to the session I would think; what would be it's name? - is this name standard? I did not find any reference to the specifics in the Servlet spec (will it be different with different containers?) - would there be a race condition (don't know if I'm using the term correctly) - is it guaranteed that when the Session Attribute event listener is triggered, it'll be done doing it's thing before the request is passed on to the requested URL? - Or is there a better way to approach post-authentication tasks altogether, while utilizing Container Managed Authentication? Please don't say Sourceforge's Security Filter, because I'm trying to stick to CMA and it's benefits (EJB container authentication for one) :-) TIA, -Sasha Borodin - 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]
Post-authentication tasks
I'd like to get some suggestions for performing post-authentication tasks while using Container Managed Authentication. Craig Berry suggested a filter that checks the session for necessary attributes, and creates them if they're missing. This check would be performed on every request however. Has anyone implemented a different approach to this problem? I'd like to find a solution in which the extra tasks are performed just ONCE, somehow triggered by the container authentication. Please reference my previous post on a filter vs. session attribute listener approach. Thanks for any suggestions. -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Post-authentication tasks
If this is not an appropriate list to ask design questions, could someone point me to a more suitable resource? Perhaps the tomcat-dev list? Thank you, -Sasha Borodin On 7/28/03 11:35, Sasha Borodin [EMAIL PROTECTED] wrote: I'd like to get some suggestions for performing post-authentication tasks while using Container Managed Authentication. Craig Berry suggested a filter that checks the session for necessary attributes, and creates them if they're missing. This check would be performed on every request however. Has anyone implemented a different approach to this problem? I'd like to find a solution in which the extra tasks are performed just ONCE, somehow triggered by the container authentication. Please reference my previous post on a filter vs. session attribute listener approach. Thanks for any suggestions. -Sasha Borodin - 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: Post-authentication tasks
Larry, Did you apply the filter to all requests or were you successful in assigning it only to the j_security_check URL? If you were successful, what version of Tomcat are you running? Thanks, -Sasha Borodin On 7/28/03 14:59, Larry Meadors [EMAIL PROTECTED] wrote: I did this with a filter. Happens on each requests, but the performance was acceptable. Another alternative is to extend the Realm you are using to meet your needs. Larry [EMAIL PROTECTED] 07/28/03 1:53 PM AFAIK, this is the appropriate list. You could try tomcat-dev, but that is more for discussions about developing Tomcat itself, not using Tomcat. If you haven't received a reply here, it is most likely because nobody has an answer. People here are pretty good about responding whenever they can help. It might take a day or two, as welllots of people are on holiday for the summer. John Sasha Borodin wrote: If this is not an appropriate list to ask design questions, could someone point me to a more suitable resource? Perhaps the tomcat-dev list? Thank you, -Sasha Borodin On 7/28/03 11:35, Sasha Borodin [EMAIL PROTECTED] wrote: I'd like to get some suggestions for performing post-authentication tasks while using Container Managed Authentication. Craig Berry suggested a filter that checks the session for necessary attributes, and creates them if they're missing. This check would be performed on every request however. Has anyone implemented a different approach to this problem? I'd like to find a solution in which the extra tasks are performed just ONCE, somehow triggered by the container authentication. Please reference my previous post on a filter vs. session attribute listener approach. - 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: Post-authentication tasks
Where in the AUTH process does the session get created? Does Tomcat create a session, even if the AUTH failed? This would invalidate this whole idea. The creation of a session object would no longer imply that the session owner is Authenticated. From my observations, a session is created (and cookie sent to browser) as soon as the login form is requested (before the authentication takes place). So this would make a SessionListener not useful unfortunately. Are you convinced that a filter would be too much load ? Is there a single point of entry to your app? How about a short piece of code here to do the post-auth? I the overhead would be negligible (compared to some of my other design choices :-), but I always try to eliminate extra work for the app when possible. If I can figure out a way to catch the authentication, rather than check every request, I'd be happier... Finally, it just occurs to me that if you knew what Tomcat places into the session to indicated an Authenticated user, you could use an javax.servlet.HttpSessionAttributesListener class to listen for that particular attribute. That is precisely what I'm investigating. I'm trying to figure out if and under what key Tomcat stores the user Principal upon authentication in the session. If I can figure this out (I'm sifting through the code right now), I can set up an HttpSessionAttributesListener to look for the binding of that attribute, and fire off my post-login tasks based on that event. However, a big drawback would be if the key name, or Object class were container specific - I'm trying to keep the app container-neutral, other than my realm classes. I have not found any implementation details concerning this in the Servlet spec document, so I'm afraid it's up to the vendor. If anyone's got some light to shed on user Principal storage and standardization, please drop us a line. Thank you! -Sasha Borodin -Original Message- From: Sasha Borodin [mailto:[EMAIL PROTECTED] Sent: Monday, July 28, 2003 11:35 AM To: Tomcat Users List Subject: Post-authentication tasks I'd like to get some suggestions for performing post-authentication tasks while using Container Managed Authentication. Craig Berry suggested a filter that checks the session for necessary attributes, and creates them if they're missing. This check would be performed on every request however. Has anyone implemented a different approach to this problem? I'd like to find a solution in which the extra tasks are performed just ONCE, somehow triggered by the container authentication. Please reference my previous post on a filter vs. session attribute listener approach. Thanks for any suggestions. -Sasha Borodin - 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]
extend j_security_check - filter or event listener?
Hey All, I'm looking for advise on how to approach a problem: I would like to use Container Managed Authentication for a multitude or reasons; however, I need to be able to perform additional login tasks upon authentication. My first though was to force the next page after j_security_check does it's thing - this way I could point it to an Action that performs my tasks, and only then honor the originally requested URL. However, this seems not possible, as the mechanism for forwarding the user to the requested URL is not part of the Servlet spec, thus proprietary. My second thought was to help j_security_check by either wrapping a filter around it, or having a session attribute listener catch some distinct activity produced by the authentication event. I am curious about the feasibility/side effects of both these approaches. Here's my thoughts so far: Filter: - is it possible to map a filter to just j_security_check...I'd found something about a problem using a filter with that URI: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21795 - is it good to separate this part of the code into a filter, architecturally speaking Event listener: - the Pricipal object must be bound to the session I would think; what would be it's name? - is this name standard? I did not find any reference to the specifics in the Servlet spec (will it be different with different containers?) - would there be a race condition (don't know if I'm using the term correctly) - is it guaranteed that when the Session Attribute event listener is triggered, it'll be done doing it's thing before the request is passed on to the requested URL? - Or is there a better way to approach post-authentication tasks altogether, while utilizing Container Managed Authentication? Please don't say Sourceforge's Security Filter, because I'm trying to stick to CMA and it's benefits (EJB container authentication for one) :-) TIA, -Sasha Borodin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
REPOST: jk2 isapi filter crashes IIS after several unsuccessfulrequests?
Do I need to provide more information? Or should I try a developer list instead? Thanks, -Sasha On 5/28/03 16:28, Sasha Borodin [EMAIL PROTECTED] wrote: I know you guys must be sick of iis-jk2 questions, but I've configured things identically to another working setup, and I'm having problems; much obliged if you could take a gander at the following observations / properties files. 1. iis works, serves stuff that exists, gives 404 when I request things that aren't there 2. Tomcat works, serves my webapps via port 8080 just fine Now for my workers2.properties file begin [shm] file=C:\jakarta-tomcat-connectors\work\jk2\shm.file [channel.socket:localhost:8009] port=8009 host=127.0.0.1 [ajp13:localhost:8009] channel=channel.socket:localhost:8009 [uri:/da/*] worker=ajp13:localhost:8009 [uri:/damanager/*] worker=ajp13:localhost:8009 end And a snippet of my server.xml begin !-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -- Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler/ end -My jk2.properties file is auto-generated -My registry's got the rights keys, values, paths, etc. - I've triple-checked. -IIS has the jakarta virtual directory pointing to the folder with the dll -IIS has jakarta isapi filter set up (green arrow for up) So here's what happens: 1. If I access http://www.dollarauto.com/daa - I get a 404 like I'm supposed to 2. If I access http://www.dollarauto.com/da (one of the uri mappings in workers2.properties) - I either get a page with the words Handle is invalid or System cannot find the file specified. (alternating) 3. If I try the previous request (#2) a couple of times, the WWW, FTP, IIS admin services crash and restart As I've said, going directly to Tomcat via port 8080 produces the desired results. I've searched tomcat-user archives http://mikal.org/interests/java/tomcat/ But have not been able to find any mention of the error pages I'm getting - they do not look like standard iis error responses. I've tried downloading and replacing the isapi_redirector2.dll several times. System: -W2K Server, SP3 -Tomcat 4.1.24 If these symptoms ring a bell, please speak up. TIA, -Sasha - 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]
jk2 isapi filter crashes IIS after several unsuccessful requests?
I know you guys must be sick of iis-jk2 questions, but I've configured things identically to another working setup, and I'm having problems; much obliged if you could take a gander at the following observations / properties files. 1. iis works, serves stuff that exists, gives 404 when I request things that aren't there 2. Tomcat works, serves my webapps via port 8080 just fine Now for my workers2.properties file begin [shm] file=C:\jakarta-tomcat-connectors\work\jk2\shm.file [channel.socket:localhost:8009] port=8009 host=127.0.0.1 [ajp13:localhost:8009] channel=channel.socket:localhost:8009 [uri:/da/*] worker=ajp13:localhost:8009 [uri:/damanager/*] worker=ajp13:localhost:8009 end And a snippet of my server.xml begin !-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -- Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler/ end -My jk2.properties file is auto-generated -My registry's got the rights keys, values, paths, etc. - I've triple-checked. -IIS has the jakarta virtual directory pointing to the folder with the dll -IIS has jakarta isapi filter set up (green arrow for up) So here's what happens: 1. If I access http://www.dollarauto.com/daa - I get a 404 like I'm supposed to 2. If I access http://www.dollarauto.com/da (one of the uri mappings in workers2.properties) - I either get a page with the words Handle is invalid or System cannot find the file specified. (alternating) 3. If I try the previous request (#2) a couple of times, the WWW, FTP, IIS admin services crash and restart As I've said, going directly to Tomcat via port 8080 produces the desired results. I've searched tomcat-user archives http://mikal.org/interests/java/tomcat/ But have not been able to find any mention of the error pages I'm getting - they do not look like standard iis error responses. I've tried downloading and replacing the isapi_redirector2.dll several times. System: -W2K Server, SP3 -Tomcat 4.1.24 If these symptoms ring a bell, please speak up. TIA, -Sasha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]