Please ignore the last response.  Lousy aim when clicking to
make a reply.

Larry

> -----Original Message-----
> From: Larry Isaacs [mailto:[EMAIL PROTECTED]] 
> Sent: Wednesday, May 15, 2002 9:25 AM
> To: 'Tomcat Users List'
> Subject: RE: HTTP Tunnelling problem?? Please help
> 
> 
> Sorry it missed getting into the documentation beyond the
> readme-3.3.1, but Tomcat 3.3.1 now supports a SingleThreadModel
> pooling, which is enabled by default.  Thus, this is normal
> behavior.  If you wish to disable the pooling, modify the
> server.xml to contain:
> 
>     <Servlet22Interceptor useSTMPool="false" />
> 
> Cheers,
> Larry
> 
> > -----Original Message-----
> > From: Andy Eastham [mailto:[EMAIL PROTECTED]] 
> > Sent: Wednesday, May 15, 2002 7:24 AM
> > To: Tomcat Users List
> > Subject: RE: HTTP Tunnelling problem?? Please help
> > 
> > 
> > Stuart,
> > 
> > You're extending Thread - everything that is mapped to a 
> > Tomcat request must
> > extend HttpServlet.  Tomcat is trying to cast your 
> TestTunnel class to
> > HttpServlet, which is failing.
> > 
> > Andy
> > 
> > > -----Original Message-----
> > > From: Stuart Stephen [mailto:[EMAIL PROTECTED]]
> > > Sent: 15 May 2002 11:56
> > > To: Tomcat Users List
> > > Subject: HTTP Tunnelling problem?? Please help
> > >
> > >
> > >
> > > Hello all,
> > >
> > > I'm having problems trying to write a HttpTunnel for java objects
> > > in Tomcat.
> > > For some reason I'm getting a ClassCastException. I don't 
> > understand this.
> > > I've even tried forcing it as you can see in my code below. 
> > The exception
> > > that i'm getting is not very clear and i can't put my 
> finger on it.
> > >
> > > I have attached the exception from Apache/Tomcat and the code for
> > > the tunnel
> > > at the bottom of this email. If you can help I would be 
> > very grateful.
> > >
> > > Regards,
> > > Stuart Stephen
> > >
> > > ------------------------------------------------------------------
> > > ----------
> > > ----
> > >
> > > Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Error
> > >
> > > ------------------------------------------------------------------
> > > ----------
> > > ----
> > >
> > > type Exception report
> > >
> > > message Internal Server Error
> > >
> > > description The server encountered an internal error (Internal
> > > Server Error)
> > > that prevented it from fulfilling this request.
> > >
> > > exception
> > >
> > > java.lang.ClassCastException: TestTunnel
> > >   at
> > > 
> > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.
> > java:820)
> > >   at
> > > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.
> > > java:615)
> > >   at
> > > org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerSe
> > > rvlet.java
> > > :396)
> > >   at
> > > 
> > org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServl
> > et.java:180)
> > >   at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> > >   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> > >   at
> > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> > > pplication
> > > FilterChain.java:247)
> > >   at
> > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> > > onFilterCh
> > > ain.java:193)
> > >   at
> > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapp
> > > erValve.ja
> > > va:243)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 66)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> > > java:472)
> > >   at
> > > 
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > >   at
> > > org.apache.catalina.core.StandardContextValve.invoke(StandardConte
> > > xtValve.ja
> > > va:201)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 66)
> > >   at
> > > org.apache.catalina.valves.CertificatesValve.invoke(CertificatesVa
> > > lve.java:2
> > > 46)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 64)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> > > java:472)
> > >   at
> > > 
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > >   at
> > > 
> > org.apache.catalina.core.StandardContext.invoke(StandardContex
> > t.java:2344)
> > >   at
> > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValv
> > > e.java:164
> > > )
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 66)
> > >   at
> > > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispat
> > > cherValve.
> > > java:170)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 64)
> > >   at
> > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValv
> > > e.java:170
> > > )
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 64)
> > >   at
> > > 
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv
> > e.java:462)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 64)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> > > java:472)
> > >   at
> > > 
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > >   at
> > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngine
> > > Valve.java
> > > :163)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> > > ine.java:5
> > > 66)
> > >   at
> > > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> > > java:472)
> > >   at
> > > 
> > 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > >   at
> > > 
> > 
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:371)
> > >   at
> > > org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:424)
> > >   at java.lang.Thread.run(Unknown Source)
> > >
> > > -----------------------
> > >
> > > import javax.servlet.*;
> > > import javax.servlet.http.*;
> > > import javax.servlet.ServletException.*;
> > > import javax.servlet.UnavailableException.*;
> > > import java.lang.Exception.*;
> > > import java.io.*;
> > > import java.util.*;
> > > import java.net.*;
> > >
> > > public class TestTunnel extends Thread {
> > >
> > >   // applet connections
> > >   ObjectOutputStream objOut = null;
> > >   ObjectInputStream objIn = null;
> > >
> > >   // chatserver connections
> > >   Socket socket = null;
> > >   ObjectOutputStream sockObjOut = null;
> > >   ObjectInputStream sockObjIn = null;
> > >
> > >   ToApplet app = null;
> > >   ToServer ser = null;
> > >
> > >   protected void service(HttpServletRequest req, 
> > HttpServletResponse res)
> > > throws ServletException,IOException  {
> > >     try {
> > >       // get data stream from applet
> > >       System.err.println("start of servlet");
> > >
> > >       objIn = new ObjectInputStream(req.getInputStream());
> > >       objOut = new ObjectOutputStream(res.getOutputStream());
> > >
> > >       // create socket to chat server and the streams
> > >       socket = new Socket("127.0.0.1", 3000);
> > >       sockObjOut = new 
> ObjectOutputStream(socket.getOutputStream());
> > >       sockObjIn = new ObjectInputStream(socket.getInputStream());
> > >
> > >       app = new ToApplet((TestTunnel)this);
> > >       ser = new ToServer((TestTunnel)this);
> > >
> > >       System.err.println("end of servlet");
> > >     }
> > >     catch(Exception e) {
> > >       e.printStackTrace();
> > >     }
> > >   }
> > >
> > >   public void destroy() {
> > >     try {
> > >       objIn.close();
> > >       objOut.close();
> > >       sockObjIn.close();
> > >       sockObjOut.close();
> > >       socket.close();
> > >     }
> > >     catch(Exception e) {
> > >       e.printStackTrace();
> > >     }
> > >   }
> > >
> > >   private class ToApplet extends Thread {
> > >     TestTunnel parent = null;
> > >
> > >     public ToApplet(TestTunnel parent) {
> > >       try {
> > >         this.parent = parent;
> > >         this.start();
> > >       }
> > >       catch(Exception e) {
> > >         e.printStackTrace();
> > >       }
> > >     }
> > >
> > >     public void run() {
> > >       try {
> > >         Object obj = null;
> > >         while((obj=parent.sockObjIn.readObject())!=null) {
> > >           write(obj);
> > >         }
> > >       }
> > >       catch(Exception e) {
> > >         e.printStackTrace();
> > >       }
> > >     }
> > >
> > >     public void write(Object msg) {
> > >       try {
> > >         parent.objOut.writeObject(msg);
> > >         parent.objOut.flush();
> > >         parent.objOut.reset();
> > >       }
> > >       catch(Exception e) {
> > >         e.printStackTrace();
> > >       }
> > >     }
> > >   }
> > >
> > >   private class ToServer extends Thread {
> > >     TestTunnel parent = null;
> > >
> > >     public ToServer(TestTunnel parent) {
> > >       try {
> > >         this.parent = parent;
> > >         this.start();
> > >       }
> > >       catch(Exception e) {
> > >         e.printStackTrace();
> > >       }
> > >     }
> > >
> > >     public void run() {
> > >       try {
> > >         Object obj = null;
> > >         while((obj=parent.objIn.readObject())!=null) {
> > >           write(obj);
> > >         }
> > >       }
> > >       catch(Exception e) {
> > >         e.printStackTrace();
> > >       }
> > >     }
> > >
> > >     public void write(Object msg) {
> > >       try {
> > >         parent.sockObjOut.writeObject(msg);
> > >         parent.sockObjOut.flush();
> > >         parent.sockObjOut.reset();
> > >       }
> > >       catch(Exception e) {
> > >         e.printStackTrace();
> > >       }
> > >     }
> > >   }
> > > }
> > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > >
> > >
> > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   
> > <mailto:tomcat-user-> [EMAIL PROTECTED]>
> > For 
> > additional commands, 
> > e-mail: <mailto:[EMAIL PROTECTED]>
> > 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:tomcat-user-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to