Re: Tomcat taglibs 2.0.0 release?
Thanks for the answers guys, very helpful. Regards, Jeroen On Mon, Feb 5, 2024 at 5:28 PM Greg Huber wrote: > I was testing struts 7 (tomcat 10) and I also use jstl for my 404,403s etc > (when I have no struts context) ie thrown from web.xml: > > >403 >/WEB-INF/jsp/errors/403.jsp > > > Previously on this list it mentioned using the glassfish version. Think > glassfish is eclipse? > > > org.glassfish.web > jakarta.servlet.jsp.jstl > 3.0.1 > > > Seemed to work OK. > > > > On Mon, 5 Feb 2024 at 15:50, Jeroen Hoffman > > wrote: > > > On Mon, Feb 5, 2024 at 4:05 PM Mark Thomas wrote: > > > > > > > > > > Are there plans to release the 2.0.0 version? > > > > > > No plans. > > > > > > Tomcat 10.1.x onwards uses the 1.2.5 taglibs release converted for > > > Jakarta EE using the Tomcat migration tool. > > > > > > > Thanks for the quick answer! > > > > Could you share some details on the migration? In a standard Tomcat 10 I > > see taglibs-standard-spec-1.2.5-migrated-0.0.1.jar and > > taglibs-standard-impl-1.2.5-migrated-0.0.1.jar in the examples webapp, > but > > these are not published to Maven Central. So can an implementation reuse > > already converted jars or should it also do a conversion? > > > > TIA, Jeroen > > >
Re: Tomcat taglibs 2.0.0 release?
On Mon, Feb 5, 2024 at 4:05 PM Mark Thomas wrote: > > > > Are there plans to release the 2.0.0 version? > > No plans. > > Tomcat 10.1.x onwards uses the 1.2.5 taglibs release converted for > Jakarta EE using the Tomcat migration tool. > Thanks for the quick answer! Could you share some details on the migration? In a standard Tomcat 10 I see taglibs-standard-spec-1.2.5-migrated-0.0.1.jar and taglibs-standard-impl-1.2.5-migrated-0.0.1.jar in the examples webapp, but these are not published to Maven Central. So can an implementation reuse already converted jars or should it also do a conversion? TIA, Jeroen
Tomcat taglibs 2.0.0 release?
Hi everybody, I have a question on Tomcat taglibs, I chose this mailing list because the taglibs-user one seems inactive. We in the process of updating our application to use Java 17 and Tomcat 10, including javax/jakarta change. It uses Tomcat Standard Taglibs. We noticed that the code base [1] has been reworked 4 years ago to use jakarta, development version is 2.0.0-SNAPSHOT. Are there plans to release the 2.0.0 version? Regards, Jeroen Hoffman [1] https://github.com/apache/tomcat-taglibs-standard - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Stuck thread when invoking the AsyncContext.complete() method
On 10/02/16 12:00, Mark Thomas wrote: On 10/02/2016 09:20, Mark Thomas wrote: On 09/02/2016 16:19, Jeroen van Ooststroom wrote: Hello Mark, I have been trying to get an isolated test case reproducing the issue, but so far without luck. I'll try to reproduce it again with the original application and get a thread dump for you at the time it got stuck. Is there any Tomcat-level logging you want to see as well leading up to the stuck thread issue? Thanks, Jeroen... Hello Mark, See the thread dump attached. Thanks. Is it edited? There are some "..." sections in the thread dump that don't look normal. A further piece of information that would be helpful is the version of IceFaces you are using. I've been looking at the source code for IcePush 4.1.0 and I have a theory. Keep in mind I don't know the IcePush code at all. 1. Container Thread A ends up in AsyncAdaptingServlet.service() This calls request.startAsync() followed by pushServer.service(). This moves the async state to STARTING which will only change to STARTED once the container thread exists the AsyncAdaptingServlet.service() 2. Assuming (as it appears from the stack traces) that pushServer is an instance of BlockingConnectionServer, this calls activeServer.service 3. activeServer is an instance of RunningServer. The serviceMethod calls pendingRequest.put(pushRequest). Call this push request A. 4. Meanwhile, non-container thread B is running the "Notification Queue Consumer". It holds a lock on the BlockingConnectionServer instance. It tries to process push request A and calls complete(). This blocks because the AsyncContext is still in state STARTING for that request. 5. Container thread A continues and reaches sendNotifications(). This blocks because that method is synchronized and non-container thread B currently holds the lock. At this point deadlock occurs. The async request is in state STARTING. That state can't change until container thread A exits the service() method. Container Thread A is blocked in the service() method waiting for a lock on BlockingConnectionServer. Container Thread B holds the lock on BlockingConnectionServer and won't release it until the the async request changes state to STARTED. My guess is that the deadlock only occurs if the "Notification Queue Consumer" happens to try processing pending requests in the short period of time between container thread A calling pendingRequest.put(pushRequest) and sendNotifications(). The Servlet spec is clear that any call to AsyncContext.complete() will not complete until the associated container thread has completed processing the original request. On that basis it is my current view that this is an ICEpush bug. You should be able to confirm this fairly easily is you use a debugge HTH, Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org This seems to be a valid theory. If I can reproduce it using open source version of ICEfaces, I'll dig a bit further to see if I can prove this to be an ICEfaces bug. Thanks again, Jeroen... - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Stuck thread when invoking the AsyncContext.complete() method
Hello Mark, Thank you for looking into this in more detail. I did edit the thread dump, but just to remove what I believed to be irrelevant pieces. I did not remove any lock information, just bits of stack traces of ICEfaces. This was using ICEfaces-EE 3.3.0.GA_P03. I'll have a look to see if I can reproduce it using an open source version of ICEfaces. Thanks, Jeroen... On 10/02/16 10:20, Mark Thomas wrote: On 09/02/2016 16:19, Jeroen van Ooststroom wrote: Hello Mark, I have been trying to get an isolated test case reproducing the issue, but so far without luck. I'll try to reproduce it again with the original application and get a thread dump for you at the time it got stuck. Is there any Tomcat-level logging you want to see as well leading up to the stuck thread issue? Thanks, Jeroen... Hello Mark, See the thread dump attached. Thanks. Is it edited? There are some "..." sections in the thread dump that don't look normal. A further piece of information that would be helpful is the version of IceFaces you are using. Thanks, Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Stuck thread when invoking the AsyncContext.complete() method
On 05/02/16 13:46, Jeroen van Ooststroom wrote: On 05/02/16 12:05, Mark Thomas wrote: On 05/02/2016 09:00, Mark Thomas wrote: On 05/02/2016 00:30, Jeroen van Ooststroom wrote: Hello, Using Tomcat 8.0.23 and Tomcat 8.0.30 with Java 1.7.0_25 on CentOS 5.11 we are getting a stuck thread issue when our server is on high(er) load. It seems to happen when one of our non-Container Threads invokes the AsyncContext.complete() method while the AsyncStateMachine class’ state class member is set to STARTING instead of STARTED, resulting in the invocation of the Object’s wait() method in the pauseNonContainerThread() method. It never seems to recover from this. I tried a couple of things within our source code trying to get around this: 1. If HttpServletRequest.isAsyncStarted() returns true invoke AsyncContext.complete(), but if it returns false That should not be possible. And I think I have figured out what the problem is. Let me explain. The expected sequence of processing is: 0) Servlet.service() -> entry 1) Servlet.service() -> call startAsync() 2) Servlet.service() -> start a non-container thread to do some processing 3) Servlet.service() -> exits 4) non-container thread calls complete() Each connection has a dedicated async state machine that tracks the current state of the connection. At point 0 the state machine is in the state DISPATCHED (a.k.a. not async) At point 1 the state machine transitions to STARTING. At point 3 the state machine transitions to STARTED. At point 4 the state machine transitions to COMPLETING, a container thread is assigned which fires the onComplete() event for any listeners and then changes state to DISPATCHED. The point of the waits is to ensure that step 4) always occurs after step 3). If a non-container thread is paused, the aynsc post-processing code for container threads will unpause the thread once it completes. If a non-container thread calls complete() at an inappropriate time then an IllegalStateExcpetion should be thrown. The problem is that the non-container thread is paused before the check for the illegal state is made. Therefore, in the case where the non-container thread is making a call at an inappropriate time, it is paused and will never be unpaused. We need to check the state is valid before pausing the thread. Drat. This is already checked and I missed it when reviewing the code. That narrows the possible causes down to: - The container thread never exits the Servlet.service() method. A thread dump will confirm or eliminate that possibility. - The container thread experiences an error which causes it not to unpause the non-container thread. I've been over the code several times and short of an OOME, ThreadDeath or similar error I don't see how this could happen. It would be worth checking the logs before the point where this problem occurs for any errors. I'm going to review the code again to see if I can see any other potential problems. One option is to refactor the pause method and check periodically if the thread should still be paused. It might be worth adding some debug logging to get a better idea of what is going on when this issue occurs. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org I can provide you with the logs. What Tomcat-level log settings do you want me to use? I can also provide you with the thread dump upon the thread being stuck. I can also try to get an isolated test case that is able to reproduce the issue, but it will take some time. Regards, Jeroen... Hello Mark, I have been trying to get an isolated test case reproducing the issue, but so far without luck. I'll try to reproduce it again with the original application and get a thread dump for you at the time it got stuck. Is there any Tomcat-level logging you want to see as well leading up to the stuck thread issue? Thanks, Jeroen... - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Stuck thread when invoking the AsyncContext.complete() method
On 05/02/16 12:05, Mark Thomas wrote: On 05/02/2016 09:00, Mark Thomas wrote: On 05/02/2016 00:30, Jeroen van Ooststroom wrote: Hello, Using Tomcat 8.0.23 and Tomcat 8.0.30 with Java 1.7.0_25 on CentOS 5.11 we are getting a stuck thread issue when our server is on high(er) load. It seems to happen when one of our non-Container Threads invokes the AsyncContext.complete() method while the AsyncStateMachine class’ state class member is set to STARTING instead of STARTED, resulting in the invocation of the Object’s wait() method in the pauseNonContainerThread() method. It never seems to recover from this. I tried a couple of things within our source code trying to get around this: 1. If HttpServletRequest.isAsyncStarted() returns true invoke AsyncContext.complete(), but if it returns false That should not be possible. And I think I have figured out what the problem is. Let me explain. The expected sequence of processing is: 0) Servlet.service() -> entry 1) Servlet.service() -> call startAsync() 2) Servlet.service() -> start a non-container thread to do some processing 3) Servlet.service() -> exits 4) non-container thread calls complete() Each connection has a dedicated async state machine that tracks the current state of the connection. At point 0 the state machine is in the state DISPATCHED (a.k.a. not async) At point 1 the state machine transitions to STARTING. At point 3 the state machine transitions to STARTED. At point 4 the state machine transitions to COMPLETING, a container thread is assigned which fires the onComplete() event for any listeners and then changes state to DISPATCHED. The point of the waits is to ensure that step 4) always occurs after step 3). If a non-container thread is paused, the aynsc post-processing code for container threads will unpause the thread once it completes. If a non-container thread calls complete() at an inappropriate time then an IllegalStateExcpetion should be thrown. The problem is that the non-container thread is paused before the check for the illegal state is made. Therefore, in the case where the non-container thread is making a call at an inappropriate time, it is paused and will never be unpaused. We need to check the state is valid before pausing the thread. Drat. This is already checked and I missed it when reviewing the code. That narrows the possible causes down to: - The container thread never exits the Servlet.service() method. A thread dump will confirm or eliminate that possibility. - The container thread experiences an error which causes it not to unpause the non-container thread. I've been over the code several times and short of an OOME, ThreadDeath or similar error I don't see how this could happen. It would be worth checking the logs before the point where this problem occurs for any errors. I'm going to review the code again to see if I can see any other potential problems. One option is to refactor the pause method and check periodically if the thread should still be paused. It might be worth adding some debug logging to get a better idea of what is going on when this issue occurs. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org I can provide you with the logs. What Tomcat-level log settings do you want me to use? I can also provide you with the thread dump upon the thread being stuck. I can also try to get an isolated test case that is able to reproduce the issue, but it will take some time. Regards, Jeroen... - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Stuck thread when invoking the AsyncContext.complete() method
Hello, Using Tomcat 8.0.23 and Tomcat 8.0.30 with Java 1.7.0_25 on CentOS 5.11 we are getting a stuck thread issue when our server is on high(er) load. It seems to happen when one of our non-Container Threads invokes the AsyncContext.complete() method while the AsyncStateMachine class’ state class member is set to STARTING instead of STARTED, resulting in the invocation of the Object’s wait() method in the pauseNonContainerThread() method. It never seems to recover from this. I tried a couple of things within our source code trying to get around this: 1. If HttpServletRequest.isAsyncStarted() returns true invoke AsyncContext.complete(), but if it returns false sleep for an arbitrary time and try again. Even if HttpServletRequest.isAsyncStarted() returned true and I invoke AsyncContext.complete() on occasion we still get the described problem. I'm not sure if the HttpServletRequest.isAsyncStarted() correlates with the AsyncStateMachine class’ state class member. 2. I tried a similar approach using the AsyncListener class, but again without consistent success. 3. I tried enforcing an arbitrary delay even before invoking the AsyncContext.complete() while HttpServletRequest.isAsyncStarted() returned true, but again without consistent success. I also tried a change within Tomcat's source code trying to get around this: 1. Instead of invoking the Object's wait() method I tried to invoke the Object's wait(long timeout) method and checking if the state class member ever seems to change from STARTING to STARTED when in this situation. This didn't help either and the state class member seems to be stuck in STARTING. private synchronized void pauseNonContainerThread() { while (!ContainerThreadMarker.isContainerThread() && state.getPauseNonContainerThread()) { try { System.out.println("*** pauseNonContainerThread *** (before wait :: state: '" + state + "')"); *wait(500);* System.out.println("*** pauseNonContainerThread *** (after wait)"); } catch (InterruptedException e) { // TODO Log this? } } } I can replicate the issue, but it takes quite a number of load tries before I get it replicated. It also seems to be harder to replicate this on Tomcat 8.0.30 than it is on Tomcat 8.0.23. I don’t have an isolated test case (yet) that I can upload somewhere. However, I can provide logs and thread dumps if needed. In addition, looking at the Tomcat source code, I couldn’t figure out what/who is supposed to invoke the Object's notify() method on the non-Container Thread once Tomcat decided to invoke the Object’s wait() method on it. As Tomcat decided to invoke the Object’s wait() method on it I kind of expect Tomcat to be responsible for invoking the Object's notify() method on it eventually when the right conditions are met or something. I’m not saying this is a/the problem though, I'm just trying to understand what would/should happen when you get into this state. Regards, Jeroen...
RE: Deploying emboss in Opal2
Date: Fri, 8 Jul 2011 10:39:16 -0700 From: its_toas...@yahoo.com Subject: Re: Deploying emboss in Opal2 To: users@tomcat.apache.org - Original Message - From: jeroen vannevel jer_vanne...@hotmail.com To: users@tomcat.apache.org Cc: Sent: Friday, July 8, 2011 6:37 AM Subject: RE: Deploying emboss in Opal2 Date: Fri, 8 Jul 2011 15:21:05 +0200 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: Deploying emboss in Opal2 jeroen vannevel wrote: Date: Fri, 8 Jul 2011 14:04:37 +0200 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: Deploying emboss in Opal2 jeroen vannevel wrote: Hello I've installed Opal2 on my Tomcat 5.5.33 server and now I'd like to make the emboss programs available in this. I've been working on this for two days and I just seem to trample at the same spot. Perhaps someone has the required files or could tell me how to deal with this specific case? I've tried compiling all the emboss programs and put them in a .war package but after uploading this to Tomcat I just keep getting 'The requested r= esource () is not available.' error messages. It is possible that someone here would not the emboss application, but more likely that they would not. This is just a preliminary to ask : does the emboss program have a mailing list, and did you ask there ? Other than that, it would help if you provide some additional details : - on what platform are you trying this ? - where (in what directory) is Tomcat installed ? - what is the path to the Tomcat webapps directory ? - what is the name of your .war file ? - how are you uploading your .war file to Tomcat ? - where does the .war file end up when it is uploaded ? - in the Tomcat configuration file ..(tomcat_dir)/conf/server.xml, there is (at least) one Host tag. Can you copy it here ? They do, but I've just signed up there and I'm not sure if it's a very active one. Figured I might as well test my luck and ask here. As for additional information: - Ubuntu 11.04 - /home/myname/Downloads/apache-tomcat-5.5.33/ - /home/myname/Downloads/apache-tomcat-5.5.33/webapps/ - emboss.war - using the built-in File-Upload menu in Tomcat's Manager. (so the 2nd option to deploy an app) - /home/myname/Downloads/apache-tomcat-5.5.33/webapps/emboss.war Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Alias10.0.102.165/Alias /Host At first sight, that all looks good to me (except a detail irrelevant here) Next questions : - what is the URL you use, to try to access this application ? - what do the Tomcat logfiles say ? .. and, if the URL you used was not the same, what happens when you try to access : http://your-host-name[:port]/emboss And the irrelevant detail is : If the above Host tag is the only one which is contained in the server.xml file, then the line Alias10.0.102.165/Alias is unnecessary. Tomcat will default to this Host anyway for all accesses. The URL I use is http://localhost:8080/emboss, as you said it should be. Perhaps it is of use to know that http://localhost:8080/opal2 does work and shows me the page I expect there. The logfiles from catalina.out when restarting the service and browsing to the emboss location: http://pastebin.com/UUn2dxmD I've used that Alias tag to try and get another program in opal2 to use this IP adress so it would've been accessible from somewhere else in the network. This failed, the application in opal2 (it was called Babel) kept linking to http://localhost instead of the alias. Not that it really matters, we didn't need that application and it was for testing purposes. The log files show that there is something else running on port 8080: SEVERE: Error initializing endpoint java.net.BindException: Address already in use:8080 Are you running both Ubuntu's installation of Tomcat and one downloaded from tomcat.apache.org? Just run one copy. You can get everything running in one Tomcat by using the manager application and installing WAR files. See: http://tomcat.apache.org/tomcat-5.5-doc/manager-howto.html for how this works. Accessing Tomcat at port 8080 from another host should be fairly straightforward. Just go to: http://ip-address:8080/opal2 to get to the Opal 2 application (for example). If your hostname / IP address is in DNS (check with your network person), or of the hostname / IP address exists in the other machine's host file, then: http://hostname:8080/opal2 should work. I don't know Ubuntu Linux (I run Fedora), but accessing http://hostname:8080/opal2 from a remote
Deploying emboss in Opal2
Hello I've installed Opal2 on my Tomcat 5.5.33 server and now I'd like to make the emboss programs available in this. I've been working on this for two days and I just seem to trample at the same spot. Perhaps someone has the required files or could tell me how to deal with this specific case? I've tried compiling all the emboss programs and put them in a .war package but after uploading this to Tomcat I just keep getting 'The requested r= esource () is not available.' error messages. Yours Jeroen V.
RE: Deploying emboss in Opal2
Date: Fri, 8 Jul 2011 14:04:37 +0200 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: Deploying emboss in Opal2 jeroen vannevel wrote: Hello I've installed Opal2 on my Tomcat 5.5.33 server and now I'd like to make the emboss programs available in this. I've been working on this for two days and I just seem to trample at the same spot. Perhaps someone has the required files or could tell me how to deal with this specific case? I've tried compiling all the emboss programs and put them in a .war package but after uploading this to Tomcat I just keep getting 'The requested r= esource () is not available.' error messages. It is possible that someone here would not the emboss application, but more likely that they would not. This is just a preliminary to ask : does the emboss program have a mailing list, and did you ask there ? Other than that, it would help if you provide some additional details : - on what platform are you trying this ? - where (in what directory) is Tomcat installed ? - what is the path to the Tomcat webapps directory ? - what is the name of your .war file ? - how are you uploading your .war file to Tomcat ? - where does the .war file end up when it is uploaded ? - in the Tomcat configuration file ..(tomcat_dir)/conf/server.xml, there is (at least) one Host tag. Can you copy it here ? They do, but I've just signed up there and I'm not sure if it's a very active one. Figured I might as well test my luck and ask here. As for additional information: - Ubuntu 11.04 - /home/myname/Downloads/apache-tomcat-5.5.33/ - /home/myname/Downloads/apache-tomcat-5.5.33/webapps/ - emboss.war - using the built-in File-Upload menu in Tomcat's Manager. (so the 2nd option to deploy an app) - /home/myname/Downloads/apache-tomcat-5.5.33/webapps/emboss.war Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Alias10.0.102.165/Alias /Host - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Deploying emboss in Opal2
Date: Fri, 8 Jul 2011 15:21:05 +0200 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: Deploying emboss in Opal2 jeroen vannevel wrote: Date: Fri, 8 Jul 2011 14:04:37 +0200 From: a...@ice-sa.com To: users@tomcat.apache.org Subject: Re: Deploying emboss in Opal2 jeroen vannevel wrote: Hello I've installed Opal2 on my Tomcat 5.5.33 server and now I'd like to make the emboss programs available in this. I've been working on this for two days and I just seem to trample at the same spot. Perhaps someone has the required files or could tell me how to deal with this specific case? I've tried compiling all the emboss programs and put them in a .war package but after uploading this to Tomcat I just keep getting 'The requested r= esource () is not available.' error messages. It is possible that someone here would not the emboss application, but more likely that they would not. This is just a preliminary to ask : does the emboss program have a mailing list, and did you ask there ? Other than that, it would help if you provide some additional details : - on what platform are you trying this ? - where (in what directory) is Tomcat installed ? - what is the path to the Tomcat webapps directory ? - what is the name of your .war file ? - how are you uploading your .war file to Tomcat ? - where does the .war file end up when it is uploaded ? - in the Tomcat configuration file ..(tomcat_dir)/conf/server.xml, there is (at least) one Host tag. Can you copy it here ? They do, but I've just signed up there and I'm not sure if it's a very active one. Figured I might as well test my luck and ask here. As for additional information: - Ubuntu 11.04 - /home/myname/Downloads/apache-tomcat-5.5.33/ - /home/myname/Downloads/apache-tomcat-5.5.33/webapps/ - emboss.war - using the built-in File-Upload menu in Tomcat's Manager. (so the 2nd option to deploy an app) - /home/myname/Downloads/apache-tomcat-5.5.33/webapps/emboss.war Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Alias10.0.102.165/Alias /Host At first sight, that all looks good to me (except a detail irrelevant here) Next questions : - what is the URL you use, to try to access this application ? - what do the Tomcat logfiles say ? .. and, if the URL you used was not the same, what happens when you try to access : http://your-host-name[:port]/emboss And the irrelevant detail is : If the above Host tag is the only one which is contained in the server.xml file, then the line Alias10.0.102.165/Alias is unnecessary. Tomcat will default to this Host anyway for all accesses. The URL I use is http://localhost:8080/emboss, as you said it should be. Perhaps it is of use to know that http://localhost:8080/opal2 does work and shows me the page I expect there. The logfiles from catalina.out when restarting the service and browsing to the emboss location: http://pastebin.com/UUn2dxmD I've used that Alias tag to try and get another program in opal2 to use this IP adress so it would've been accessible from somewhere else in the network. This failed, the application in opal2 (it was called Babel) kept linking to http://localhost instead of the alias. Not that it really matters, we didn't need that application and it was for testing purposes. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Redirecting/proxying/forwarding webapp
Hello, is there a webapp that will redirect all incoming requests to another host/path? I have a Lenya instance running on one virtual host, and want another virtual host point to its live publication like this: jeroen.example.com/* cms.example.com/jeroen/live/* Both virtual hosts run on the same Tomcat instance, so if there's a way to use some Tomcat internal mechanism to do the forwarding, that might give a performance benefit. Otherwise, a more generic redirecting webapp would be great. Thanks! Jeroen - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat 6 multiple hosts howto
Thanks a lot, Ilya and Chuck, I think I did not make myself totally clear. Indeed I meant to copy the .war file, and each copy to pick up a different .properties file for settings. More specifically, I am using Spring's PropertyPlaceholderConfigurer pointing to classpath:mywebapp.properties, and want that to resolve to different files for each Context. I prefer not to manually add different .properties files to each copy of the .war file, and I also want to avoid using Parameter elements inside the Context, as I don't know how to translate those to Spring property placeholders. Thanks again! Jeroen - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Tomcat 6 multiple hosts howto
Hello all, I am sure this is a FAQ, but I can't find any info about it. I used Tomcat 5.5 with multiple Host/ elements in the server.xml Now I read that this has to be done differently in Tomcat 6, but I am not sure how. I added a conf/Catalina/examplecom/context.xml, but I don't know what to put there, and how to link it to the host example.com.. Also, is there a way to specify individual classpaths that have a Host as scope? That way I can deploy the same webapp for different hosts using different settings in the .properies files. Thanks in advance! Jeroen - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Own implementation WebdavServlet
I want to make my own implementation of org.apache.catalina.servlets.WebdavServlet. I first wanted to make a test by copying the contents of this class to a new class. Now there's a strange phenomenon: the ProxyDirContext resources cannot be retrieved. It is retrieved from the contextAttribute org.apache.catalina.resources, but I can't find where it is set. Can anybody help me with this? Why is it the DefaultServlet, and its subclass WebdavServlet can find it, but my own subclass with exactly the same code can't? Has anybody successfully made an own implementation of WebDAV? Jeroen - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]