کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش Spring از راه دور بوسیله Burlap

Burlap

مثال Spring از راه دور توسط Burlap

Hessian و Burlap هر دو توسط Coucho ارائه شده اند. Burlap جایگزین مبتنی بر xml ، Hessian است. با کمک دو کلاس BurlapServiceExporter و BurlapProxyFactoryBean، میتوان خدمات از راه دور ارائه شده توسط Burlap را پیاده سازی کرد.


مثال از راه دور توسط Burlap

برای ایجاد یک برنامه کاربردی ساده Burlap فایل های زیر را باید ایجاد کنید.

  1. Calculation.java
  2. CalculationImpl.java
  3. web.xml
  4. burlap-servlet.xml
  5. client-beans.xml
  6. Client.java

1- Calculation.java

یک واسط ساده دربردارنده یک متد cube است.

package com.javatpoint;  
public interface Calculation {  
int cube(int number);  
}  

2- CalculationImpl.jav

این کلاس پیاده سازی واسط محاسبات(Calculation) را ارائه می دهد.

package com.javatpoint;  
public class CalculationImpl implements Calculation{  
    public int cube(int number) {  
        return number*number*number;  
    }  
} 

3- web.xml

در این فایل xml، DispatcherServlet را به عنوان کنترلر جلو تعریف می کنیم. اگر هر درخواستی پسوند .http داشته باشد، بهDispatcherServlet فرستاده می شود.

< ?xml version="1.0" encoding="UTF-8" ?>
  
< web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
     
     < 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>  

4- Burlap-servlet.xml

این فایل باید درون پوشهWEB-INF ایجاد شود و نام آن باید servletname-servlet.xml باشد. این فایل bean را برای CalculationImpl و BurlapServiceExporter تعریف می کند.

< ?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.javatpoint.CalculationImpl">< /bean>  
< bean name="/Calculation.http"
class="org.springframework.remoting.caucho.BurlapServiceExporter">  
     < property name="service" ref="calculationBean">< /property>  
     < property name="serviceInterface" value="com.javatpoint.Calculation">< /property>  
< /bean>  
   
< /beans>  

5- client-beans.xml

در این فایل xml ، bean را برای BurlapProxyFactoryBean تعریف می کنیم. علاوه بر آن دو خصیصه serviceUrl و serviceInterface از این کلاس را نیز باید تعریف کنید.

< ?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.javatpoint.Calculation">< /property>  
< /bean>  
< /beans>  

در این مثال، نام پروژه burlap است، به این معنی که به عنوان ریشه متن(context root) در serviceURL مورد استفاده قرار گرفته است.


6- Client.java

این کلاس یک نمونه از Calculation می گیرد و متد cube را فراخوانی می کند.

package com.javatpoint;  
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(3));  
 }  
}  

نحوه اجرای این مثال

پروژه را شروع و مستقر کنید، در اینجا فرض می کنیم سرور روی پورت شماره 8888 در حال اجرا است. اگر شماره پورت متفاوت است، serviceURL را در فایل client-beans.xml تغییر دهید. سپس فایل Client.java را کامپایل و اجرا کنید.


1399/01/24 1396 389
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...