2009-11-19 5 views
5

J'ai une servlet CometProcessor fonctionnant correctement dans Apache Tomcat. Mon entrée de connecteur server.xml est:Tomcat CometProcessor NIO servi via Apache httpd?

<Connector connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/> 

je peux frapper la servlet (nommé 'EventBus') avec une URL de Tomcat directement comme ceci:

http://xyz.com:8080/EventBus

Je Apache httpd au service jusqu'à .jsp fichiers et servlets avec un workers.properties de base fichier avec un travailleur comme:

worker.ajp13w.type=ajp13 
worker.ajp13w.host=localhost 
worker.ajp13w.port=8009 

Cela fonctionne très bien avec tout mais mon Servlet CometProcessor. Lorsque je tente de frapper cette servlet je reçois:

HTTP method GET is not supported by this URL 

Est-ce que quelqu'un sait comment bien transférer les demandes d'Apache Tomcat à Apache pour une connexion NIO comme un CometProcessor?

Merci pour toute aide.

Répondre

2

Je ne pense pas que vous pouvez utiliser CometProcessor avec Apache. CometProcessor nécessite des E/S asynchrones, impossible de le faire via Apache httpd. JK ne fonctionne pas avec certitude car seuls les connecteurs APR et NIO prennent en charge CometProcessor.

Vous pouvez utiliser mod_proxy pour transférer la connexion à votre connecteur NIO, mais vous n'obtiendrez pas d'événement de manière asynchrone.