Primavera: comunicación remota con arpillera

Coucho puede proporcionar tanto arpillera como arpillera. Burlap es un sustituto de Hessian basado en xml. Podemos usar las clases BurlapServiceExporter y BurlapProxyFactoryBean para implementar el servicio remoto de arpillera.

Implementación: debe crear los siguientes archivos para crear una aplicación de arpillera simple:

  1. Cálculo.java
  2. CalculationImpl.java
  3. web.xml
  4. arpillera-servlet.xml
  5. cliente-beans.xml
  6. Cliente.java

La estructura del proyecto quedará de la siguiente manera: 

A. Archivo: Cálculo.java

Java

// Java Program to illustrate Simple Interface
// Containing a Method
  
package com.geeksforgeeks;
  
// Interface
public interface Calculation {
    int cube(int number);
}

B. Archivo: CalculationImpl.java

Java

// Java Program to Implement 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>burlap</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
  
<servlet-mapping>
    <servlet-name>burlap</servlet-name>
    <url-pattern>*.http</url-pattern>
</servlet-mapping>
  
</web-app>

D. Archivo: arpillera-servlet.xml

Tiene que ser colocado en la carpeta WEB-INF. Debe llamarse servletname-servlet.xml. Especifica CalculationImpl y BurlapServiceExporter 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 
    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.BurlapServiceExporter">
        <property name="service" ref="calculationBean"></property>
        <property name="serviceInterface" value="com.geeksforgeeks.Calculation"></property>
    </bean>
  
</beans>

E. Archivo: client-beans.xml

El bean para BurlapProxyFactoryBean se define en este archivo XML. Esta clase requiere que se definan dos atributos.

  1. URL de servicio
  2. interfaz de servicio

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 http://www.springframework.org/schema/beans/spring-beans.xsd">
      
    <bean id="calculationBean" class="org.springframework.remoting.caucho.BurlapProxyFactoryBean">
        <property name="serviceUrl" value="http://localhost:8888/burlap/Calculation.http"></property>
        <property name="serviceInterface" value="com.geeksforgeeks.Calculation"></property>
    </bean>
</beans>

F. Archivo: Cliente.java

Esta clase obtiene la instancia de Calculation y llama al método cube.

Java

// Java Program to Illustrate Client Class
  
package com.geeksforgeeks;
  
// Importing required classes
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
// Class
public class Client {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an object of ApplicationContext class
        ApplicationContext context
            = new ClassPathXmlApplicationContext(
                "client-beans.xml");
        Calculation calculation
            = (Calculation)context.getBean(
                "calculationBean");
  
        // Printing cube of a random number
        System.out.println(calculation.cube(3));
    }
}

Producción:

27

Nota: Para ejecutar el fragmento de código anterior para obtener el resultado:

  • 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *