Tomcat 5.5 works fine with Java 1.4 - just be sure and download the 'JDK 1.4 Compatability Package:' at this link: http://tomcat.apache.org/download-55.cgi
It is all of 1.6MB in size. Just follow the instructions - its easy. HTH - Richard -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, June 23, 2006 6:54 AM To: users@tomcat.apache.org Subject: AW: Re: Own Connector for Tomcat Thanks a lot for your answer, Bill. I will try to develop my own ProtocolHandler. But the problem is, that I can´t use Tomcat5.5, I guess. I tried it in embedded mode with Tomcat5.5 an Java1.4 and got an Exception: java.lang.NoClassDefFoundError: javax/management/NotificationEmitter But the code example you gave to me I can´t use, because it is for Tomcat5.5, I guess. I think I should use Tomcat5.0 because I have to use Java1.4. I tried an example I found in the net, but got an java.lang.NoClassDefFoundError: javax/management/NotificationEmitter. So I searched for that and in my opinion I have to use Java1.5 for that, right? Or is there a possiblity to use Tomcat5.5 in embedded mode with Java1.4? So I would like to know, how to embed an own ProtocolHandler in Tomcat5.0 because Connector is not a class, it is an Interface there. The Class there I found is CoyoteConnector. I tried something like this and it works: CoyoteConnector testConnector1 = (CoyoteConnector) server.createConnector((java.net.InetAddress) null, 7070, false); testConnector1.setProtocolHandlerClassName("org.apache.coyote.http11.Http11P rotocol"); server.addConnector(testConnector1); But if I take the source code of the package in an own package an generate an jar-File of this it does not work anymore. CoyoteConnector testConnector2 = (CoyoteConnector) server.createConnector((java.net.InetAddress) null, 9090, false); testConnector2.setProtocolHandlerClassName("src.connectors.test.Http11Protoc ol"); server.addConnector(testConnector2); I did not get an exception but --- THE EXCEPTION I GOT: --- java.lang.NoClassDefFoundError: javax/management/NotificationEmitter at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at org.apache.catalina.startup.Embedded.createContext(Embedded.java:475) at src.server.Tomcat55.startTomcat(Tomcat55.java:126) at src.server.MyServer55.main(MyServer55.java:244) Exception in thread "main" > >"Daniela Piacenti" <[EMAIL PROTECTED]> wrote in message >news:[EMAIL PROTECTED] >> Hello everybody, >> >> I read a lot about the coyote connector and that it is possible to >> write own connectors for Tomcat. But I did not find anything in the >> whole web, how to do this. Now I am reading the source code of the >> coyote connector and have some questions about it. >> >> My problem is: >> I am writing an application, which acts as an adapter for another >> application to provide its functionality via Web Services to external >> client applications. Therefore I am using Tomcat5 in embedded mode as >> servlet engine and Apache Axis as framework for the web services. >> Now I also have to connect legacy client systems to my new >> application if possible. They communicate with the old external >> client interface directly over sockets with streams via TCP/IP using proprietary message protocols. >> >> The alternative way would be to write an own SocketServer before >> Tomcat to make HTTP-Requests and to forward them to the Servlet >> Engine. Backwards the other way. But this would not be a smart and >> practicable way for this task, I guess. So I decided to have a look >> to the connector and maybe write my own connector for this. >> >> Generally I have the question, if it is possible and if yes, how. Do >> I have to write a whole connector, which implements this interface? >> Or is it possible to use the coyote connector with an own >> implemenation of an handlerclass, protocolclass and processclass? And >> how can I embed this connector in Tomcat? >> >> Hope someone may help me. Thanks a lot in advance, >> > >The best way is to use the Coyote Connector, but implement your own >ProtocolHandler: >http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/co >yote/Pro >tocolHandler.html. >The ProtocolHandler is responsible for setting up the ServerSocket, >handling the accepted requests, parsing the data it recieves and >setting the appropriate fields in the Request/Response (that it is also >responsible for creating :), creating a Thread to process the request, >and passing it off to the Adapter that the Connector will have handed >you, and finally sending the result back to the client in the format that it expects to recieve it. >You'll likely need to implement ActionHook as well to get the best >results (e.g. handling client-flush properly). > >The MemoryProtocolHandler that ships with Tomcat is probably the >simplest, and so likely a good place to start to base your ProtocolHandler on. > >Since you are using Embedded, in your code you would do something like: > > Connector myConn = new >Connector("com.myfirm.mypackage.MyProtocolHandler"); > myConn.setProperty("port", myPort); > // Additional calls to setProperty here, which will be passed >JavaBean style to > // your ProtocolHandler (alternatively, use setAttribute if you >know the Java class already) > embedded.addConnector(myConn); > > >> Regards, >> Daniela >> >> --------------------------------------------------------------------- >> To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, >> e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > > >--------------------------------------------------------------------- >To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, >e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]