Podemos usar las clases HessianServiceExporter y HessianProxyFactoryBean para implementar el servicio de comunicación remota hessian. La principal ventaja de Hessian es que Hessian funciona bien en ambos lados de un firewall. Hessian es un lenguaje portátil que se puede usar con otros lenguajes como PHP y .Net.
Implementación: para hacer una aplicación de arpillera simple, deberá crear los siguientes archivos:
- Cálculo.java
- CalculationImpl.java
- web.xml
- hessian-servlet.xml
- cliente-beans.xml
- Cliente.java
La estructura del proyecto queda de la siguiente manera:
A. Archivo: Cálculo.java
Java
// Java Program to illustrate Simple Interface // Containing one method cube. package com.geeksforgeeks; // Interface public interface Calculation { int cube(int number); }
B. Archivo: CalculationImpl.java
Java
// Java Program to Illustrate Implementation // of the Calculation interface package com.geeksforgeeks; // Class // Implementing interface public class CalculationImpl implements Calculation { // Method public int cube(int number) { // Returning cube of a number return number * number * number; } }
C. Archivo: web.xml
El controlador frontal se define en este archivo XML denominado DispatcherServlet. Cualquier solicitud que termine en .http se enrutará a DispatcherServlet.
XML
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>hessian</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hessian</servlet-name> <url-pattern>*.http</url-pattern> </servlet-mapping> </web-app>
D. Archivo: hessian-servlet.xml
Tiene que ser colocado en la carpeta WEB-INF. Debe llamarse servletname-servlet.xml. Especifica CalculationImpl y HessianServiceExporter como beans.
XML
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans ss http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="calculationBean" class="com.geeksforgeeks.CalculationImpl"></bean> <bean name="/Calculation.http" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service" ref="calculationBean"></property> <property name="serviceInterface" value="com.geeksforgeeks.Calculation"></property> </bean> </beans>
E. Archivo: client-beans.xml
El bean para HessianProxyFactoryBean se define en este archivo XML. Esta clase requiere que se definan dos atributos.
- URL de servicio
- interfaz de servicio
F. Archivo: Cliente.java
Esta clase obtiene un objeto de cálculo y ejecuta la función de cubo.
Java
package com.geeksforgeeks; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Client { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("client-beans.xml"); Calculation calculation = (Calculation)context.getBean("calculationBean"); System.out.println(calculation.cube(4)); } }
Producción:
Nota: Para generar el resultado anterior,
- Inicie e implemente el proyecto, asumiendo que el servidor está escuchando en el puerto 8888. Cambie el serviceURL en client-beans.xml si se cambia el número de puerto.
- A continuación, se debe compilar y ejecutar el archivo Client.java.
Publicación traducida automáticamente
Artículo escrito por sanketnagare y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA