You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Volker <to...@webchannel.de> on 2011/07/26 16:29:20 UTC
Problems after updating from Tomcat 3.3 to 4.1: http tunneling servlet
not working anymore
Hello,
my current system configuration is like following:
- FreeBSD 8.2
- apache-2.2.17_2
- mod_jk-ap2-1.2.31_1 Apache2 JK
- tomcat 4.1.36_2
- diablo-jdk1.6.0
In order to provide a http tunneling for a chat server I have been
using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and
diablo-jre1.5.0 in combination with a certain http tunneling servlet
*without any problems* for several years.
That http tunneling servlet is passed via a chat applet via "<PARAM
NAME='HttpServlet'
VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
The configuration for that system above _*can be found below*_ *=>
Configuration for tomcat 3.3
*After upgrading to FreeBSD 8.2 I had to upgrade from tomcat 3.3 to 4.1
because I did not find any port for tomcat version 3.3.
I do not manage to make the httpd tunneling applet running correctly
with ajp1.3 but I think it does not depend on the connector but a
misconfigured mapping.
I guess that following warning in mod_jk.log shows up the reason for my
problem when requesting
http://test.Domain.com/servlet/*HttpTunnelingServletdc*'
*[Tue Jul 26 13:00:56.615 2011] [36163:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri
must start with /*
However the tomcat 4.1 start page is accessible via http://domain:8180
and working correctly!
Below you find the configuration of my current system under FreeBSD
mentioned above with tomcat 4.1.36 and apache 2.2.17 which does not run
correctly _and the configuration for tomcat 3.3 which is running
correctly_.*
*Since I am not familiar with tomcat I would be glad if someone could
give me a hint to solve my problem.
Or maybe someone can give me some hints for how to compile tomcat 3.3
sources for FreeBSD ;-)
Thanks a lot and best regards
Volker
*
============================================================================
NOT WORKING
Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
mod_jk-ap2-1.2.31, Diablo JDK 1.6)
**============================================================================
The servlet classes result in:
*/usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
*/usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
*/usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
...
*
httpd.conf
*JkWorkersFile "/usr/local/etc/apache22/workers.properties"
JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
JkShmFile /var/log/jk-runtime-status
JkLogLevel info
*
workers.properties
*workers.java_home=/usr/local/diablo-jdk1.6.0
workers.tomcat_home=/usr/local/apache-tomcat4.1
worker.list=jsp-hostname
worker.jsp-hostname.port=8009
worker.jsp-hostname.host=127.0.0.1
worker.jsp-hostname.type=ajp13
worker.jsp-hostname.lbfactor=1*
**server.xml*
<Service name="Tomcat-Standalone">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8180" enableLookups="true" redirectPort="8443"
acceptCount="100" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" enableLookups="true" redirectPort="8443"
connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />
<Engine name="Standalone" defaultHost="localhost" debug="0"
jvmRoute="jsp-hostname">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>
<!-- Tomcat Root Context -->
<Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
</Context>
<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="1" reloadable="true"
crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
<Ejb name="ejb/EmplRecord" type="Entity"
home="com.wombat.empl.EmployeeRecordHome"
remote="com.wombat.empl.EmployeeRecord"/>
*web.xml*
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>
HttpTunnelingServletdc
</servlet-name>
<servlet-class>
*com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
</servlet-class>
<init-param>
<param-name>Host</param-name>
<param-value>localhost</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpTunnelingServletdc</servlet-name>
<url-pattern>/HttpTunnelingServletdc</url-pattern>
</servlet-mapping>
</web-app>
*catalina.out*
StandardEngine[null]: setJvmRoute=jsp-hostname
Jul 26, 2011 11:25:19 AM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8180
Starting service Tomcat-Standalone
Apache Tomcat/4.1.36
HTTP Tunnel connected to the digichat server localhost
HTTP Tunnel connected to the digichat server localhost
Jul 26, 2011 11:25:20 AM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8180
Jul 26, 2011 11:25:20 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 26, 2011 11:25:20 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/17 config=null
*mod_jk.log*
[Tue Jul 26 11:25:13.007 2011] [35031:34382823872] [info]
init_jk::mod_jk.c (3198): mod_jk/1.2.31 (1026297) initialized
[Tue Jul 26 11:29:37.458 2011] [35103:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri
must start with /
[Tue Jul 26 11:30:15.672 2011] [35034:34382823872] [warn]
map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri
must start with /
*ROOT-http-tunneling_log.2011-07-26.txt*
2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploying class repositories to
work directory /usr/local/apache-tomcat4.1/work/Standalone/localhost/ROOT
2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploy class files
/WEB-INF/classes to /usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes
2011-07-26 11:25:19 WebappLoader[/ROOT]: Reloading checks are enabled
for this Context
2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding random number
generator class java.security.SecureRandom
2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding of random number
generator has been completed
2011-07-26 11:25:19 StandardWrapper[/ROOT:default]: Loading container
servlet default
2011-07-26 11:25:19 StandardWrapper[/ROOT:invoker]: Loading container
servlet invoker
*Requesting http://www.domain.com/servlet/HttpTunnelingServletdc via
Browser results in:*
HTTP Status 500 -
*type* Exception report
*message*
*description* _The server encountered an internal error () that
prevented it from fulfilling this request._
*exception*
javax.servlet.ServletException
at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
*root cause*
java.lang.NullPointerException
at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
------------------------------------------------------------------------
Apache Tomcat/4.1.3
===================================================================================
*WORKING
Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2,
mod_jk 1.2.15, Diablo JRE 1.5)
**============================================================================*
*
SERVER.XML
* (jakarta-tomcat3.3/conf)
<Ajp12Connector port="8007" />
*web.xml*
(/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
<servlet>
<servlet-name>
HttpTunnelingServletdc
</servlet-name>
<servlet-class>
com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
</servlet-class>
<init-param>
<param-name>Host</param-name>
<param-value>localhost</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HttpTunnelingServlet</servlet-name>
<url-pattern>/HttpTunnelingServlet</url-pattern>
</servlet-mapping>
</web-app>
*workers.properties*
worker.ajp12.type=ajp12
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.lbfactor=1
*mod_jk.conf*
<IfModule !mod_jk.c>
LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
</IfModule>
JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
JkShmFile /var/log/jk-runtime-status
JkLogLevel info
JkMount /servlet/* ajp12
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Volker <to...@webchannel.de>.
I forget to mention that in httpd.conf the connectors are integrated
like following:
<virtualhost domain.com test.domain.com>
....
JkMount /servlet jsp-hostname
JkMount /servlet/* jsp-hostname
</virtualhost>
Best regards
Volker
Am 26.07.2011 16:29, schrieb Volker:
> Hello,
>
> my current system configuration is like following:
>
> - FreeBSD 8.2
> - apache-2.2.17_2
> - mod_jk-ap2-1.2.31_1 Apache2 JK
> - tomcat 4.1.36_2
> - diablo-jdk1.6.0
>
> In order to provide a http tunneling for a chat server I have been
> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector)
> and diablo-jre1.5.0 in combination with a certain http tunneling
> servlet *without any problems* for several years.
> That http tunneling servlet is passed via a chat applet via "<PARAM
> NAME='HttpServlet'
> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
> The configuration for that system above _*can be found below*_ *=>
> Configuration for tomcat 3.3
>
> *After upgrading to FreeBSD 8.2 I had to upgrade from tomcat 3.3 to
> 4.1 because I did not find any port for tomcat version 3.3.
> I do not manage to make the httpd tunneling applet running correctly
> with ajp1.3 but I think it does not depend on the connector but a
> misconfigured mapping.
>
> I guess that following warning in mod_jk.log shows up the reason for
> my problem when requesting
> http://test.Domain.com/servlet/*HttpTunnelingServletdc*'
> *[Tue Jul 26 13:00:56.615 2011] [36163:34382823872] [warn]
> map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid.
> Uri must start with /*
>
> However the tomcat 4.1 start page is accessible via http://domain:8180
> and working correctly!
>
> Below you find the configuration of my current system under FreeBSD
> mentioned above with tomcat 4.1.36 and apache 2.2.17 which does not
> run correctly _and the configuration for tomcat 3.3 which is running
> correctly_.*
>
> *Since I am not familiar with tomcat I would be glad if someone could
> give me a hint to solve my problem.
> Or maybe someone can give me some hints for how to compile tomcat 3.3
> sources for FreeBSD ;-)
>
>
> Thanks a lot and best regards
>
> Volker
> *
> ============================================================================
>
> NOT WORKING
> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
> **============================================================================
>
>
> The servlet classes result in:
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
> ...
> *
> httpd.conf
> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
> JkShmFile /var/log/jk-runtime-status
> JkLogLevel info
> *
> workers.properties
> *workers.java_home=/usr/local/diablo-jdk1.6.0
> workers.tomcat_home=/usr/local/apache-tomcat4.1
> worker.list=jsp-hostname
> worker.jsp-hostname.port=8009
> worker.jsp-hostname.host=127.0.0.1
> worker.jsp-hostname.type=ajp13
> worker.jsp-hostname.lbfactor=1*
>
> **server.xml*
> <Service name="Tomcat-Standalone">
> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
> port="8180" enableLookups="true" redirectPort="8443"
> acceptCount="100" connectionTimeout="20000"
> useURIValidationHack="false"
> disableUploadTimeout="true" />
>
> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
> port="8009" enableLookups="true" redirectPort="8443"
> connectionTimeout="0"
> useURIValidationHack="false"
>
> protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />
>
> <Engine name="Standalone" defaultHost="localhost" debug="0"
> jvmRoute="jsp-hostname">
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="catalina_log." suffix=".txt"
> timestamp="true"/>
>
> <!-- Define the default virtual host -->
> <Host name="localhost" debug="0" appBase="webapps"
> unpackWARs="true" autoDeploy="true">
>
> <Logger className="org.apache.catalina.logger.FileLogger"
> directory="logs" prefix="localhost_log." suffix=".txt"
> timestamp="true"/>
>
> <!-- Tomcat Root Context -->
>
> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
> crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
> </Context>
>
> <!-- Tomcat Examples Context -->
> <Context path="/examples" docBase="examples" debug="1"
> reloadable="true" crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
> <Ejb name="ejb/EmplRecord" type="Entity"
> home="com.wombat.empl.EmployeeRecordHome"
> remote="com.wombat.empl.EmployeeRecord"/>
>
>
> *web.xml*
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/web-app_2_3.dtd">
> <web-app>
> <servlet>
> <servlet-name>
> HttpTunnelingServletdc
> </servlet-name>
> <servlet-class>
> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
> </servlet-class>
> <init-param>
> <param-name>Host</param-name>
> <param-value>localhost</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>invoker</servlet-name>
> <url-pattern>/servlet/*</url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>HttpTunnelingServletdc</servlet-name>
> <url-pattern>/HttpTunnelingServletdc</url-pattern>
> </servlet-mapping>
> </web-app>
>
> *catalina.out*
> StandardEngine[null]: setJvmRoute=jsp-hostname
> Jul 26, 2011 11:25:19 AM org.apache.coyote.http11.Http11BaseProtocol init
> INFO: Initializing Coyote HTTP/1.1 on http-8180
> Starting service Tomcat-Standalone
> Apache Tomcat/4.1.36
> HTTP Tunnel connected to the digichat server localhost
> HTTP Tunnel connected to the digichat server localhost
> Jul 26, 2011 11:25:20 AM org.apache.coyote.http11.Http11BaseProtocol
> start
> INFO: Starting Coyote HTTP/1.1 on http-8180
> Jul 26, 2011 11:25:20 AM org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:8009
> Jul 26, 2011 11:25:20 AM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/17 config=null
>
> *mod_jk.log*
> [Tue Jul 26 11:25:13.007 2011] [35031:34382823872] [info]
> init_jk::mod_jk.c (3198): mod_jk/1.2.31 (1026297) initialized
> [Tue Jul 26 11:29:37.458 2011] [35103:34382823872] [warn]
> map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid.
> Uri must start with /
> [Tue Jul 26 11:30:15.672 2011] [35034:34382823872] [warn]
> map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid.
> Uri must start with /
>
> *ROOT-http-tunneling_log.2011-07-26.txt*
> 2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploying class repositories
> to work directory
> /usr/local/apache-tomcat4.1/work/Standalone/localhost/ROOT
> 2011-07-26 11:25:19 WebappLoader[/ROOT]: Deploy class files
> /WEB-INF/classes to
> /usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes
> 2011-07-26 11:25:19 WebappLoader[/ROOT]: Reloading checks are enabled
> for this Context
> 2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding random number
> generator class java.security.SecureRandom
> 2011-07-26 11:25:19 StandardManager[/ROOT]: Seeding of random number
> generator has been completed
> 2011-07-26 11:25:19 StandardWrapper[/ROOT:default]: Loading container
> servlet default
> 2011-07-26 11:25:19 StandardWrapper[/ROOT:invoker]: Loading container
> servlet invoker
>
>
> *Requesting http://www.domain.com/servlet/HttpTunnelingServletdc via
> Browser results in:*
>
>
> HTTP Status 500 -
>
> *type* Exception report
>
> *message*
>
> *description* _The server encountered an internal error () that
> prevented it from fulfilling this request._
>
> *exception*
>
> javax.servlet.ServletException
> at
> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
>
> *root cause*
>
> java.lang.NullPointerException
> at
> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:139)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2460)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:119)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:955)
> at
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:157)
> at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
> at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
> at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
> at
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
>
> ------------------------------------------------------------------------
>
>
> Apache Tomcat/4.1.3
>
>
> ===================================================================================
>
> *WORKING
> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat
> 3.3.2, mod_jk 1.2.15, Diablo JRE 1.5)
> **============================================================================*
>
> *
> SERVER.XML
> * (jakarta-tomcat3.3/conf)
> <Ajp12Connector port="8007" />
>
> *web.xml*
> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
> <servlet>
> <servlet-name>
> HttpTunnelingServletdc
> </servlet-name>
> <servlet-class>
> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
> </servlet-class>
> <init-param>
> <param-name>Host</param-name>
> <param-value>localhost</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>HttpTunnelingServlet</servlet-name>
> <url-pattern>/HttpTunnelingServlet</url-pattern>
> </servlet-mapping>
> </web-app>
>
> *workers.properties*
> worker.ajp12.type=ajp12
> worker.ajp12.port=8007
> worker.ajp12.host=localhost
> worker.ajp12.lbfactor=1
>
> *mod_jk.conf*
> <IfModule !mod_jk.c>
> LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
> </IfModule>
> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
> JkShmFile /var/log/jk-runtime-status
> JkLogLevel info
> JkMount /servlet/* ajp12
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Volker <to...@webchannel.de>.
Am 27.07.2011 19:34, schrieb Felix Schumacher:
> Hi Volker,
Hi Felix,
> Am Mittwoch, den 27.07.2011, 13:08 +0200 schrieb Volker:
>> Hallo Felix,
>>
>> I considered all tips you gave. Thanks again.
>>
>> Like mentioned before my configuration was running correctly but I could
>> not notice that because the http tunneling does need much more time
>> (first request of the httptunnelingdc-Servlet (I check this out in
>> Apache?s log-file) than my former configuration with tomcat.
> are you still using the invoker servlet, or are you using
> httptunnelingdc-Servlet with a url-path?
No, invoker servlet is not used anymore!
>> Now I wonder how I can tune something (Simultaneously I will install
>> tomcat 7.x) because I do not know if the slow-performance-problem
>> depends on tomcat settings or maybe on the Diablo-Java-Settings?
> I would bet, that the app is causing the delay.
Well, I guess that too. But since the applet code has not changed it
obviously depends on the Java-Plugin-version too!
>> The combination with tomcat 3.3, apj12, mod_jk, Diablo JRE 1.5 and
>> apache 1.3 results in opening the chat window via http tunneling in *a
>> few seconds* if you blocked all ports except port 80 before for Java
>> (Browser).
>> With tomcat 4.1 the same procedure needs nearly 3 minutes.
>>
>> Any idea?
> Look at
> http://wiki.apache.org/tomcat/FAQ/Troubleshooting_and_Diagnostics and
> find the troublemaker :) Common advise is to take a few threadtraces a
> few seconds apart. Then find stacktraces which apear to be stuck. Maybe
> it just tries to do a dns lookup or connect to some host until it times
> out.
No, ist has to do with the applet params for different ports you can
define for contacting the chat server.
For example defining the ports under which the chat server is listening
looks like following:
<param name='ports' value='ports=119,8080,58399'>
The the applet tries to reach the chat server via port 119. If that does
not work it continues with port 8080 etc.
If all ports fail, the http tunneling servlet is requested.
If you only define ports=119 which is blocked by your firewall
client-sided the http tunneling will be requested after 30 seconds.
Defining the 3 ports 119,8080 and 58399 results in nearly 3 minutes if
you are blocking those ports with a software firewall.
Best regards
Volker
> Regards
> Felix
>> Thanks and best regards
>>
>> V o l k e r
>>
>>
>> Am 26.07.2011 19:54, schrieb Felix Schumacher:
>>> Hi Volker,
>>>
>>> Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:
>>>> Hello,
>>>>
>>>> my current system configuration is like following:
>>>>
>>>> - FreeBSD 8.2
>>>> - apache-2.2.17_2
>>>> - mod_jk-ap2-1.2.31_1 Apache2 JK
>>>> - tomcat 4.1.36_2
>>> As you said elsewhere in this thread, that you are willing to upgrade to
>>> a newer tomcat as well, I will assume, that you will use tomcat 6 or
>>> even tomcat 7.
>>>> - diablo-jdk1.6.0
>>>>
>>>> In order to provide a http tunneling for a chat server I have been
>>>> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and
>>>> diablo-jre1.5.0 in combination with a certain http tunneling servlet
>>>> *without any problems* for several years.
>>>> That http tunneling servlet is passed via a chat applet via "<PARAM
>>>> NAME='HttpServlet'
>>>> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
>>>> The configuration for that system above _*can be found below*_ *=>
>>>> Configuration for tomcat 3.3
>>> That looks like you are using the strongly discouraged dispatcher
>>> servlet. That is still available, but disabled by default. And you
>>> should leave it that way.
>>> ...
>>>> Thanks a lot and best regards
>>>>
>>>> Volker
>>>> *
>>>> ============================================================================
>>>> NOT WORKING
>>>> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
>>>> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
>>>> **============================================================================
>>>>
>>>> The servlet classes result in:
>>>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
>>>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
>>>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
>>> I read that as: There are some files and directories under
>>> WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
>>> is your CATALINA_BASE and probably CATALINA_HOME too.
>>>> ...
>>>> *
>>>> httpd.conf
>>>> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
>>>> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
>>>> JkShmFile /var/log/jk-runtime-status
>>>> JkLogLevel info
>>> Looks OK.
>>>> *
>>>> workers.properties
>>>> *workers.java_home=/usr/local/diablo-jdk1.6.0
>>>> workers.tomcat_home=/usr/local/apache-tomcat4.1
>>> Remove both deprecated config options java_home and tomcat_home. They
>>> are not needed anymore.
>>>> worker.list=jsp-hostname
>>>> worker.jsp-hostname.port=8009
>>>> worker.jsp-hostname.host=127.0.0.1
>>>> worker.jsp-hostname.type=ajp13
>>>> worker.jsp-hostname.lbfactor=1*
>>>>
>>>> **server.xml*
>>> Copy the server.xml from a fresh tomcat download and replace your
>>> port-numbers in there.
>>>
>>>> <Service name="Tomcat-Standalone">
>>> ...
>>>
>>>> <!-- Tomcat Root Context -->
>>>>
>>>> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
>>>> crossContext="true">
>>>> <Logger className="org.apache.catalina.logger.FileLogger"
>>>> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
>>>> </Context>
>>>>
>>>> <!-- Tomcat Examples Context -->
>>>> <Context path="/examples" docBase="examples" debug="1" reloadable="true"
>>>> crossContext="true">
>>>> <Logger className="org.apache.catalina.logger.FileLogger"
>>>> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
>>>> <Ejb name="ejb/EmplRecord" type="Entity"
>>>> home="com.wombat.empl.EmployeeRecordHome"
>>>> remote="com.wombat.empl.EmployeeRecord"/>
>>> Your context descriptions for ROOT and example would be placed in newly
>>> created files named ROOT.xml and example.xml under
>>> $CATALINA_BASE/conf/Catalina/localhost. But I seriously doubt, that you
>>> need example.xml and ROOT.xml is not needed, if all you want to achieve
>>> is logging. Look at http://tomcat.apache.org/tomcat-7.0-doc/logging.html
>>> for more info about simple logging.
>>>> *web.xml*
>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>> <!DOCTYPE web-app
>>>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>>>> "http://java.sun.com/dtd/web-app_2_3.dtd">
>>> You could update your webapp to a newer version by replacing the above
>>> values, but they should do no harm.
>>>> <web-app>
>>>> <servlet>
>>>> <servlet-name>
>>>> HttpTunnelingServletdc
>>>> </servlet-name>
>>>> <servlet-class>
>>>> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
>>>> </servlet-class>
>>>> <init-param>
>>>> <param-name>Host</param-name>
>>>> <param-value>localhost</param-value>
>>>> </init-param>
>>>> <load-on-startup>1</load-on-startup>
>>>> </servlet>
>>>> <servlet-mapping>
>>>> <servlet-name>invoker</servlet-name>
>>>> <url-pattern>/servlet/*</url-pattern>
>>>> </servlet-mapping>
>>>> <servlet-mapping>
>>>> <servlet-name>HttpTunnelingServletdc</servlet-name>
>>>> <url-pattern>/HttpTunnelingServletdc</url-pattern>
>>>> </servlet-mapping>
>>> Instead of mapping a not configured servlet named invoker to /servlet/*
>>> you should map your servlet named HttpTunnelingServletdc
>>> to /servlet/HttpTunnelingServletdc or alternatively change your applet
>>> configuration from top of your post.
>>>
>>> So remove
>>> <servlet-mapping><servlet-name>invoker</servlet-name>...</servlet-mapping>
>>> and change url-pattern in the<servlet-mapping>
>>> from /HttpTunnelingServletdc to /servlet/HttpTunnelingServletdc
>>>> </web-app>
>>>>
>>> ...
>>>> *description* _The server encountered an internal error () that
>>>> prevented it from fulfilling this request._
>>>>
>>>> *exception*
>>>>
>>>> javax.servlet.ServletException
>>>> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>>> ...
>>>> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
>>>> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>>>> at java.lang.Thread.run(Thread.java:619)
>>>>
>>>> *root cause*
>>>>
>>>> java.lang.NullPointerException
>>>> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
>>> Hopefully you have the source code for HttpTunnelingServlet since this
>>> line means, your servlet gets invoked, but it is not happy to work :)
>>> That might come from the fact, that you configured the servlet
>>> HttpTunnelingServletdc, but used the invoker-servlet. Chances are, that
>>> the proposed configuration chages in web.xml fix this.
>>>
>>> HTH
>>> Felix
>>>
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
>>> ...
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> Apache Tomcat/4.1.3
>>>>
>>>>
>>>> ===================================================================================
>>>> *WORKING
>>>> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2,
>>>> mod_jk 1.2.15, Diablo JRE 1.5)
>>>> **============================================================================*
>>>> *
>>>> SERVER.XML
>>>> * (jakarta-tomcat3.3/conf)
>>>> <Ajp12Connector port="8007" />
>>>>
>>>> *web.xml*
>>>> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>>
>>>> <!DOCTYPE web-app
>>>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>>>> "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
>>>> <servlet>
>>>> <servlet-name>
>>>> HttpTunnelingServletdc
>>>> </servlet-name>
>>>> <servlet-class>
>>>> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
>>>> </servlet-class>
>>>> <init-param>
>>>> <param-name>Host</param-name>
>>>> <param-value>localhost</param-value>
>>>> </init-param>
>>>> <load-on-startup>1</load-on-startup>
>>>> </servlet>
>>>> <servlet-mapping>
>>>> <servlet-name>HttpTunnelingServlet</servlet-name>
>>>> <url-pattern>/HttpTunnelingServlet</url-pattern>
>>>> </servlet-mapping>
>>>> </web-app>
>>>>
>>>> *workers.properties*
>>>> worker.ajp12.type=ajp12
>>>> worker.ajp12.port=8007
>>>> worker.ajp12.host=localhost
>>>> worker.ajp12.lbfactor=1
>>>>
>>>> *mod_jk.conf*
>>>> <IfModule !mod_jk.c>
>>>> LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
>>>> </IfModule>
>>>> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
>>>> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
>>>> JkShmFile /var/log/jk-runtime-status
>>>> JkLogLevel info
>>>> JkMount /servlet/* ajp12
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Felix Schumacher <fe...@internetallee.de>.
Hi Volker,
Am Mittwoch, den 27.07.2011, 13:08 +0200 schrieb Volker:
> Hallo Felix,
>
> I considered all tips you gave. Thanks again.
>
> Like mentioned before my configuration was running correctly but I could
> not notice that because the http tunneling does need much more time
> (first request of the httptunnelingdc-Servlet (I check this out in
> Apache?s log-file) than my former configuration with tomcat.
are you still using the invoker servlet, or are you using
httptunnelingdc-Servlet with a url-path?
>
> Now I wonder how I can tune something (Simultaneously I will install
> tomcat 7.x) because I do not know if the slow-performance-problem
> depends on tomcat settings or maybe on the Diablo-Java-Settings?
I would bet, that the app is causing the delay.
>
> The combination with tomcat 3.3, apj12, mod_jk, Diablo JRE 1.5 and
> apache 1.3 results in opening the chat window via http tunneling in *a
> few seconds* if you blocked all ports except port 80 before for Java
> (Browser).
> With tomcat 4.1 the same procedure needs nearly 3 minutes.
>
> Any idea?
Look at
http://wiki.apache.org/tomcat/FAQ/Troubleshooting_and_Diagnostics and
find the troublemaker :) Common advise is to take a few threadtraces a
few seconds apart. Then find stacktraces which apear to be stuck. Maybe
it just tries to do a dns lookup or connect to some host until it times
out.
Regards
Felix
>
> Thanks and best regards
>
> V o l k e r
>
>
> Am 26.07.2011 19:54, schrieb Felix Schumacher:
> > Hi Volker,
> >
> > Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:
> >> Hello,
> >>
> >> my current system configuration is like following:
> >>
> >> - FreeBSD 8.2
> >> - apache-2.2.17_2
> >> - mod_jk-ap2-1.2.31_1 Apache2 JK
> >> - tomcat 4.1.36_2
> > As you said elsewhere in this thread, that you are willing to upgrade to
> > a newer tomcat as well, I will assume, that you will use tomcat 6 or
> > even tomcat 7.
> >> - diablo-jdk1.6.0
> >>
> >> In order to provide a http tunneling for a chat server I have been
> >> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and
> >> diablo-jre1.5.0 in combination with a certain http tunneling servlet
> >> *without any problems* for several years.
> >> That http tunneling servlet is passed via a chat applet via "<PARAM
> >> NAME='HttpServlet'
> >> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
> >> The configuration for that system above _*can be found below*_ *=>
> >> Configuration for tomcat 3.3
> > That looks like you are using the strongly discouraged dispatcher
> > servlet. That is still available, but disabled by default. And you
> > should leave it that way.
> > ...
> >> Thanks a lot and best regards
> >>
> >> Volker
> >> *
> >> ============================================================================
> >> NOT WORKING
> >> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
> >> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
> >> **============================================================================
> >>
> >> The servlet classes result in:
> >> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
> >> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
> >> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
> > I read that as: There are some files and directories under
> > WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
> > is your CATALINA_BASE and probably CATALINA_HOME too.
> >> ...
> >> *
> >> httpd.conf
> >> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
> >> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
> >> JkShmFile /var/log/jk-runtime-status
> >> JkLogLevel info
> > Looks OK.
> >> *
> >> workers.properties
> >> *workers.java_home=/usr/local/diablo-jdk1.6.0
> >> workers.tomcat_home=/usr/local/apache-tomcat4.1
> > Remove both deprecated config options java_home and tomcat_home. They
> > are not needed anymore.
> >> worker.list=jsp-hostname
> >> worker.jsp-hostname.port=8009
> >> worker.jsp-hostname.host=127.0.0.1
> >> worker.jsp-hostname.type=ajp13
> >> worker.jsp-hostname.lbfactor=1*
> >>
> >> **server.xml*
> > Copy the server.xml from a fresh tomcat download and replace your
> > port-numbers in there.
> >
> >> <Service name="Tomcat-Standalone">
> > ...
> >
> >> <!-- Tomcat Root Context -->
> >>
> >> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
> >> crossContext="true">
> >> <Logger className="org.apache.catalina.logger.FileLogger"
> >> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
> >> </Context>
> >>
> >> <!-- Tomcat Examples Context -->
> >> <Context path="/examples" docBase="examples" debug="1" reloadable="true"
> >> crossContext="true">
> >> <Logger className="org.apache.catalina.logger.FileLogger"
> >> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
> >> <Ejb name="ejb/EmplRecord" type="Entity"
> >> home="com.wombat.empl.EmployeeRecordHome"
> >> remote="com.wombat.empl.EmployeeRecord"/>
> > Your context descriptions for ROOT and example would be placed in newly
> > created files named ROOT.xml and example.xml under
> > $CATALINA_BASE/conf/Catalina/localhost. But I seriously doubt, that you
> > need example.xml and ROOT.xml is not needed, if all you want to achieve
> > is logging. Look at http://tomcat.apache.org/tomcat-7.0-doc/logging.html
> > for more info about simple logging.
> >>
> >> *web.xml*
> >> <?xml version="1.0" encoding="ISO-8859-1"?>
> >> <!DOCTYPE web-app
> >> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> >> "http://java.sun.com/dtd/web-app_2_3.dtd">
> > You could update your webapp to a newer version by replacing the above
> > values, but they should do no harm.
> >> <web-app>
> >> <servlet>
> >> <servlet-name>
> >> HttpTunnelingServletdc
> >> </servlet-name>
> >> <servlet-class>
> >> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
> >> </servlet-class>
> >> <init-param>
> >> <param-name>Host</param-name>
> >> <param-value>localhost</param-value>
> >> </init-param>
> >> <load-on-startup>1</load-on-startup>
> >> </servlet>
> >> <servlet-mapping>
> >> <servlet-name>invoker</servlet-name>
> >> <url-pattern>/servlet/*</url-pattern>
> >> </servlet-mapping>
> >> <servlet-mapping>
> >> <servlet-name>HttpTunnelingServletdc</servlet-name>
> >> <url-pattern>/HttpTunnelingServletdc</url-pattern>
> >> </servlet-mapping>
> > Instead of mapping a not configured servlet named invoker to /servlet/*
> > you should map your servlet named HttpTunnelingServletdc
> > to /servlet/HttpTunnelingServletdc or alternatively change your applet
> > configuration from top of your post.
> >
> > So remove
> > <servlet-mapping><servlet-name>invoker</servlet-name>...</servlet-mapping>
> > and change url-pattern in the<servlet-mapping>
> > from /HttpTunnelingServletdc to /servlet/HttpTunnelingServletdc
> >> </web-app>
> >>
> > ...
> >> *description* _The server encountered an internal error () that
> >> prevented it from fulfilling this request._
> >>
> >> *exception*
> >>
> >> javax.servlet.ServletException
> >> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > ...
> >> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
> >> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> >> at java.lang.Thread.run(Thread.java:619)
> >>
> >> *root cause*
> >>
> >> java.lang.NullPointerException
> >> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> > Hopefully you have the source code for HttpTunnelingServlet since this
> > line means, your servlet gets invoked, but it is not happy to work :)
> > That might come from the fact, that you configured the servlet
> > HttpTunnelingServletdc, but used the invoker-servlet. Chances are, that
> > the proposed configuration chages in web.xml fix this.
> >
> > HTH
> > Felix
> >
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
> >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
> > ...
> >> ------------------------------------------------------------------------
> >>
> >>
> >> Apache Tomcat/4.1.3
> >>
> >>
> >> ===================================================================================
> >> *WORKING
> >> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2,
> >> mod_jk 1.2.15, Diablo JRE 1.5)
> >> **============================================================================*
> >> *
> >> SERVER.XML
> >> * (jakarta-tomcat3.3/conf)
> >> <Ajp12Connector port="8007" />
> >>
> >> *web.xml*
> >> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
> >> <?xml version="1.0" encoding="ISO-8859-1"?>
> >>
> >> <!DOCTYPE web-app
> >> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> >> "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
> >> <servlet>
> >> <servlet-name>
> >> HttpTunnelingServletdc
> >> </servlet-name>
> >> <servlet-class>
> >> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
> >> </servlet-class>
> >> <init-param>
> >> <param-name>Host</param-name>
> >> <param-value>localhost</param-value>
> >> </init-param>
> >> <load-on-startup>1</load-on-startup>
> >> </servlet>
> >> <servlet-mapping>
> >> <servlet-name>HttpTunnelingServlet</servlet-name>
> >> <url-pattern>/HttpTunnelingServlet</url-pattern>
> >> </servlet-mapping>
> >> </web-app>
> >>
> >> *workers.properties*
> >> worker.ajp12.type=ajp12
> >> worker.ajp12.port=8007
> >> worker.ajp12.host=localhost
> >> worker.ajp12.lbfactor=1
> >>
> >> *mod_jk.conf*
> >> <IfModule !mod_jk.c>
> >> LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
> >> </IfModule>
> >> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
> >> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
> >> JkShmFile /var/log/jk-runtime-status
> >> JkLogLevel info
> >> JkMount /servlet/* ajp12
> >>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: users-help@tomcat.apache.org
> >
> >
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Volker <to...@webchannel.de>.
Hallo Felix,
I considered all tips you gave. Thanks again.
Like mentioned before my configuration was running correctly but I could
not notice that because the http tunneling does need much more time
(first request of the httptunnelingdc-Servlet (I check this out in
Apache?s log-file) than my former configuration with tomcat.
Now I wonder how I can tune something (Simultaneously I will install
tomcat 7.x) because I do not know if the slow-performance-problem
depends on tomcat settings or maybe on the Diablo-Java-Settings?
The combination with tomcat 3.3, apj12, mod_jk, Diablo JRE 1.5 and
apache 1.3 results in opening the chat window via http tunneling in *a
few seconds* if you blocked all ports except port 80 before for Java
(Browser).
With tomcat 4.1 the same procedure needs nearly 3 minutes.
Any idea?
Thanks and best regards
V o l k e r
Am 26.07.2011 19:54, schrieb Felix Schumacher:
> Hi Volker,
>
> Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:
>> Hello,
>>
>> my current system configuration is like following:
>>
>> - FreeBSD 8.2
>> - apache-2.2.17_2
>> - mod_jk-ap2-1.2.31_1 Apache2 JK
>> - tomcat 4.1.36_2
> As you said elsewhere in this thread, that you are willing to upgrade to
> a newer tomcat as well, I will assume, that you will use tomcat 6 or
> even tomcat 7.
>> - diablo-jdk1.6.0
>>
>> In order to provide a http tunneling for a chat server I have been
>> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and
>> diablo-jre1.5.0 in combination with a certain http tunneling servlet
>> *without any problems* for several years.
>> That http tunneling servlet is passed via a chat applet via "<PARAM
>> NAME='HttpServlet'
>> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
>> The configuration for that system above _*can be found below*_ *=>
>> Configuration for tomcat 3.3
> That looks like you are using the strongly discouraged dispatcher
> servlet. That is still available, but disabled by default. And you
> should leave it that way.
> ...
>> Thanks a lot and best regards
>>
>> Volker
>> *
>> ============================================================================
>> NOT WORKING
>> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
>> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
>> **============================================================================
>>
>> The servlet classes result in:
>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
> I read that as: There are some files and directories under
> WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
> is your CATALINA_BASE and probably CATALINA_HOME too.
>> ...
>> *
>> httpd.conf
>> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
>> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
>> JkShmFile /var/log/jk-runtime-status
>> JkLogLevel info
> Looks OK.
>> *
>> workers.properties
>> *workers.java_home=/usr/local/diablo-jdk1.6.0
>> workers.tomcat_home=/usr/local/apache-tomcat4.1
> Remove both deprecated config options java_home and tomcat_home. They
> are not needed anymore.
>> worker.list=jsp-hostname
>> worker.jsp-hostname.port=8009
>> worker.jsp-hostname.host=127.0.0.1
>> worker.jsp-hostname.type=ajp13
>> worker.jsp-hostname.lbfactor=1*
>>
>> **server.xml*
> Copy the server.xml from a fresh tomcat download and replace your
> port-numbers in there.
>
>> <Service name="Tomcat-Standalone">
> ...
>
>> <!-- Tomcat Root Context -->
>>
>> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
>> crossContext="true">
>> <Logger className="org.apache.catalina.logger.FileLogger"
>> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
>> </Context>
>>
>> <!-- Tomcat Examples Context -->
>> <Context path="/examples" docBase="examples" debug="1" reloadable="true"
>> crossContext="true">
>> <Logger className="org.apache.catalina.logger.FileLogger"
>> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
>> <Ejb name="ejb/EmplRecord" type="Entity"
>> home="com.wombat.empl.EmployeeRecordHome"
>> remote="com.wombat.empl.EmployeeRecord"/>
> Your context descriptions for ROOT and example would be placed in newly
> created files named ROOT.xml and example.xml under
> $CATALINA_BASE/conf/Catalina/localhost. But I seriously doubt, that you
> need example.xml and ROOT.xml is not needed, if all you want to achieve
> is logging. Look at http://tomcat.apache.org/tomcat-7.0-doc/logging.html
> for more info about simple logging.
>>
>> *web.xml*
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>> <!DOCTYPE web-app
>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>> "http://java.sun.com/dtd/web-app_2_3.dtd">
> You could update your webapp to a newer version by replacing the above
> values, but they should do no harm.
>> <web-app>
>> <servlet>
>> <servlet-name>
>> HttpTunnelingServletdc
>> </servlet-name>
>> <servlet-class>
>> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
>> </servlet-class>
>> <init-param>
>> <param-name>Host</param-name>
>> <param-value>localhost</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>> <servlet-mapping>
>> <servlet-name>invoker</servlet-name>
>> <url-pattern>/servlet/*</url-pattern>
>> </servlet-mapping>
>> <servlet-mapping>
>> <servlet-name>HttpTunnelingServletdc</servlet-name>
>> <url-pattern>/HttpTunnelingServletdc</url-pattern>
>> </servlet-mapping>
> Instead of mapping a not configured servlet named invoker to /servlet/*
> you should map your servlet named HttpTunnelingServletdc
> to /servlet/HttpTunnelingServletdc or alternatively change your applet
> configuration from top of your post.
>
> So remove
> <servlet-mapping><servlet-name>invoker</servlet-name>...</servlet-mapping>
> and change url-pattern in the<servlet-mapping>
> from /HttpTunnelingServletdc to /servlet/HttpTunnelingServletdc
>> </web-app>
>>
> ...
>> *description* _The server encountered an internal error () that
>> prevented it from fulfilling this request._
>>
>> *exception*
>>
>> javax.servlet.ServletException
>> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> ...
>> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
>> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>> at java.lang.Thread.run(Thread.java:619)
>>
>> *root cause*
>>
>> java.lang.NullPointerException
>> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> Hopefully you have the source code for HttpTunnelingServlet since this
> line means, your servlet gets invoked, but it is not happy to work :)
> That might come from the fact, that you configured the servlet
> HttpTunnelingServletdc, but used the invoker-servlet. Chances are, that
> the proposed configuration chages in web.xml fix this.
>
> HTH
> Felix
>
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
> ...
>> ------------------------------------------------------------------------
>>
>>
>> Apache Tomcat/4.1.3
>>
>>
>> ===================================================================================
>> *WORKING
>> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2,
>> mod_jk 1.2.15, Diablo JRE 1.5)
>> **============================================================================*
>> *
>> SERVER.XML
>> * (jakarta-tomcat3.3/conf)
>> <Ajp12Connector port="8007" />
>>
>> *web.xml*
>> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>
>> <!DOCTYPE web-app
>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>> "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
>> <servlet>
>> <servlet-name>
>> HttpTunnelingServletdc
>> </servlet-name>
>> <servlet-class>
>> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
>> </servlet-class>
>> <init-param>
>> <param-name>Host</param-name>
>> <param-value>localhost</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>> <servlet-mapping>
>> <servlet-name>HttpTunnelingServlet</servlet-name>
>> <url-pattern>/HttpTunnelingServlet</url-pattern>
>> </servlet-mapping>
>> </web-app>
>>
>> *workers.properties*
>> worker.ajp12.type=ajp12
>> worker.ajp12.port=8007
>> worker.ajp12.host=localhost
>> worker.ajp12.lbfactor=1
>>
>> *mod_jk.conf*
>> <IfModule !mod_jk.c>
>> LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
>> </IfModule>
>> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
>> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
>> JkShmFile /var/log/jk-runtime-status
>> JkLogLevel info
>> JkMount /servlet/* ajp12
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Volker <to...@webchannel.de>.
Hallo Felix,
thanks for your hints, I will check them out today.
Believe it or not: Obviously the configuration for tomcat 4.1 I posted
here is running correctly.
But I did not notice it - and this will be the problem for all my chat
site visitors that need http tunneling - because it takes nearly 2
minutes with tomcat 4.1 until the chat applets request of
http://test.Domain.com/servlet/*HttpTunnelingServletdc
does show up in apache?s log file whereas tomcat 3.3 is requesting the
tunneling servlet at once.
Result:
Chatters behind a firewall that blocks several ports except port 80 can
enter the chat in a few seconds by help of the tunneling servlet and
tomcat 3.3.
With tomcat 4.1 they will think the chat does not work and leave the site.
I only noticed that slow behaviour because I had a phone call after
requesting the chat applet behind a firewall only permitting port 80.
Maybe you can recommend any tuning settings for my problem concerning
tomcat 4.1?
Thanks a lot and best regards
V o l k e r
Am 26.07.2011 19:54, schrieb Felix Schumacher:
> Hi Volker,
>
> Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:
>> Hello,
>>
>> my current system configuration is like following:
>>
>> - FreeBSD 8.2
>> - apache-2.2.17_2
>> - mod_jk-ap2-1.2.31_1 Apache2 JK
>> - tomcat 4.1.36_2
> As you said elsewhere in this thread, that you are willing to upgrade to
> a newer tomcat as well, I will assume, that you will use tomcat 6 or
> even tomcat 7.
>> - diablo-jdk1.6.0
>>
>> In order to provide a http tunneling for a chat server I have been
>> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and
>> diablo-jre1.5.0 in combination with a certain http tunneling servlet
>> *without any problems* for several years.
>> That http tunneling servlet is passed via a chat applet via "<PARAM
>> NAME='HttpServlet'
>> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
>> The configuration for that system above _*can be found below*_ *=>
>> Configuration for tomcat 3.3
> That looks like you are using the strongly discouraged dispatcher
> servlet. That is still available, but disabled by default. And you
> should leave it that way.
> ...
>> Thanks a lot and best regards
>>
>> Volker
>> *
>> ============================================================================
>> NOT WORKING
>> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
>> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
>> **============================================================================
>>
>> The servlet classes result in:
>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
>> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
> I read that as: There are some files and directories under
> WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
> is your CATALINA_BASE and probably CATALINA_HOME too.
>> ...
>> *
>> httpd.conf
>> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
>> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
>> JkShmFile /var/log/jk-runtime-status
>> JkLogLevel info
> Looks OK.
>> *
>> workers.properties
>> *workers.java_home=/usr/local/diablo-jdk1.6.0
>> workers.tomcat_home=/usr/local/apache-tomcat4.1
> Remove both deprecated config options java_home and tomcat_home. They
> are not needed anymore.
>> worker.list=jsp-hostname
>> worker.jsp-hostname.port=8009
>> worker.jsp-hostname.host=127.0.0.1
>> worker.jsp-hostname.type=ajp13
>> worker.jsp-hostname.lbfactor=1*
>>
>> **server.xml*
> Copy the server.xml from a fresh tomcat download and replace your
> port-numbers in there.
>
>> <Service name="Tomcat-Standalone">
> ...
>
>> <!-- Tomcat Root Context -->
>>
>> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
>> crossContext="true">
>> <Logger className="org.apache.catalina.logger.FileLogger"
>> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
>> </Context>
>>
>> <!-- Tomcat Examples Context -->
>> <Context path="/examples" docBase="examples" debug="1" reloadable="true"
>> crossContext="true">
>> <Logger className="org.apache.catalina.logger.FileLogger"
>> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
>> <Ejb name="ejb/EmplRecord" type="Entity"
>> home="com.wombat.empl.EmployeeRecordHome"
>> remote="com.wombat.empl.EmployeeRecord"/>
> Your context descriptions for ROOT and example would be placed in newly
> created files named ROOT.xml and example.xml under
> $CATALINA_BASE/conf/Catalina/localhost. But I seriously doubt, that you
> need example.xml and ROOT.xml is not needed, if all you want to achieve
> is logging. Look at http://tomcat.apache.org/tomcat-7.0-doc/logging.html
> for more info about simple logging.
>>
>> *web.xml*
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>> <!DOCTYPE web-app
>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>> "http://java.sun.com/dtd/web-app_2_3.dtd">
> You could update your webapp to a newer version by replacing the above
> values, but they should do no harm.
>> <web-app>
>> <servlet>
>> <servlet-name>
>> HttpTunnelingServletdc
>> </servlet-name>
>> <servlet-class>
>> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
>> </servlet-class>
>> <init-param>
>> <param-name>Host</param-name>
>> <param-value>localhost</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>> <servlet-mapping>
>> <servlet-name>invoker</servlet-name>
>> <url-pattern>/servlet/*</url-pattern>
>> </servlet-mapping>
>> <servlet-mapping>
>> <servlet-name>HttpTunnelingServletdc</servlet-name>
>> <url-pattern>/HttpTunnelingServletdc</url-pattern>
>> </servlet-mapping>
> Instead of mapping a not configured servlet named invoker to /servlet/*
> you should map your servlet named HttpTunnelingServletdc
> to /servlet/HttpTunnelingServletdc or alternatively change your applet
> configuration from top of your post.
>
> So remove
> <servlet-mapping><servlet-name>invoker</servlet-name>...</servlet-mapping>
> and change url-pattern in the<servlet-mapping>
> from /HttpTunnelingServletdc to /servlet/HttpTunnelingServletdc
>> </web-app>
>>
> ...
>> *description* _The server encountered an internal error () that
>> prevented it from fulfilling this request._
>>
>> *exception*
>>
>> javax.servlet.ServletException
>> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> ...
>> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
>> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>> at java.lang.Thread.run(Thread.java:619)
>>
>> *root cause*
>>
>> java.lang.NullPointerException
>> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> Hopefully you have the source code for HttpTunnelingServlet since this
> line means, your servlet gets invoked, but it is not happy to work :)
> That might come from the fact, that you configured the servlet
> HttpTunnelingServletdc, but used the invoker-servlet. Chances are, that
> the proposed configuration chages in web.xml fix this.
>
> HTH
> Felix
>
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
> ...
>> ------------------------------------------------------------------------
>>
>>
>> Apache Tomcat/4.1.3
>>
>>
>> ===================================================================================
>> *WORKING
>> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2,
>> mod_jk 1.2.15, Diablo JRE 1.5)
>> **============================================================================*
>> *
>> SERVER.XML
>> * (jakarta-tomcat3.3/conf)
>> <Ajp12Connector port="8007" />
>>
>> *web.xml*
>> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>
>> <!DOCTYPE web-app
>> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>> "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
>> <servlet>
>> <servlet-name>
>> HttpTunnelingServletdc
>> </servlet-name>
>> <servlet-class>
>> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
>> </servlet-class>
>> <init-param>
>> <param-name>Host</param-name>
>> <param-value>localhost</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>> <servlet-mapping>
>> <servlet-name>HttpTunnelingServlet</servlet-name>
>> <url-pattern>/HttpTunnelingServlet</url-pattern>
>> </servlet-mapping>
>> </web-app>
>>
>> *workers.properties*
>> worker.ajp12.type=ajp12
>> worker.ajp12.port=8007
>> worker.ajp12.host=localhost
>> worker.ajp12.lbfactor=1
>>
>> *mod_jk.conf*
>> <IfModule !mod_jk.c>
>> LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
>> </IfModule>
>> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
>> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
>> JkShmFile /var/log/jk-runtime-status
>> JkLogLevel info
>> JkMount /servlet/* ajp12
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Felix Schumacher <fe...@internetallee.de>.
Hi Volker,
Am Dienstag, den 26.07.2011, 16:29 +0200 schrieb Volker:
> Hello,
>
> my current system configuration is like following:
>
> - FreeBSD 8.2
> - apache-2.2.17_2
> - mod_jk-ap2-1.2.31_1 Apache2 JK
> - tomcat 4.1.36_2
As you said elsewhere in this thread, that you are willing to upgrade to
a newer tomcat as well, I will assume, that you will use tomcat 6 or
even tomcat 7.
> - diablo-jdk1.6.0
>
> In order to provide a http tunneling for a chat server I have been
> using*tomcat 3.3*, FreeBSD 5.4, Apache 1.3, mod_jk (ajp12 Connector) and
> diablo-jre1.5.0 in combination with a certain http tunneling servlet
> *without any problems* for several years.
> That http tunneling servlet is passed via a chat applet via "<PARAM
> NAME='HttpServlet'
> VALUE='http://test.Domain.com/servlet/*HttpTunnelingServletdc*'>
> The configuration for that system above _*can be found below*_ *=>
> Configuration for tomcat 3.3
That looks like you are using the strongly discouraged dispatcher
servlet. That is still available, but disabled by default. And you
should leave it that way.
>
...
>
> Thanks a lot and best regards
>
> Volker
> *
> ============================================================================
> NOT WORKING
> Configuration for Tomcat 4.1.36 (FreeBSD 8.2, Apache 2.2.17,
> mod_jk-ap2-1.2.31, Diablo JDK 1.6)
> **============================================================================
>
> The servlet classes result in:
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes*/*com/....*
> */usr/local/apache-tomcat4.1/webapps/ROOT/WEB-INF/classes/digi/...
I read that as: There are some files and directories under
WEB-INF/classes in your ROOT webapp and that /usr/local/apache-tomcat4.1
is your CATALINA_BASE and probably CATALINA_HOME too.
> ...
> *
> httpd.conf
> *JkWorkersFile "/usr/local/etc/apache22/workers.properties"
> JkLogFile "/usr/local/apache-tomcat4.1/logs/mod_jk.log"
> JkShmFile /var/log/jk-runtime-status
> JkLogLevel info
Looks OK.
> *
> workers.properties
> *workers.java_home=/usr/local/diablo-jdk1.6.0
> workers.tomcat_home=/usr/local/apache-tomcat4.1
Remove both deprecated config options java_home and tomcat_home. They
are not needed anymore.
> worker.list=jsp-hostname
> worker.jsp-hostname.port=8009
> worker.jsp-hostname.host=127.0.0.1
> worker.jsp-hostname.type=ajp13
> worker.jsp-hostname.lbfactor=1*
>
> **server.xml*
Copy the server.xml from a fresh tomcat download and replace your
port-numbers in there.
> <Service name="Tomcat-Standalone">
...
> <!-- Tomcat Root Context -->
>
> <Context path="/ROOT" docBase="ROOT" debug="0" reloadable="true"
> crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="ROOT-http-tunneling_log." suffix=".txt" timestamp="true"/>
> </Context>
>
> <!-- Tomcat Examples Context -->
> <Context path="/examples" docBase="examples" debug="1" reloadable="true"
> crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="localhost_examples_log." suffix=".txt" timestamp="true"/>
> <Ejb name="ejb/EmplRecord" type="Entity"
> home="com.wombat.empl.EmployeeRecordHome"
> remote="com.wombat.empl.EmployeeRecord"/>
Your context descriptions for ROOT and example would be placed in newly
created files named ROOT.xml and example.xml under
$CATALINA_BASE/conf/Catalina/localhost. But I seriously doubt, that you
need example.xml and ROOT.xml is not needed, if all you want to achieve
is logging. Look at http://tomcat.apache.org/tomcat-7.0-doc/logging.html
for more info about simple logging.
>
>
> *web.xml*
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/web-app_2_3.dtd">
You could update your webapp to a newer version by replacing the above
values, but they should do no harm.
> <web-app>
> <servlet>
> <servlet-name>
> HttpTunnelingServletdc
> </servlet-name>
> <servlet-class>
> *com.diginet.digichat.util.tunnel3.HttpTunnelingServlet*
> </servlet-class>
> <init-param>
> <param-name>Host</param-name>
> <param-value>localhost</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>invoker</servlet-name>
> <url-pattern>/servlet/*</url-pattern>
> </servlet-mapping>
> <servlet-mapping>
> <servlet-name>HttpTunnelingServletdc</servlet-name>
> <url-pattern>/HttpTunnelingServletdc</url-pattern>
> </servlet-mapping>
Instead of mapping a not configured servlet named invoker to /servlet/*
you should map your servlet named HttpTunnelingServletdc
to /servlet/HttpTunnelingServletdc or alternatively change your applet
configuration from top of your post.
So remove
<servlet-mapping><servlet-name>invoker</servlet-name>...</servlet-mapping>
and change url-pattern in the <servlet-mapping>
from /HttpTunnelingServletdc to /servlet/HttpTunnelingServletdc
> </web-app>
>
...
> *description* _The server encountered an internal error () that
> prevented it from fulfilling this request._
>
> *exception*
>
> javax.servlet.ServletException
> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
...
> at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
>
> *root cause*
>
> java.lang.NullPointerException
> at com.diginet.digichat.util.tunnel3.HttpTunnelingServlet.doGet([DashoPro-V1.3BETA-091199])
Hopefully you have the source code for HttpTunnelingServlet since this
line means, your servlet gets invoked, but it is not happy to work :)
That might come from the fact, that you configured the servlet
HttpTunnelingServletdc, but used the invoker-servlet. Chances are, that
the proposed configuration chages in web.xml fix this.
HTH
Felix
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:199)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:145)
...
> ------------------------------------------------------------------------
>
>
> Apache Tomcat/4.1.3
>
>
> ===================================================================================
> *WORKING
> Configuration for tomcat 3.3 (FreeBSD 5.4, Apache 1.3.41, Tomcat 3.3.2,
> mod_jk 1.2.15, Diablo JRE 1.5)
> **============================================================================*
> *
> SERVER.XML
> * (jakarta-tomcat3.3/conf)
> <Ajp12Connector port="8007" />
>
> *web.xml*
> (/jakarta-tomcat3.3/webapps/ROOT/WEB-INF)
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
> <servlet>
> <servlet-name>
> HttpTunnelingServletdc
> </servlet-name>
> <servlet-class>
> com.diginet.digichat.util.tunnel3.HttpTunnelingServlet
> </servlet-class>
> <init-param>
> <param-name>Host</param-name>
> <param-value>localhost</param-value>
> </init-param>
> <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
> <servlet-name>HttpTunnelingServlet</servlet-name>
> <url-pattern>/HttpTunnelingServlet</url-pattern>
> </servlet-mapping>
> </web-app>
>
> *workers.properties*
> worker.ajp12.type=ajp12
> worker.ajp12.port=8007
> worker.ajp12.host=localhost
> worker.ajp12.lbfactor=1
>
> *mod_jk.conf*
> <IfModule !mod_jk.c>
> LoadModule jk_module /usr/local/libexec/apache/mod_jk.so
> </IfModule>
> JkWorkersFile "/usr/local/jakarta-tomcat3.3/conf/jk/workers.properties"
> JkLogFile "/usr/local/jakarta-tomcat3.3/logs/mod_jk.log"
> JkShmFile /var/log/jk-runtime-status
> JkLogLevel info
> JkMount /servlet/* ajp12
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Konstantin Kolinko <kn...@gmail.com>.
2011/7/26 Volker <to...@webchannel.de>:
> - tomcat 4.1.36_2
One reason to abandon 4.1 is that there are known security issues that
has been fixed in 5.5 and later but have never been evaluated against
4.1
Best regards,
Konstantin Kolinko
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by Volker <to...@webchannel.de>.
Am 26.07.2011 16:43, schrieb David kerber:
> On 7/26/2011 10:29 AM, Volker wrote:
>> Hello,
>>
>> my current system configuration is like following:
>>
>> - FreeBSD 8.2
>> - apache-2.2.17_2
>> - mod_jk-ap2-1.2.31_1 Apache2 JK
>> - tomcat 4.1.36_2
>> - diablo-jdk1.6.0
>
> Since you have to upgrade any way, why not upgrade to a current
> version of TC, such as 6.0.x, or 7.x? You're not likely to find many
> people here who remember (or even ever used) tc 4.x.
>
> D
>
Hi,
I chose tomcat 4.1 because I thought that the differences in
configuration of tomcat 4.1 compared with 3.3 are less than compared
with 7.x.
If you could have a look on my working config of 3.3 and tell me how to
transfer them in a config for 7.x I even would install 7.x ;-)
I really "only" use it for that littel http tunneling script!
Best regards
Volker
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Problems after updating from Tomcat 3.3 to 4.1: http tunneling
servlet not working anymore
Posted by David kerber <dc...@verizon.net>.
On 7/26/2011 10:29 AM, Volker wrote:
> Hello,
>
> my current system configuration is like following:
>
> - FreeBSD 8.2
> - apache-2.2.17_2
> - mod_jk-ap2-1.2.31_1 Apache2 JK
> - tomcat 4.1.36_2
> - diablo-jdk1.6.0
Since you have to upgrade any way, why not upgrade to a current version
of TC, such as 6.0.x, or 7.x? You're not likely to find many people
here who remember (or even ever used) tc 4.x.
D
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org