Re: Multiple websites in tomcat
Thanks Andre. I fixed the file and now my code looks like as follows but still my servlets are not being called. Basically apache is not passing requests to tomcat, only Alias is working but not JkMount *So now my worker's file looks like this, i added testWorker* worker.list=wlb,jkstatus,testWorker worker.testWorker.type=ajp13 worker.testWorker.host=localhost worker.testWorker.port=8009 worker.ajp13w.type=ajp13 worker.ajp13w.host=localhost worker.ajp13w.port=8010 worker.wlb.type=lb worker.wlb.balance_workers=ajp13w worker.jkstatus.type=status *My Server.xml of Tomcat looks like this* Connector className=org.apache.ajp.tomcat4.Ajp13Connector port=8009 minProcessors=5 maxProcessors=75 acceptCount=10 debug=0/ *jk.conf loks like this(its in conf.d dir) * LoadModule jk_module modules/mod_jk.so JkWorkersFile /etc/httpd/conf/workers.properties *and httpd.conf looks like this * Include conf.d/*.conf JkLogFile libexec/mod_jk.log JkLogLevel debug Alias /ex /usr/java/tomcat-5.5/webapps/servlets-examples JkMount /ex/servlet/* testWorker JkMount /temp/*.jsp testWorker Location /usr/java/tomcat-5.5/webapps/examples/WEB-INF/ AllowOverride None deny from all /Location *Still a Problem* When i access www.jaatmusic.com/ex http://www.jaatmusic.com/ex(try this link please), it shows me the index page of my application(servlet-example) which is a index.html page.So this step work fine. That means it usage the Alias thing(Alias /ex /usr/java/tomcat-5.5/webapps/servlets-examples) Now from this page there are links to invoke some servlet examples http://www.jaatmusic.com/ex/servlet/HelloWorldExample, this link doesn't work. As per my understanding it should have worked because of this line - *JkMount /ex/servlet/* testWorker* When i access above link i got follwoing in apache log files *file not exists usr/java/tomcat-5.5/webapps/servlets-examples/servlet, referer: http://www.jaatmusic.com/ex/ * and jk mod log says * missing uri map for jaatmusic.com:/ex/servlet/HelloWorldExample* but i have defined it *JkMount /ex/servlet/* testWorker *and there is no log in tomcat as tomcat has not been hit. i dont know what i am missing everything seems to be ok now but still not working also in my web.xml servlet is defined like this servlet servlet-nameHelloWorldExample/servlet-name servlet-classHelloWorldExample/servlet-class /servlet servlet-mapping servlet-nameHelloWorldExample/servlet-name url-pattern*/servlet/HelloWorldExample*/url-pattern /servlet-mapping Please help. Thanks, Ravi. On Sat, Jul 19, 2008 at 8:25 PM, André Warnier [EMAIL PROTECTED] wrote: Ravi Sharma wrote: [...] I'm not as competent as Rainer, but your problem may be here : worker.list=wlb,jkstatus,testWorker and here worker.ajp13w.type=ajp13 worker.ajp13w.host=localhost worker.ajp13w.port=8009 In other words, in the workers list, you are mentioning the worker testWorker, but in the following worker.* lines, you don't mention testWorker, but ajp13w. Maybe you want to change these 3 lines to worker.testWorker.type=ajp13 worker.testWorker.host=localhost worker.testWorker.port=8009 and try again ? Personally, I would also change this : Location /examples/WEB-INF/ AllowOverride None deny from all /Location to this : Directory /var/www/xyz/examples/WEB-INF (*) Order allow,deny deny from all /Directory (*) replace this by the real disk path to WEB-INF the reason being that, if you are under Windows e.g., someone requesting the URI /examples/web-inf would get to the directory, because it does not match exactly the Location, and for Windows the directory path is case-insensitive, so Apache will serve it. See here : http://httpd.apache.org/docs/2.2/mod/core.html#location - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multiple websites in tomcat
The good news is that you will learn more by encountering problems and solving them, than if everything worked correctly on the first pass. Ravi Sharma wrote: [...] Alias /ex /usr/java/tomcat-5.5/webapps/servlets-examples JkMount /ex/servlet/* testWorker I think that the two lines above conflict with eachother : First you are telling Apache that if it sees /ex in a URI, it should translate it to /usr/java/tomcat-5.5/webapps/servlets-examples. Then you are telling Apache that if it sees a URI like /ex/servlet/*, it should pass it to mod_jk (which will pass it to Tomcat). Here is my guess as to what happens, step by step : You send the following request to Apache : /ex/servlet/HelloWorldExample Because of the Alias, Apache will first translate this to the file location /usr/java/tomcat-5.5/webapps/servlets-examples/HelloWorldExample Then Apache will try to find a handler for that location. Because mod_jk is installed, Apache will ask mod_jk if it is interested in this URI. mod_jk will say no, because the above translated URI does not match /ex/servlet/* in the JkMount. So mod_jk will return DECLINED to Apache. Then Apache will ask other possible handlers, and if nobody else wants this URI, then Apache will select its own default handler (the one which just returns local files). This default handler will try to find the file /usr/java/tomcat-5.5/webapps/servlets-examples/HelloWorldExample and will not find it. So it will return an error. The point is that an Alias happens earlier in the cycle of processing the request (the URI translation step), and the content generation step happens later. mod_jk (and Tomcat) are involved in the content-generation phase. But by the time mod_jk is getting asked if it wants to generate the content, the URI is already tanslated, and mod_jk does not recognise it. In short, for a test of the above, comment out the Alias line, restart Apache, and try again the URL http://www.jaatmusic.com/ex/servlet/HelloWorldExample Of course, with the above change, your first URL http://www.jaatmusic.com/ex will probably not work anymore, but that is normal and we will see that next. For a bit more more information on the order in which the various request processing steps happen in Apache, read through this : http://httpd.apache.org/docs/2.2/developer/request.html For the same with pictures, try this : http://www.apachetutor.org/dev/request André - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Apache 2.2.8+tomcat 6.0.16+Window vista http 404
my mod_jk.conf looks like somthing like this: IfModule !mod_jk.c LoadModule jk_module C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so /IfModule JkWorkersFile C:/softwares/Apache/apache-tomcat-6.0.16/apache-tomcat-6.0.16/conf/jk/workers.properties JkLogFile C:/softwares/Apache/apache-tomcat-6.0.16/apache-tomcat-6.0.16/logs/mod_jk.log JkLogLevel trace I don't see any JkMount directives anywhere in the configs you posted. That's the directive that tells Apache Httpd to send requests for tomcat back to tomcat. Assuming you are mounting a webapp named examples from tomcat, the JkMount would be: JkMount/examples/* ajp13 Restarted whole thing. Still I can not go to follwoing web page. http://localhost/examples/jsp/index.html BTW, what exactly do you get instead of the page? A 404 error? Is it from Httpd or Tomcat? Tomcat's 404s actually have Apache Tomcat included in the default error. --David rangeli nepal wrote: Recently I installed apache and tomcat. Environment is depicted int subject line. They both work nice and fine independently. I am trying to integrate them with mod_jk. I belive I followed all the steps suggested by document. 1. I downloaded mod_jk ( 1.2.26) kept it as mod_jk.so in modules directory and added following in line httpd.conf LoadModule jk_module modules/mod_jk.so 2. Went to tomcat Installation, changed server.xml. Added following lines. Listener className=org.apache.jk.config.ApacheConfig modJk=C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so workersConfig=C:/softwares/Apache/apache-tomcat-6.0.16/apache-tomcat-6.0.16/conf/jk/workers.properties / Afte the line Server port=8005 shutdown=SHUTDOWN Then Added Listener className=org.apache.jk.config.ApacheConfig append=true forwardAll=false modJk=C:/Program Files/Apache Software Foundation/Apache2.2/m odules/mod_jk.so / After the line Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false started the tomcat mod_jk.conf was created. 3. Went back to http.conf Added following line at the end Include C:/softwares/Apache/apache-tomcat-6.0.16/apache-tomcat-6.0.16/conf/auto/mod_jk.conf-auto Also added following lines after LoadModules JkLogStampFormat [%a %b %d %H:%M:%S %Y] JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat %w %V %T Restarted whole thing. Still I can not go to follwoing web page. http://localhost/examples/jsp/index.html 4. Created workers.properties file in ./con/jk ( in tomcat installation). It looks like follwoing # Define 1 real worker using ajp13 worker.list=ajp13 # Set properties for ajp13 (ajp13) worker.ajp13.type=ajp13 worker.ajp13.host=localhost worker.ajp13.port=8009 After Reading couple of messages on newsgroup, I thought it will solve the issue if I move the VirtualHost ... Section from mod_jk.conf to httpd.conf but no avail. my mod_jk.conf looks like somthing like this: IfModule !mod_jk.c LoadModule jk_module C:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so /IfModule JkWorkersFile C:/softwares/Apache/apache-tomcat-6.0.16/apache-tomcat-6.0.16/conf/jk/workers.properties JkLogFile C:/softwares/Apache/apache-tomcat-6.0.16/apache-tomcat-6.0.16/logs/mod_jk.log JkLogLevel trace am I missing something? Worst thing I can not see mod_jk log Thank you. rn -- David Smith Programmer/Analyst College of Agriculture and Life Sciences Cornell University B32 Morrison Hall Ithaca, NY 14853 Phone: (607) 255-4521 - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
in need of concepts
hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
some concepts needed
hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: some concepts needed
Tomcat does have a java compiler (jasper) to compile jsp pages to servlets, but it also needs a JVM (java). Setting CLASSPATH is a big no-no. Put any required jars your webapp might need in the proper place. If you use tomcat's internal pooling for db connections, that means putting driver jar files in tomcat's lib directory. --David Deepak Mishra wrote: hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: some concepts needed
BTW: java is the JVM, javac is the compiler. David Smith wrote: Tomcat does have a java compiler (jasper) to compile jsp pages to servlets, but it also needs a JVM (java). Setting CLASSPATH is a big no-no. Put any required jars your webapp might need in the proper place. If you use tomcat's internal pooling for db connections, that means putting driver jar files in tomcat's lib directory. --David Deepak Mishra wrote: hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: some concepts needed
as you said, tomcat has a java compiler for compiling jsp - servlets called jasper. this is what i read in the wikipedia : Jasper parses JSP files to compile them into Java code as servlets by that definition, is it right to call jasper a java compiler ?? it is just a jsp parser, and it cannot work for normal java programs !! you further say : BTW: java is the JVM, javac is the compiler. if i understand you, you are saying that we need a JVM (and not a java compiler) as a dependency (or a prerequisite for installing tomcat). this means that tomcat HAS its own compiler, and it only needs a jvm provided externally ,right?? On Sun, 20 Jul 2008 23:24:45 +0530, David Smith [EMAIL PROTECTED] wrote: Tomcat does have a java compiler (jasper) to compile jsp pages to servlets, but it also needs a JVM (java). Setting CLASSPATH is a big no-no. Put any required jars your webapp might need in the proper place. If you use tomcat's internal pooling for db connections, that means putting driver jar files in tomcat's lib directory. --David Deepak Mishra wrote: hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: some concepts needed
as you said, tomcat has a java compiler for compiling jsp - servlets called jasper. this is what i read in the wikipedia : Jasper parses JSP files to compile them into Java code as servlets by that definition, is it right to call jasper a java compiler ?? it is just a jsp parser, and it cannot work for normal java programs !! I'm not a great expert in how tomcat's compilation of jsps works, but I do know jsp files are compiled first to .java source code and then further compiled to .class files (servlets to be specific). You can see evidence of this in tomcat's work directory. if i understand you, you are saying that we need a JVM (and not a java compiler) as a dependency (or a prerequisite for installing tomcat). this means that tomcat HAS its own compiler, and it only needs a jvm provided externally ,right?? This is correct. --David Deepak Mishra wrote: as you said, tomcat has a java compiler for compiling jsp - servlets called jasper. this is what i read in the wikipedia : Jasper parses JSP files to compile them into Java code as servlets by that definition, is it right to call jasper a java compiler ?? it is just a jsp parser, and it cannot work for normal java programs !! you further say : BTW: java is the JVM, javac is the compiler. if i understand you, you are saying that we need a JVM (and not a java compiler) as a dependency (or a prerequisite for installing tomcat). this means that tomcat HAS its own compiler, and it only needs a jvm provided externally ,right?? On Sun, 20 Jul 2008 23:24:45 +0530, David Smith [EMAIL PROTECTED] wrote: Tomcat does have a java compiler (jasper) to compile jsp pages to servlets, but it also needs a JVM (java). Setting CLASSPATH is a big no-no. Put any required jars your webapp might need in the proper place. If you use tomcat's internal pooling for db connections, that means putting driver jar files in tomcat's lib directory. --David Deepak Mishra wrote: hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: some concepts needed
thanks a lot david, just one last query (if i a mnot irritating you), when you say that tomcat has its own compiler, then you mean a compiler other than jasper ..right ?? On Sun, 20 Jul 2008 23:55:35 +0530, David Smith [EMAIL PROTECTED] wrote: as you said, tomcat has a java compiler for compiling jsp - servlets called jasper. this is what i read in the wikipedia : Jasper parses JSP files to compile them into Java code as servlets by that definition, is it right to call jasper a java compiler ?? it is just a jsp parser, and it cannot work for normal java programs !! I'm not a great expert in how tomcat's compilation of jsps works, but I do know jsp files are compiled first to .java source code and then further compiled to .class files (servlets to be specific). You can see evidence of this in tomcat's work directory. if i understand you, you are saying that we need a JVM (and not a java compiler) as a dependency (or a prerequisite for installing tomcat). this means that tomcat HAS its own compiler, and it only needs a jvm provided externally ,right?? This is correct. --David Deepak Mishra wrote: as you said, tomcat has a java compiler for compiling jsp - servlets called jasper. this is what i read in the wikipedia : Jasper parses JSP files to compile them into Java code as servlets by that definition, is it right to call jasper a java compiler ?? it is just a jsp parser, and it cannot work for normal java programs !! you further say : BTW: java is the JVM, javac is the compiler. if i understand you, you are saying that we need a JVM (and not a java compiler) as a dependency (or a prerequisite for installing tomcat). this means that tomcat HAS its own compiler, and it only needs a jvm provided externally ,right?? On Sun, 20 Jul 2008 23:24:45 +0530, David Smith [EMAIL PROTECTED] wrote: Tomcat does have a java compiler (jasper) to compile jsp pages to servlets, but it also needs a JVM (java). Setting CLASSPATH is a big no-no. Put any required jars your webapp might need in the proper place. If you use tomcat's internal pooling for db connections, that means putting driver jar files in tomcat's lib directory. --David Deepak Mishra wrote: hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: some concepts needed
From: David Smith [mailto:[EMAIL PROTECTED] Subject: Re: some concepts needed jsp files are compiled first to .java source code and then further compiled to .class files (servlets to be specific). Jasper does the translation from .jsp to .java; it can be configured in conf/web.xml to use any .java to .class compiler you wish. The default is the JDT compiler from Eclipse, packaged in the jasper-jdt.jar in Tomcat's lib directory. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
p6Spy logging
Hello, I want to log my Tomcat app with http://www.p6spy.com/ I did the setup as it is told on the website, but it's still not working. My configuration in the app's META-INF/context.xml is: Realm className=org.apache.catalina.realm.JDBCRealm debug=0 driverName=com.mysql.jdbc.Driver connectionURL=jdbc:mysql://localhost:3306/dbname connectionName= connectionPassword= userTable= userNameCol= userCredCol= userRoleTable= roleNameCol=/ Resource name=jdbc/dbname auth=Container type=javax.sql.DataSource username= password= driverClassName=com.p6spy.engine.spy.P6SpyDriver url=jdbc:mysql://localhost:3306 /dbname?autoReconnect=true maxActive=8 maxIdle=4/ spy.properties is in {TomcatHome}/common/classes folder p6spy.jar is in {TomcatHome}/common/lib folder and i'm having this Exception: Cannot instantiate com.p6spy.engine.logging.appender.FileLogger, even on second attempt. Logging to file log4jaux.log: java.lang.ClassNotFoundException: com.p6spy.engine.logging.appender.FileLogger com.p6spy.engine.common.P6SpyOptions reloading properties Warning: Could not set property setStringmatcher due to InvoicationTargetException Cannot instantiate com.p6spy.engine.logging.appender.FileLogger, even on second attempt. Logging to file log4jaux.log: java.lang.ClassNotFoundException: com.p6spy.engine.logging.appender.FileLogger Warning: driver com.mysql.jdbc.Driver is a real driver in spy.properties, but it has been loaded before p6spy. p6spy will not wrap these connections. Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties Warning: Error registering factory [com.p6spy.engine.logging.P6LogFactory] Caused By: java.lang.ClassCastException: com.p6spy.engine.logging.P6LogFactory cannot be cast to com.p6spy.engine.spy.P6Factory ERROR [http-8080-Processor24] - Servlet.service() for servlet jsp threw exception com.p6spy.engine.spy.P6DriverNotFoundError: Error registering factory [com.p6spy.engine.logging.P6LogFactory] Caused By: java.lang.ClassCastException: com.p6spy.engine.logging.P6LogFactory cannot be cast to com.p6spy.engine.spy.P6Factory and so on... Any ideas how to make this p6Spy work? Regards -- View this message in context: http://www.nabble.com/p6Spy-logging-tp18558061p18558061.html Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: in need of concepts
start out by taking some servlet tutorials, if you understand servlets and web application archives (WAR) then tomcat wont be confusing anymore. Filip Deepak Mishra wrote: hi, i am pretty new to tomcat. currently i have tomcat6 on ubuntu-linux. i have pursued some books on tomcat , but they cant help me getting some concepts, they simply point to using tomcat here is one of my doubts i got during database connection.. does tomcat have its own java compiler ? PROOF THAT TC HAS A SEPERATE JAVA COMPILER when i normally connect my simple jdbc program (not a web application), i have to set the CLASSPATH variable for locating the connector/J jar file. but when i am running a jsp in my web-app, which uses jdbc, CLASSPATH doesnt help..i have to explicitly place the library in the web-app's lib or the common/lib. PROOF THAT TC DOES NOT HAVE A SEPERATE JAVA COMPILER - while installing tomcat, java was demanded as a prerequisite ...meaning to say that tomcat depends on an external java compiler i hope i am not asking a dummys question,as i am new to java too !! but i will be happy if you people can answer me and/or point me to a nice tutorial to know how tomcat works rather than how to work on tomcat. thanks all !! Deepak Mishra - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multiple websites in tomcat
ya thats true propblems gives u more knowledge..but this one is killing me :) i have removed the alias line too. now none of the link is working :( I dont know whats wrong now httpd.conf has only this line JkMount /ex/servlet/HelloWorldExample testWorker. I really dont know what i am missing... please help. On Sun, Jul 20, 2008 at 2:44 PM, André Warnier [EMAIL PROTECTED] wrote: The good news is that you will learn more by encountering problems and solving them, than if everything worked correctly on the first pass. Ravi Sharma wrote: [...] Alias /ex /usr/java/tomcat-5.5/webapps/servlets-examples JkMount /ex/servlet/* testWorker I think that the two lines above conflict with eachother : First you are telling Apache that if it sees /ex in a URI, it should translate it to /usr/java/tomcat-5.5/webapps/servlets-examples. Then you are telling Apache that if it sees a URI like /ex/servlet/*, it should pass it to mod_jk (which will pass it to Tomcat). Here is my guess as to what happens, step by step : You send the following request to Apache : /ex/servlet/HelloWorldExample Because of the Alias, Apache will first translate this to the file location /usr/java/tomcat-5.5/webapps/servlets-examples/HelloWorldExample Then Apache will try to find a handler for that location. Because mod_jk is installed, Apache will ask mod_jk if it is interested in this URI. mod_jk will say no, because the above translated URI does not match /ex/servlet/* in the JkMount. So mod_jk will return DECLINED to Apache. Then Apache will ask other possible handlers, and if nobody else wants this URI, then Apache will select its own default handler (the one which just returns local files). This default handler will try to find the file /usr/java/tomcat-5.5/webapps/servlets-examples/HelloWorldExample and will not find it. So it will return an error. The point is that an Alias happens earlier in the cycle of processing the request (the URI translation step), and the content generation step happens later. mod_jk (and Tomcat) are involved in the content-generation phase. But by the time mod_jk is getting asked if it wants to generate the content, the URI is already tanslated, and mod_jk does not recognise it. In short, for a test of the above, comment out the Alias line, restart Apache, and try again the URL http://www.jaatmusic.com/ex/servlet/HelloWorldExample Of course, with the above change, your first URL http://www.jaatmusic.com/ex will probably not work anymore, but that is normal and we will see that next. For a bit more more information on the order in which the various request processing steps happen in Apache, read through this : http://httpd.apache.org/docs/2.2/developer/request.html For the same with pictures, try this : http://www.apachetutor.org/dev/request André - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [OT] Performance Requirements
Thank you all for the answers and please apologize my late answer, my family obligated me to a 10 day vacation without internet... I added Franks recommendation (mainly because it was the first to come :-)) to my recommendations to the client, and we both thought them reasonable... However, now he (the client) wants to serve large video files and the whole questionnaire becomes somehow nonsensical. Nevertheless thanx very much for the replies. Leon On Thu, Jul 3, 2008 at 3:11 PM, Peter Lin [EMAIL PROTECTED] wrote: there's plenty of papers on the topic on the internet, including the ones listed on tomcat's website. have you looked at the resource page? http://tomcat.apache.org/resources.html On Thu, Jul 3, 2008 at 9:05 AM, Filip Hanik - Dev Lists [EMAIL PROTECTED] wrote: there is one criteria that I always use, and that is user response time this can work for almost any webapp that has some sort of real user in front of it. 50 to 100ms would be excellent and very aggressive, but it depends on the app itself of course. 2-3 seconds for a complete page load is desirable Filip Leon Rosenberg wrote: Hi all, recently I was asked by someone to define performance requirements for a site without even knowing it (the site). The task was to deliver standard requirements valid for most sites (or portal-like sites). I answered that it's probably impossible without knowing the type of media delivered, whether its web 2.0 or 1.0, and so on... but I think as long as the webserver starts delivering content in between 50 and 100 ms (measured at webserver) the site should be ok. What do you think could be the site-independent performance criterion? best regards Leon - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multiple websites in tomcat
Do not despair. If you have removed the Alias line, it is totally normal that your first link does not work. That's because in your case that link is *supposed* to be served by Apache, but there is no file to serve at /usr/java/tomcat-5.5/webapps/servlets-examples/servlet/HelloWorldExample (and anyway, leave that Alias line out. It is not good, for reasons I will give you later). The problem is only why it does not pass the /ex/servlet/HelloWorldExample to Tomcat So, let's start from the beginning. Follow these steps, and stop whenever it does not give the expected answer. 1) verify that Tomcat, by itself, is started and listening : Your Tomcat should have a HTTP connector (probably at port 8180) You should check in the server.xml file of Tomcat. It should look approximately like this : Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8180 minProcessors=5 maxProcessors=75 enableLookups=true acceptCount=10 debug=0 connectionTimeout=2 useURIValidationHack=false / (Look at the port=), and whenever you see below, replace it by that port number. If this connector is not activated (commented out), activate it, we will need it for the tests below. Restart Tomcat if necessary. You can check if Tomcat is listening on that port with netstat : netstat -an | grep (where is the port number above) You should see a line ending in LISTEN. 2) Try to acces that HTTP connector (from your browser) with : http://www.jaatmusic.com: (where is the same port above) You should get some standard Tomcat Welcome page. 3) Now try http://www.jaatmusic.com:/examples You should see the examples menu page 4) then, on that same page, click the link for the HelloWorld example. Does it run the HelloWorld servlet ? If yes, then go back to the menu page, and hover with the cursor above the HellowWorld example link, and note the exact URL that it shows for that link (at the bottom of your browser page). It should be something like : http://www.jaatmusic.com:/examples/HelloWorld (It is important to make sure of that, because that is the URL that Tomcat expects to run the example, even later when we will go through the mod_jk connector) 5) check if Tomcat is listening *also* on the port of your AJP connector netstat -an | grep 8009 Do you also see a LISTEN line ? (I am sure it is, because I can see it from outside. You will probably need to do someting about that later). 6) try to connect to that port with telnet : telnet www.jaatmusic.com 8009 Do you get a connection ? (if yes, try to type something, and then close the connection. Your Tomcat logs should now show something, even if it is garbage). (something like : 2008-07-21 00:29:44 Ajp13Processor[8010][5] [Ajp13] incomplete read, waited #-1 got only 0 ) If all the above is ok, then Tomcat should be fine, and we can go back and check the Apache side. 7) replace your JkMount line in Apache by these 2 lines : JkMount /examples testWorker JkMount /examples/* testWorker and restart Apache 8) enter http://www.jaatmusic.com/examples (notice that this time you are *not* entering the port , because you want to connect through Apache, not go directly to Tomcat). Do you see the same Tomcat examples menu page as before ? If not, what do you see ? an error page of Apache, or one of Tomcat ? André Ravi Sharma wrote: ya thats true propblems gives u more knowledge..but this one is killing me :) i have removed the alias line too. now none of the link is working :( I dont know whats wrong now httpd.conf has only this line JkMount /ex/servlet/HelloWorldExample testWorker. I really dont know what i am missing... please help. On Sun, Jul 20, 2008 at 2:44 PM, André Warnier [EMAIL PROTECTED] wrote: The good news is that you will learn more by encountering problems and solving them, than if everything worked correctly on the first pass. Ravi Sharma wrote: [...] Alias /ex /usr/java/tomcat-5.5/webapps/servlets-examples JkMount /ex/servlet/* testWorker I think that the two lines above conflict with eachother : First you are telling Apache that if it sees /ex in a URI, it should translate it to /usr/java/tomcat-5.5/webapps/servlets-examples. Then you are telling Apache that if it sees a URI like /ex/servlet/*, it should pass it to mod_jk (which will pass it to Tomcat). Here is my guess as to what happens, step by step : You send the following request to Apache : /ex/servlet/HelloWorldExample Because of the Alias, Apache will first translate this to the file location /usr/java/tomcat-5.5/webapps/servlets-examples/HelloWorldExample Then Apache will try to find a handler for that location. Because mod_jk is installed, Apache will ask mod_jk if it is interested in this URI. mod_jk will say no, because the above translated URI does not match /ex/servlet/* in the JkMount. So mod_jk will return DECLINED to Apache. Then Apache will ask
SOLVED Re: p6Spy logging
I solved the problem: Realm className=org.apache.catalina.realm.JDBCRealm debug=0 driverName=com.mysql.jdbc.Driver connectionURL=jdbc:mysql://localhost:3306/dbname connectionName= connectionPassword= userTable= userNameCol= userCredCol= userRoleTable= roleNameCol=/ Resource name=jdbc/dbname auth=Container type=javax.sql.DataSource username= password= driverClassName=com.p6spy.engine.spy.P6SpyDriver url=jdbc:mysql://localhost:3306 /dbname?autoReconnect=true maxActive=8 maxIdle=4/ Tokajac wrote: Hello, I want to log my Tomcat app with http://www.p6spy.com/ I did the setup as it is told on the website, but it's still not working. My configuration in the app's META-INF/context.xml is: Realm className=org.apache.catalina.realm.JDBCRealm debug=0 driverName=com.mysql.jdbc.Driver connectionURL=jdbc:mysql://localhost:3306/dbname connectionName= connectionPassword= userTable= userNameCol= userCredCol= userRoleTable= roleNameCol=/ Resource name=jdbc/dbname auth=Container type=javax.sql.DataSource username= password= driverClassName=com.p6spy.engine.spy.P6SpyDriver url=jdbc:mysql://localhost:3306 /dbname?autoReconnect=true maxActive=8 maxIdle=4/ spy.properties is in {TomcatHome}/common/classes folder p6spy.jar is in {TomcatHome}/common/lib folder and i'm having this Exception: Cannot instantiate com.p6spy.engine.logging.appender.FileLogger, even on second attempt. Logging to file log4jaux.log: java.lang.ClassNotFoundException: com.p6spy.engine.logging.appender.FileLogger com.p6spy.engine.common.P6SpyOptions reloading properties Warning: Could not set property setStringmatcher due to InvoicationTargetException Cannot instantiate com.p6spy.engine.logging.appender.FileLogger, even on second attempt. Logging to file log4jaux.log: java.lang.ClassNotFoundException: com.p6spy.engine.logging.appender.FileLogger Warning: driver com.mysql.jdbc.Driver is a real driver in spy.properties, but it has been loaded before p6spy. p6spy will not wrap these connections. Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties Warning: Error registering factory [com.p6spy.engine.logging.P6LogFactory] Caused By: java.lang.ClassCastException: com.p6spy.engine.logging.P6LogFactory cannot be cast to com.p6spy.engine.spy.P6Factory ERROR [http-8080-Processor24] - Servlet.service() for servlet jsp threw exception com.p6spy.engine.spy.P6DriverNotFoundError: Error registering factory [com.p6spy.engine.logging.P6LogFactory] Caused By: java.lang.ClassCastException: com.p6spy.engine.logging.P6LogFactory cannot be cast to com.p6spy.engine.spy.P6Factory and so on... Any ideas how to make this p6Spy work? Regards -- View this message in context: http://www.nabble.com/p6Spy-logging-tp18558061p18560118.html Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Multiple websites in tomcat
Hi Andre, Thanks a lot for your help and time , i really appreciate your patience to explain me everything step by step. I did the exactly what u suggested. I have tomcat running on port 9080(as well as 8180) and 8009 is ajp listner. http://www.jaatmusic.com:9080 http://www,jaatmusic.com:8180 http://www.jaatmusic.com:8009 all working My Server.xml is like this Connector port=9080 maxHttpHeaderSize=8192 maxThreads=150 minSpareThreads=25 maxSpareThreads=75 enableLookups=false redirectPort=9443 acceptCount=100 connectionTimeout=2 disableUploadTimeout=true / Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8180 minProcessors=5 maxProcessors=75 enableLookups=true acceptCount=10 debug=0 connectionTimeout=2 useURIValidationHack=false / Connector className=org.apache.ajp.tomcat4.Ajp13Connector port=8009 minProcessors=5 maxProcessors=75 acceptCount=10 debug=0/ put these two lines in apache JkMount /ex testWorker JkMount /ex/* testWorker I am sorry but it still not working. *In apache log i got this* File does not exist: /home/jaatadmin/public_html/ex* ( NOTE : /home/jaatadmin/public_html* is my default apache directory for this domain, so when u just write the jaatmusic.com it picks index.html from this dir, but when i had alias there it was picking index.html from servelet-examples folder of webapps of tomcat dir, anyways alias is different story) *Nothing in tomcat log* nothing in tomcat related to this request *In MOD JK Log i got this* [Sun Jul 20 17:01:35.425 2008] [29926:3079694048] [debug] jk_map_to_storage::mod_jk.c (3190): missing uri map for jaatmusic.com: /ex/servlet/HelloWorldExample *In Browser i am getting following error message from apache when i access this url* http://www.jaatmusic.com/ex http://www.jaatmusic.com/examples or this link http://www.jaatmusic.com/ex/servlet/HelloWorldExample Not Found The requested URL /ex/ was not found on this server. -- Apache/2.2.8 (Fedora) Server at www.jaatmusic.com Port 80 Thanks, Ravi. On Sun, Jul 20, 2008 at 11:31 PM, André Warnier [EMAIL PROTECTED] wrote: Do not despair. If you have removed the Alias line, it is totally normal that your first link does not work. That's because in your case that link is *supposed* to be served by Apache, but there is no file to serve at /usr/java/tomcat-5.5/webapps/servlets-examples/servlet/HelloWorldExample (and anyway, leave that Alias line out. It is not good, for reasons I will give you later). The problem is only why it does not pass the /ex/servlet/HelloWorldExample to Tomcat So, let's start from the beginning. Follow these steps, and stop whenever it does not give the expected answer. 1) verify that Tomcat, by itself, is started and listening : Your Tomcat should have a HTTP connector (probably at port 8180) You should check in the server.xml file of Tomcat. It should look approximately like this : Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8180 minProcessors=5 maxProcessors=75 enableLookups=true acceptCount=10 debug=0 connectionTimeout=2 useURIValidationHack=false / (Look at the port=), and whenever you see below, replace it by that port number. If this connector is not activated (commented out), activate it, we will need it for the tests below. Restart Tomcat if necessary. You can check if Tomcat is listening on that port with netstat : netstat -an | grep (where is the port number above) You should see a line ending in LISTEN. 2) Try to acces that HTTP connector (from your browser) with : http://www.jaatmusic.com: (where is the same port above) You should get some standard Tomcat Welcome page. 3) Now try http://www.jaatmusic.com:/examples You should see the examples menu page 4) then, on that same page, click the link for the HelloWorld example. Does it run the HelloWorld servlet ? If yes, then go back to the menu page, and hover with the cursor above the HellowWorld example link, and note the exact URL that it shows for that link (at the bottom of your browser page). It should be something like : http://www.jaatmusic.com:/examples/HelloWorld (It is important to make sure of that, because that is the URL that Tomcat expects to run the example, even later when we will go through the mod_jk connector) 5) check if Tomcat is listening *also* on the port of your AJP connector netstat -an | grep 8009 Do you also see a LISTEN line ? (I am sure it is, because I can see it from outside. You will probably need to do someting about that later). 6) try to connect to that port with telnet : telnet www.jaatmusic.com 8009 Do you get a connection ? (if yes, try to type something, and then close the connection. Your Tomcat logs should now show something, even if it is garbage). (something like