18.2.5. Configuration de Netty Servlet
Le transport de servlet autorise le trafic HornetQ via HTTP à un servlet exécutant dans un moteur de servlet qui le redirige ensuite vers un serveur de HornetQ in-VM. Le transport Netty HTTP agit comme un serveur web à l'écoute du trafic HTTP sur des ports spécifiques. Avec le transport de servlet, le trafic HornetQ est mandaté par un moteur de servlet qui puisse déjà servir à un site web ou à d'autres applications.
Pour pouvoir configurer un moteur de servlet qui puisse fonctionner sur un transport de servet Netty, vous devrez suivre les étapes suivantes :
- Déployer le servlet : l'exemple suivant décrit une application web qui utilise le servlet :
<web-app> <servlet> <servlet-name>HornetQServlet</servlet-name> <servlet-class>org.jboss.netty.channel.socket.http.HttpTunnelingServlet</servlet-class> <init-param> <param-name>endpoint</param-name> <param-value>local:org.hornetq</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>HornetQServlet</servlet-name> <url-pattern>/HornetQServlet</url-pattern> </servlet-mapping> </web-app>
Le paramètre initendpoint
spécifie l'attribut d'hôte de l'accepteur Netty à qui le servlet va envoyer ses packages. - Insérer l'accepteur de Netty servlet sur la configuration côté serveur : l'exemple suivant montre la définition d'un accepteur en serveur de fichiers de configuration (
standalone.xml
etdomain.xml
) :<acceptors> <acceptor name="netty-servlet"> <factory-class> org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory </factory-class> <param key="use-servlet" value="true"/> <param key="host" value="org.hornetq"/> </acceptor> </acceptors>
- La dernière étape consiste à définir un connecteur pour le client dans les fichiers de configuration du serveur (
standalone.xml
etdomain.xml
) :<netty-connector name="netty-servlet" socket-binding="http"> <param key="use-servlet" value="true"/> <param key="servlet-path" value="/messaging/HornetQServlet"/> </netty-connector>
- Il est également possible d'utiliser le transport de servlet via SSL en ajoutant la configuration suivante au connecteur :
<netty-connector name="netty-servlet" socket-binding="https"> <param key="use-servlet" value="true"/> <param key="servlet-path" value="/messaging/HornetQServlet"/> <param key="ssl-enabled" value="true"/> <param key="key-store-path" value="path to a key-store"/> <param key="key-store-password" value="key-store password"/> </netty-connector>
Avertissement
Failover automatique non pris en charge pour les clients se connectant via HTTP tunneling servlet.
Note
Le servlet Netty ne peut pas être utilisé pour configurer les serveurs EAP 6 pour mettre en place un cluster HornetQ.