svn commit: r1836609 - in /tomcat/trunk: java/org/apache/catalina/tribes/group/ChannelCoordinator.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Jul 25 08:09:59 2018 New Revision: 1836609 URL: http://svn.apache.org/viewvc?rev=1836609&view=rev Log: Correct the stop order of the Channel components. It stops in the reverse order to that at startup. Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java?rev=1836609&r1=1836608&r2=1836609&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/group/ChannelCoordinator.java Wed Jul 25 08:09:59 2018 @@ -221,25 +221,24 @@ public class ChannelCoordinator extends if (svc == 0 ) return;//nothing to stop boolean valid = false; -if ( Channel.SND_RX_SEQ==(svc & Channel.SND_RX_SEQ) ) { -clusterReceiver.stop(); -clusterReceiver.setMessageListener(null); -valid = true; -} -if ( Channel.SND_TX_SEQ==(svc & Channel.SND_TX_SEQ) ) { -clusterSender.stop(); +if ( Channel.MBR_TX_SEQ==(svc & Channel.MBR_TX_SEQ) ) { +membershipService.stop(MembershipService.MBR_TX); valid = true; } - if ( Channel.MBR_RX_SEQ==(svc & Channel.MBR_RX_SEQ) ) { membershipService.stop(MembershipService.MBR_RX); membershipService.setMembershipListener(null); valid = true; } -if ( Channel.MBR_TX_SEQ==(svc & Channel.MBR_TX_SEQ) ) { +if ( Channel.SND_TX_SEQ==(svc & Channel.SND_TX_SEQ) ) { +clusterSender.stop(); +valid = true; +} +if ( Channel.SND_RX_SEQ==(svc & Channel.SND_RX_SEQ) ) { +clusterReceiver.stop(); +clusterReceiver.setMessageListener(null); valid = true; -membershipService.stop(MembershipService.MBR_TX); } if ( !valid) { throw new IllegalArgumentException(sm.getString("channelCoordinator.invalid.startLevel")); Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1836609&r1=1836608&r2=1836609&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Jul 25 08:09:59 2018 @@ -132,6 +132,10 @@ Ensures that the specified rxBufSize is correctly set to receiver buffer size. (kfujino) + +Correct the stop order of the Channel components. It stops in the +reverse order to that at startup. (kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building . Full details are available at: https://ci.apache.org/builders/tomcat-trunk/builds/3459 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: silvanus_ubuntu Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' triggered this build Build Source Stamp: [branch tomcat/trunk] 1836609 Blamelist: kfujino Build succeeded! Sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Duplicate registration of ServletContextListerner
Hi, Recently I am working on implementing a feature that can automatically register a ServletContextListerner instance, say A, to servletContext programmatically during startup. I use ServletContainerInitializer and call the servletContext.addListener() method. This is fine for most of the cases. But if user has specified A in web.xml, it turns that A will be registered twice, which will lead to undesired behavior. My expected behavior will be registering A only once regardless of user specified A in web.xml or not. I can achieve this by specifying A in web-fragment.xml, since it will get merged into web.xml whenever A is defined in web.xml or not, which means duplicates can be removed. I am wondering why we can not achieve this using programatic API. I've checked servlet 4.0/3.1 spec, in 4.4.3.1 "void addListener(String className)", it says: If the class with the given name implements a listener interface whose invocation order corresponds to the declaration order, that is, if it implements javax.servlet.ServletRequestListener, javax.servlet.ServletContextListener or javax.servlet.http.HttpSessionListener, then the new listener will be added to the end of the ordered list of listeners of that interface. It looks tomcat's behavior is spec-compliant. My idea is if I can get all the existing listeners from servletContext, then I can decide whether to add A or not. But I can't find that kind of API from servletContext. I also noticed that there are getServletRegistrations() and getFilterRegistrations() in servletContext, why can't we have API like getListeners()? -- Best Regards! Huxing - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 62569] New: Async servlet setReadListener does not work if post request data arrives much later than headers
https://bz.apache.org/bugzilla/show_bug.cgi?id=62569 Bug ID: 62569 Summary: Async servlet setReadListener does not work if post request data arrives much later than headers Product: Tomcat 9 Version: 9.0.10 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Servlet Assignee: dev@tomcat.apache.org Reporter: zdap...@google.com Target Milestone: - In async mode, servlet sets a ReadListener, and invokes onDataAvailable callbacks. If a client first sends out a POST request headers, then 2 seconds later sends out the payload. The ReadListener callbacks will never be invoked, and the client never receives a response. Glassfish 5.0 does not have this issue. This may not be a serious problem for HTTP/1.1 and servlet 3.1, but it is a problem for HTTP/2 and servlet 4.0 because HTTP/2 is ful-duplex. See the servlet code snippet in the Java EE tutorial example: https://javaee.github.io/tutorial/servlets013.html Client side command: telnet localhost 8080 POST /asyncioservlet HTTP/1.1 Host: localhost Content-Type: application/json Transfer-Encoding: chunked 10 {"key1":"value"} 0 -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Duplicate registration of ServletContextListerner
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Huxing, On 7/25/18 11:28 AM, Huxing Zhang wrote: > Hi, > > Recently I am working on implementing a feature that can > automatically register a ServletContextListerner instance, say A, > to servletContext programmatically during startup. > > I use ServletContainerInitializer and call the > servletContext.addListener() method. This is fine for most of the > cases. But if user has specified A in web.xml, it turns that A will > be registered twice, which will lead to undesired behavior. > > My expected behavior will be registering A only once regardless of > user specified A in web.xml or not. > > I can achieve this by specifying A in web-fragment.xml, since it > will get merged into web.xml whenever A is defined in web.xml or > not, which means duplicates can be removed. > > I am wondering why we can not achieve this using programatic API. > > I've checked servlet 4.0/3.1 spec, in 4.4.3.1 "void > addListener(String className)", it says: > > If the class with the given name implements a listener interface > whose invocation order corresponds to the declaration order, that > is, if it implements javax.servlet.ServletRequestListener, > javax.servlet.ServletContextListener or > javax.servlet.http.HttpSessionListener, then the new listener will > be added to the end of the ordered list of listeners of that > interface. > > It looks tomcat's behavior is spec-compliant. > > My idea is if I can get all the existing listeners from > servletContext, then I can decide whether to add A or not. > > But I can't find that kind of API from servletContext. > > I also noticed that there are getServletRegistrations() and > getFilterRegistrations() in servletContext, why can't we have API > like getListeners()? Can you think of a use-case where addListener() shouldn't automatically perform de-duplication? I'm thinking that Tomcat should simply take a call to addListener() and ignore any registrations after the first one. Would that make sense? Would it violate any spec-defined behavior? - -chris -BEGIN PGP SIGNATURE- Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAltYyDIACgkQHPApP6U8 pFhSmA//We21JrL+KwpbPrNgicIM0T77/WFMQyNoaFrW0+QdJ96CUAWYr6NKn17t 0Y0mk9WpRDSIsknpXPTYfisO1RllO7Mde1KuGH6EUMZyYWr84E9YhqBVyOHG48if Y/COneCHK3Gs7QlywgRhyKDZFogDFS/X5zW+AGctFIdcdgBu0z8U85a/wlPLUTuk XA00qPLrIWSXerB97nsqcdreh7Qs2Uyx3Eye74JE4RwzRYkGVYrMuPpPQwudbAUF f2fgAHC5lrJBGLK4yiFce53KcwTzeyBM2yskux/1y02NUyHIASpjV8DqADthV61o SOFgG25PJChShsLQipjhcNQtqiluP4FNo1sN78ieMABfOm1zlIh4T4/4M8VD0MqP qdoXgqC8vEsCiGUY7rqQKIRTAe6Hpf2yz6Oygwhfk+6z2CpJ4RQfsAFMVJMf2KOM wjb6akXnrEzxPG6UEVxtep2cLLVraHlbjDHzNqMrecBC2EYHU/Ovh+gpsHXtJG8v +Koh9HR2Ps5h92PI5ND39JsD1KyNhO+zayYD/a+I9ryrQEKV584JyU6q3vyWIwXk m8eDlYo0ChCeiGwQ22bAOsdKYTJHruGPEg92VbbDipPLJ+8uzAbtEAlXmiGYkv2B Q3EtprVkD1sI88v/iRU8QZg7ux5ebKDHGIk1f33BP3AYUWnwcyY= =jKMW -END PGP SIGNATURE- - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[INFRA] Tomcat cannot be built due to back mirrors
Folks, we need to inquire this with INFRA: PS D:\Entwicklung\Projekte\tomcat-8.5.x> ant Buildfile: D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml download-compile: testexist: [echo] Testing for C:\Users\mosipov/tomcat-build-libs/commons-daemon-1.1.0/commons-daemon-1.1.0.jar downloadgz-2: setproxy: trydownload.check: trydownload: [get] Getting: https://www.apache.org/dyn/closer.lua?action=download&filename=/commons/daemon/binaries/commons-daemon-1.1.0-bin.tar.gz [get] To: C:\Users\mosipov\tomcat-build-libs\download-1214738004.tar.gz [get] https://www.apache.org/dyn/closer.lua?action=download&filename=/commons/daemon/binaries/commons-daemon-1.1.0-bin.tar.gz moved to http://ftp.fau.de/apache//commons/daemon/binaries/commons-daemon-1.1.0-bin.tar.gz BUILD FAILED D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml:2618: The following error occurred while executing this line: D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml:2924: The following error occurred while executing this line: D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml:3040: Redirection detected from https to http. Protocol switch unsafe, not allowed. I am on PS D:\Entwicklung\Projekte\tomcat-8.5.x> ant -version Apache Ant(TM) version 1.10.5 compiled on July 10 2018 Do we need to have all HTTP mirrors dropped/checked for HTTPS? Michael - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [INFRA] Tomcat cannot be built due to back mirrors
2018-07-25 22:33 GMT+03:00 Michael Osipov : > Folks, > > we need to inquire this with INFRA: >> >> PS D:\Entwicklung\Projekte\tomcat-8.5.x> ant >> Buildfile: D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml >> >> download-compile: >> >> testexist: >> [echo] Testing for >> C:\Users\mosipov/tomcat-build-libs/commons-daemon-1.1.0/commons-daemon-1.1.0.jar >> >> downloadgz-2: >> >> setproxy: >> >> trydownload.check: >> >> trydownload: >> [get] Getting: >> https://www.apache.org/dyn/closer.lua?action=download&filename=/commons/daemon/binaries/commons-daemon-1.1.0-bin.tar.gz >> [get] To: >> C:\Users\mosipov\tomcat-build-libs\download-1214738004.tar.gz >> [get] >> https://www.apache.org/dyn/closer.lua?action=download&filename=/commons/daemon/binaries/commons-daemon-1.1.0-bin.tar.gz >> moved to >> http://ftp.fau.de/apache//commons/daemon/binaries/commons-daemon-1.1.0-bin.tar.gz >> >> BUILD FAILED >> D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml:2618: The following error >> occurred while executing this line: >> D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml:2924: The following error >> occurred while executing this line: >> D:\Entwicklung\Projekte\tomcat-8.5.x\build.xml:3040: Redirection detected >> from https to http. Protocol switch unsafe, not allowed. See https://bz.apache.org/bugzilla/show_bug.cgi?id=62164 and https://lists.apache.org/thread.html/f8b04ca6e28e9a9e0fde895df266bec2fd95027791286ab6665dc49a@%3Cdev.tomcat.apache.org%3E "Tag Tomcat 7/8.0" thread of 2018-06-28 I think that we have to revert to using HTTP at least for ASF mirror in Tomcat configuration, as Ant bug has been fixed in 1.9.13/1.10.5 Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Duplicate registration of ServletContextListerner
Hi, On Thu, Jul 26, 2018 at 2:57 AM, Christopher Schultz wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA256 > > Huxing, > > On 7/25/18 11:28 AM, Huxing Zhang wrote: >> Hi, >> >> Recently I am working on implementing a feature that can >> automatically register a ServletContextListerner instance, say A, >> to servletContext programmatically during startup. >> >> I use ServletContainerInitializer and call the >> servletContext.addListener() method. This is fine for most of the >> cases. But if user has specified A in web.xml, it turns that A will >> be registered twice, which will lead to undesired behavior. >> >> My expected behavior will be registering A only once regardless of >> user specified A in web.xml or not. >> >> I can achieve this by specifying A in web-fragment.xml, since it >> will get merged into web.xml whenever A is defined in web.xml or >> not, which means duplicates can be removed. >> >> I am wondering why we can not achieve this using programatic API. >> >> I've checked servlet 4.0/3.1 spec, in 4.4.3.1 "void >> addListener(String className)", it says: >> >> If the class with the given name implements a listener interface >> whose invocation order corresponds to the declaration order, that >> is, if it implements javax.servlet.ServletRequestListener, >> javax.servlet.ServletContextListener or >> javax.servlet.http.HttpSessionListener, then the new listener will >> be added to the end of the ordered list of listeners of that >> interface. >> >> It looks tomcat's behavior is spec-compliant. >> >> My idea is if I can get all the existing listeners from >> servletContext, then I can decide whether to add A or not. >> >> But I can't find that kind of API from servletContext. >> >> I also noticed that there are getServletRegistrations() and >> getFilterRegistrations() in servletContext, why can't we have API >> like getListeners()? > > Can you think of a use-case where addListener() shouldn't > automatically perform de-duplication? No, I can't think of that case. If there is really a case, I think we can use javax.servlet.ServletContext#setInitParameter to control that behavior. For example, use a initialization parameter named DEDUPLICATE_LISTENERS, if set to true, any further registration will be de-duplicated. This parameter is better to be a per call parameter rather than a global parameter, because it might be updated from multiple place. Overall, I don't think it is necessary to have unless there is a case. > I'm thinking that Tomcat should > simply take a call to addListener() and ignore any registrations after > the first one. Yes, I think it is important to have consistent behavior between web-fragement/@WebListener and programmatic API. > > Would that make sense? Would it violate any spec-defined behavior? I can't find any spec describing how to handle the duplications on that part, so I guess it is safe to do so. :) Maybe we can improve spec as well. > > - -chris > -BEGIN PGP SIGNATURE- > Comment: GPGTools - http://gpgtools.org > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAltYyDIACgkQHPApP6U8 > pFhSmA//We21JrL+KwpbPrNgicIM0T77/WFMQyNoaFrW0+QdJ96CUAWYr6NKn17t > 0Y0mk9WpRDSIsknpXPTYfisO1RllO7Mde1KuGH6EUMZyYWr84E9YhqBVyOHG48if > Y/COneCHK3Gs7QlywgRhyKDZFogDFS/X5zW+AGctFIdcdgBu0z8U85a/wlPLUTuk > XA00qPLrIWSXerB97nsqcdreh7Qs2Uyx3Eye74JE4RwzRYkGVYrMuPpPQwudbAUF > f2fgAHC5lrJBGLK4yiFce53KcwTzeyBM2yskux/1y02NUyHIASpjV8DqADthV61o > SOFgG25PJChShsLQipjhcNQtqiluP4FNo1sN78ieMABfOm1zlIh4T4/4M8VD0MqP > qdoXgqC8vEsCiGUY7rqQKIRTAe6Hpf2yz6Oygwhfk+6z2CpJ4RQfsAFMVJMf2KOM > wjb6akXnrEzxPG6UEVxtep2cLLVraHlbjDHzNqMrecBC2EYHU/Ovh+gpsHXtJG8v > +Koh9HR2Ps5h92PI5ND39JsD1KyNhO+zayYD/a+I9ryrQEKV584JyU6q3vyWIwXk > m8eDlYo0ChCeiGwQ22bAOsdKYTJHruGPEg92VbbDipPLJ+8uzAbtEAlXmiGYkv2B > Q3EtprVkD1sI88v/iRU8QZg7ux5ebKDHGIk1f33BP3AYUWnwcyY= > =jKMW > -END PGP SIGNATURE- > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > -- Best Regards! Huxing - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump-vm3]: Project tomcat-trunk-test-nio2 (in module tomcat-trunk) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-trunk-test-nio2 has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-trunk-test-nio2 : Tomcat 9.x, a web server implementing the Java Servlet 4.0, ... Full details are available at: http://vmgump-vm3.apache.org/tomcat-trunk/tomcat-trunk-test-nio2/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on bnd exists, no need to add for property bndlib.jar. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/logs-NIO2 -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs -WARNING- No directory [/srv/gump/public/workspace/tomcat-trunk/output/test-tmp-NIO2/logs] The following work was performed: http://vmgump-vm3.apache.org/tomcat-trunk/tomcat-trunk-test-nio2/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio2.html Work Name: build_tomcat-trunk_tomcat-trunk-test-nio2 (Type: Build) Work ended in a state of : Failed Elapsed: 27 mins 14 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only -Dsun.zip.disableMemoryMapping=true org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Djava.net.preferIPv4Stack=/srv/gump/public/workspace/tomcat-trunk/true -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.7-SNAPSHOT.jar -Dtest.reports=output/logs-NIO2 -Dexecute.test.nio2=true -Dexamples.sources.skip=true -Dbase.path=/srv/gump/public/workspace/tomcat-trunk/tomcat-build-libs -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.7.3a-201803300640/ecj-4.7.3a.jar -Dbndlib.jar=/srv/gump/packages/bnd/bndlib-4.0.0/biz.aQute.bndlib-4.0.0.jar -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/target/commons-daemon-1.1.1-SNAPSHOT.jar -Dtest.openssl.path=/srv/gump/public/workspace/openssl-master/dest-20180726/bin/openssl -Dtest.temp=output/test-tmp-NIO2 -Dtest.accesslog=true -Dexecute.test.nio=false -Dbnd.jar=/srv/gump/packages/bnd/bnd-4.0.0/biz.aQute.bnd-4.0.0.jar -Dexecute.test.apr=false -Dtest.excludePerformance=true -Dtest.relaxTiming=true -Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.7-SNAPSHOT.jar -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-trunk] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jaspic-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/bu ild/lib