Re: configuration files for war deployments
jdbc config options, common file system info, http urls for external sites, things of that nature. we have a complex multitenant system that needs to be configured by our sysadmins. granted this app is hosted and not deployed at customers, but currently we are hosting it on tomcat and later possibly websphere. i was wondering if there was a way to do this portably. how about reading comments from an external url? has this been done before? thanks for the comments. On 8/26/05, QM [EMAIL PROTECTED] wrote: On Fri, Aug 26, 2005 at 02:16:26AM +0800, Patrick Lacson wrote: : I know that's typically where they go, but if the file is inside the : .war, how is the file going to be configured by the sysadming folks? Webapps are meant to be fairly standalone. If you require that one be configured after it has been compiled, you really have two options: 1/ give it to the sysadmins in exploded-dir format so they can tweak the files, then just run the app as such 2/ create some resource outside of the app (database, file) that the app knows to load on startup. The downside to #2 is that it still requires your app to have some knowledge of the filesystem outside of itself. That inhibits portability, not to mention running separate instances of the app (with separate configurations, that is). Furthermore, to be completely portable across containers (though not necessarily operating systems) your app must operate on the fully-qualified path to the external file. There's no such idea as a relative file location when it comes to webapps. What would be in this external config file? -QM -- software -- http://www.brandxdev.net/ tech news -- http://www.RoarNetworX.com/ code scan -- http://www.JxRef.org/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Patrick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Cluster tcpThreadCount
Hey Randy, tcpThreadCount is the number of parallel NIO receiver threads. Every tomcat cluster node with pooled mode has 25 sender threads (Default). Normally two receiver thread per backup node are calc. More recevier worker means that you produce more load for replication at backup! At heavy loaded site I use only the fastasyncqueue mode. This mode has at my test case better performance and more guaranty that replication works well. You can also switch to the domain cluster model. Install more nodes with different backup domainnodes. Example Apache 1 and four tomcats T01 and T03 are inside domain A ( same mcast port) T02 and T04 are inside domain B ( same mcast port) T01 and T02 living at box B1 T03 and T04 living at box B2 Peter PS: When you used tomcat 5.5.9 don't forget to install the cluster fix pack ( s. bugzilla) Randy Paries schrieb: Hello, How do I determine what value I should set tcpThreadCount to Currently I have the setting below and a very busy app server. Thanks Randy Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.88 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6 / Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled autoConnect=true waitForAck=true sendAllSessions=false sendAllSessionsSize=100 compress=true ackTimeout=15000/ - 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: Manager webapp and virtual hosts
This setup has been tested on Apache2+JBoss+mod_jk-1.2.14_for MacOSX. And am sure it will work on other platforms as well. This setup also handles Apache related webapps.. Make the required entries in the DNS webapp.war: Extract the war file using zip and rename the folder with .war extension. Please put it in your deployment folder. mod-jk.so: Obtain the modjk.so library file from www.apache.org and place then in the modules folder. Apache-Virtual Host config -- NameVirtualHost *.*.*.*:80 VirtualHost *.*.*.*:80 ServerName webapp.robosoft.co.in ServerAlias www.webapp.robosoft.co.in ServerAdmin [EMAIL PROTECTED] DocumentRoot /Volumes/Extra/jboss/server/default/deploy/webapp.war JkMount /* loadbalancer DirectoryIndex index.html index.jsp ErrorLog logs/webapp-error_log CustomLog logs/webapp-access_log common /VirtualHost - mod-jk.conf LoadModule jk_module /opt/apache2/modules/mod_jk.so JkWorkersFile /opt/apache2/conf/workers.properties JkLogFile /opt/apache2/logs/mod_jk.log JkLogLevel info JkLogStampFormat [%a %b %d %H:%M:%S %Y] JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat %w %V %T JkMount /webapp.domain.com/*.jsp loadbalancer JkMountFile /opt/apache2/conf/uriworkermap.properties JkShmFile /opt/apache2/logs/jk.shm Location /jkstatus/ JkMount status Allow from all /Location -- Server.xml - Host name=webapp.domain.com debug=0 appBase=deploy unpackWARs=true Aliaswww.webapp.domain.com/Alias Logger className=org.apache.catalina.logger.FileLogger directory=logs prefix=webapp_log1. suffix=.log timestamp=true/ Context path= docBase=${jboss.server.home.dir}/deploy/webapp.war debug=0 reloadable=true/ /Host -- -- uriworkermap.properties /jmx-console=loadbalancer /jmx-console/*=loadbalancer /web-console=loadbalancer /web-console/*=loadbalancer /webapp.domain.com/*.jsp -- -- workers.properties worker.list=loadbalancer,status worker.webapp.port=8009 worker.webapp.host=webapp.domain.com worker.webapp.type=ajp13 worker.webapp.lbfactor=1 worker.webapp.cachesize=10 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=library worker.loadbalancer.sticky_session=1 worker.loadbalancer.local_worker_only=1 worker.list=loadbalancer worker.status.type=status Regards Thanks Mahesh S Kudva -Original Message- From: David Delbecq [EMAIL PROTECTED] To: Tomcat Users List tomcat-user@jakarta.apache.org Date: Thu, 25 Aug 2005 14:01:46 +0200 Subject: Re: Manager webapp and virtual hosts Le Jeudi 25 Août 2005 13:55, Mikolaj Rydzewski a écrit : Hello, My configuration is very simple: tomcat listens on localhost with various apps in their contexts. Now I'd like to setup a virtual host for another one. Will it be possible to deploy/reload such application using manager webapp running on localhost? In other words: do I have to install separate manager webapp for each virtual host? For 1st part, did it here (2 sets of webapp depending on hostname used), must have the manager webapp deployed in each host (actually a soft link on unix having webapps-for-somespecial-hostname/manager points to webapps/manager is enough) And the second question is: is it possible to connect apache with virtual host + mod_jk + tomcat with webapp in it's context? I.e.: my1.domain.com (apache + mod_jk) === tomcat.domain.com/webapp1 my2.domain.com (apache + mod_jk) === tomcat.domain.com/webapp2 ? -- David Delbecq Royal Meteorological Institute of Belgium - Is there life after /sbin/halt -p? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --- Robosoft Technologies - Partners in Product Development - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
request.getServletPath() changes during request lifecycle, BUG or Specified behaviour ?
At the start of my HttpServlet class code: request.getServletPath() = /myServlet But then my HttpServlet code runs a MVC pattern and decides to forward off to a JSP page /someDir/myPage.jsp so inside any tag's inside that JSP page now get: request.getServletPath() = /someDir/myPage.jsp Which is just plain wrong. Can anyone confirm if this correct behaviour ? It seems pretty ludicrious that the request object is meant to be associated with the original request, so I would expect it to remain constant (unless my app overides it), like how we got here is pretty important stuff throughout the whole lifetime of a request. The forwarding methodology JSP uses seems to be more related to the response part, as-in the path /someDir/myPage.jsp is a forwarding action that is being carried out in the response part. To work around this sillyness: I have added code into my HttpServlet like 'request.setAttribute(getHttpRequestPath, request.getServletPath())' so that the original HttpRequest information can be preserved throughout the whole request lifecycle. -- Darryl L. Miles - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Cluster tcpThreadCount
Thanks for the response. What version was fastasyncqueue implemented? I am still running jakarta-tomcat-5.0 There are so many different values Is this a good default to start with (from the doc page)?? Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=fastasyncqueue doTransmitterProcessingStats=true doProcessingStats=true doWaitAckStats=true queueTimeWait=true queueDoStats=true queueCheckLock=true ackTimeout=15000 waitForAck=true keepAliveTimeout=8 keepAliveMaxRequestCount=-1/ -Original Message- From: Peter Rossbach [mailto:[EMAIL PROTECTED] Sent: Saturday, August 27, 2005 1:41 AM To: Tomcat Users List Subject: Re: Cluster tcpThreadCount Hey Randy, tcpThreadCount is the number of parallel NIO receiver threads. Every tomcat cluster node with pooled mode has 25 sender threads (Default). Normally two receiver thread per backup node are calc. More recevier worker means that you produce more load for replication at backup! At heavy loaded site I use only the fastasyncqueue mode. This mode has at my test case better performance and more guaranty that replication works well. You can also switch to the domain cluster model. Install more nodes with different backup domainnodes. Example Apache 1 and four tomcats T01 and T03 are inside domain A ( same mcast port) T02 and T04 are inside domain B ( same mcast port) T01 and T02 living at box B1 T03 and T04 living at box B2 Peter PS: When you used tomcat 5.5.9 don't forget to install the cluster fix pack ( s. bugzilla) Randy Paries schrieb: Hello, How do I determine what value I should set tcpThreadCount to Currently I have the setting below and a very busy app server. Thanks Randy Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.88 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6 / Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled autoConnect=true waitForAck=true sendAllSessions=false sendAllSessionsSize=100 compress=true ackTimeout=15000/ - 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: Cluster tcpThreadCount
Hey, Use the 5.5.9 with cluster fix pack for fastasyncqueue cluster mode. Yes, you can use the default config, but change the ackTimeout to 45000 when you have heavy load and big session replicated messages. At 5.5.11 I have change a lot inside the cluster implementation, but this version is currently an alpha release. Peter Randy Paries schrieb: Thanks for the response. What version was fastasyncqueue implemented? I am still running jakarta-tomcat-5.0 There are so many different values Is this a good default to start with (from the doc page)?? Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=fastasyncqueue doTransmitterProcessingStats=true doProcessingStats=true doWaitAckStats=true queueTimeWait=true queueDoStats=true queueCheckLock=true ackTimeout=15000 waitForAck=true keepAliveTimeout=8 keepAliveMaxRequestCount=-1/ -Original Message- From: Peter Rossbach [mailto:[EMAIL PROTECTED] Sent: Saturday, August 27, 2005 1:41 AM To: Tomcat Users List Subject: Re: Cluster tcpThreadCount Hey Randy, tcpThreadCount is the number of parallel NIO receiver threads. Every tomcat cluster node with pooled mode has 25 sender threads (Default). Normally two receiver thread per backup node are calc. More recevier worker means that you produce more load for replication at backup! At heavy loaded site I use only the fastasyncqueue mode. This mode has at my test case better performance and more guaranty that replication works well. You can also switch to the domain cluster model. Install more nodes with different backup domainnodes. Example Apache 1 and four tomcats T01 and T03 are inside domain A ( same mcast port) T02 and T04 are inside domain B ( same mcast port) T01 and T02 living at box B1 T03 and T04 living at box B2 Peter PS: When you used tomcat 5.5.9 don't forget to install the cluster fix pack ( s. bugzilla) Randy Paries schrieb: Hello, How do I determine what value I should set tcpThreadCount to Currently I have the setting below and a very busy app server. Thanks Randy Receiver className=org.apache.catalina.cluster.tcp.ReplicationListener tcpListenAddress=10.0.0.88 tcpListenPort=4001 tcpSelectorTimeout=100 tcpThreadCount=6 / Sender className=org.apache.catalina.cluster.tcp.ReplicationTransmitter replicationMode=pooled autoConnect=true waitForAck=true sendAllSessions=false sendAllSessionsSize=100 compress=true ackTimeout=15000/ - 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: request.getServletPath() changes during request lifecycle, BUG or Specified behaviour ?
Darryl L. Miles wrote: At the start of my HttpServlet class code: request.getServletPath() = /myServlet But then my HttpServlet code runs a MVC pattern and decides to forward off to a JSP page /someDir/myPage.jsp so inside any tag's inside that JSP page now get: request.getServletPath() = /someDir/myPage.jsp Which is just plain wrong. Can anyone confirm if this correct behaviour ? To work around this sillyness: Alternatively, per the 2.4 Servlet spec: SRV.8.4.2 Forwarded Request Parameters Except for servlets obtained by using the getNamedDispatcher method, a servlet that has been invoked by another servlet using the forward method of RequestDispatcher has access to the path of the original request. The following request attributes must be set: javax.servlet.forward.request_uri javax.servlet.forward.context_path javax.servlet.forward.servlet_path javax.servlet.forward.path_info javax.servlet.forward.query_string ... etc. HTH! -- Hassan Schroeder - [EMAIL PROTECTED] Webtuitive Design === (+1) 408-938-0567 === http://webtuitive.com dream. code. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JAVA_HOME beginner
i am using win XP. tomcat 5.0.xx and jdk1.4_02 i tried running several jsp pages ..it resturns this errors Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK how do i over come this ..pls help thx - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JAVA_HOME beginner
Did you set JAVA_HOME environment variable. It should point to the JDK installation directory for eg. c:\j2sdk1.4.2_02. Try setting it in startup.bat as the first line. On 8/27/05, ganesan malairaja [EMAIL PROTECTED] wrote: i am using win XP. tomcat 5.0.xx and jdk1.4_02 i tried running several jsp pages ..it resturns this errors Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK how do i over come this ..pls help thx - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- rgds Anto Paul - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JAVA_HOME beginner
Did you download the windows installer for Tomcat5.x? Or just Tomcat in a zip file. If you did not get the installer you need to manually set JAVA_HOME. Or go back and download the acuall windows installer, which of the two will be much eaier. I am not sure about XP. In Win2k you 1. Right click on My Computer 2. Select Properties 3. Click on the Advanced tab. 4. Click the button labeled Environmental Variables 5. Look to see if JAVA_HOME under the System Variables. If not add it. The syntax for the path has to be dead on perfect. If is wrong at all it will not work. Also be aware that with windows when you make a change to the Environmental varaibles you have to reboot before Windows will see the change. One other thing to check is make sure you downloaded the JDK version 1.4.2 or newer. If you downloaded the JRE Tomcat will not be able to run. ganesan malairaja wrote: i am using win XP. tomcat 5.0.xx and jdk1.4_02 i tried running several jsp pages ..it resturns this errors Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK how do i over come this ..pls help thx - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Brian Cook Digital Services Analyst Print Time Inc. [EMAIL PROTECTED] 913.345.8900 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: invalidate session after calling listeners
Franklin Phan wrote: I'm trying to code a method to clean up specifically named files inside a working dir (in Windows XP) whenever the session times out. Rather than a global listener approach, why not just add an instance of your listener *to each session*? When the session ends and that object receives the event, it still knows its attributes; from your example: public void valueUnbound(HttpSessionBindingEvent se) { AbcdUtil util = new AbcdUtil(); /* -- neither of these is necessary, as userId is still defined * HttpSession session = se.getSession(); * String userId = (String)session.getValue(userId); */ I use this approach to return items to stock from an abandoned (via session timeout) shopping cart, for instance. FWIW! -- Hassan Schroeder - [EMAIL PROTECTED] Webtuitive Design === (+1) 408-938-0567 === http://webtuitive.com dream. code. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: configuration files for war deployments
On Fri, Aug 26, 2005 at 11:47:54PM -0700, Patrick Lacson wrote: : jdbc config options, common file system info, http urls for external : sites, things of that nature. we have a complex multitenant system : that needs to be configured by our sysadmins. What about having separate config files that can be compiled into the WAR at build time? A little Ant magic, a few replacement rules, and you're in business. Your sysadmins will (hopefully) like that more because there would be less for them to do. : currently we are hosting it on tomcat and later possibly websphere. i : was wondering if there was a way to do this portably. Portability is a broad term; you must decide the direction and depth of your portability and go from there. For example: using an external file means you have to specify an absolute path. That's portable between containers but not OS flavors. : how about reading comments from an external url? has this been done before? URL is also an option, silly me for not having mentioned it. -but again, your app has to somehow bootstrap this information, which means you must include the URL in your app at build time. Furthermore, the service that responds to the URL call must be available at all times or your webapps won't start. =) You could get creative with the URL bit: include the context name as a parameter, let the remote service analyze the incoming IP address, etc... but that would require some serious planning and design such that you don't end up with a nightmare long-term. Using an exploded-dir format webapp would require the least work on your part. While it's not techically required by the spec (only WAR files are required, when I last checked), I'd doubt there are any containers that don't support it. Pick your poison. -QM -- software -- http://www.brandxdev.net/ tech news -- http://www.RoarNetworX.com/ code scan -- http://www.JxRef.org/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
configure tomcat
hello im a beginer . im using windows XP, tomcat 5.0.28, MySql 4.1 Can anyone tell me what version of JDK should i use and how do i configure my tomcat. can anyone show me an example configuration for windows XP . Thanks in advance.. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: configure tomcat
Tomcat 5.x requires JDK 1.4.2 or newer. I would get 1.5.4 or what ever the newest JDK is. Especially if you will be doing any GUI development. You do not need to configure anything in Tomcat if you are ok with its default values. If you want to make any changes to Tomcat you can do so by making changes to the values in the server.xml file in Tomcat/conf/ All of these are basic questions that are covered in the Tomcat Docs pages. http://jakarta.apache.org/tomcat/tomcat-5.0-doc/index.html Joshua Pereira wrote: hello im a beginer . im using windows XP, tomcat 5.0.28, MySql 4.1 Can anyone tell me what version of JDK should i use and how do i configure my tomcat. can anyone show me an example configuration for windows XP . Thanks in advance.. - 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]
response.sendError() problem on Tomcat 5.5.9
In MyHTTPServlet.service() (extends HttpServlet.service()), I catch an exception and try to send back an error, like this: catch(final MissingResourceException missingResourceException) { response.sendError(404);//send back a 500 Internal Server Error } This code gets called, and I've logged that Java makes it to the response.sendError() but not past it. Firefox WebDeveloper 0.9.3 tells me I'm getting back a 200 OK rather than a 404. Is there a Tomcat problem, or am I missing something really obvious? Cheers, Garret - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: JAVA_HOME beginner
Hey Scott-- The website seems to be password protected. I get a password screen and can't get past it. Bill -Original Message- From: Anto Paul [mailto:[EMAIL PROTECTED] Sent: Sat 8/27/2005 8:07 AM To: Tomcat Users List Cc: Subject: Re: JAVA_HOME beginner Did you set JAVA_HOME environment variable. It should point to the JDK installation directory for eg. c:\j2sdk1.4.2_02. Try setting it in startup.bat as the first line. On 8/27/05, ganesan malairaja [EMAIL PROTECTED] wrote: i am using win XP. tomcat 5.0.xx and jdk1.4_02 i tried running several jsp pages ..it resturns this errors Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK how do i over come this ..pls help thx - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- rgds Anto Paul - 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: JAVA_HOME beginner-APOLOGIES
My apologies to [EMAIL PROTECTED] MSOutlook. Obviously this went to the wrong place. Sigh . . . it's awfully late. Bill -Original Message- From: Bill Clemmons Sent: Sat 8/27/2005 6:26 PM To: Tomcat Users List Cc: Subject:RE: JAVA_HOME beginner Hey Scott-- The website seems to be password protected. I get a password screen and can't get past it. Bill -Original Message- From: Anto Paul [mailto:[EMAIL PROTECTED] Sent: Sat 8/27/2005 8:07 AM To: Tomcat Users List Cc: Subject: Re: JAVA_HOME beginner Did you set JAVA_HOME environment variable. It should point to the JDK installation directory for eg. c:\j2sdk1.4.2_02. Try setting it in startup.bat as the first line. On 8/27/05, ganesan malairaja [EMAIL PROTECTED] wrote: i am using win XP. tomcat 5.0.xx and jdk1.4_02 i tried running several jsp pages ..it resturns this errors Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK how do i over come this ..pls help thx - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- rgds Anto Paul - 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]