Java遠程方法調用:Hessian
公司不同pool之間提供service都是通過hessian來開放接口的,個人覺得hessian的使用非常簡單。做個demo如下:
0.首先創建web工程,并加載hessian.jar。
1.創建service,即我們通過它來提供接口:
public interface BasicService { public void setServiceName(String serverName); public String getServiceName(); public User createUser(); }
2.創建service實現:
public class BasicServiceImpl implements BasicService { private String serviceName; @Override public void setServiceName(String serverName) { this.serviceName = serverName; } @Override public String getServiceName() { return this.serviceName; } @Override public User createUser() { return new User("zhangsan", "123456"); } }3.創建需要通過hessian傳遞的對象(必須序列化):
public class User implements Serializable { private static final long serialVersionUID = 5792818254468116836L; private String username; private String password; public User(String username, String password) { this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }4.配置web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>HessianServer</display-name> <servlet> <servlet-name>basic</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <init-param> <param-name>service-class</param-name> <param-value>com.loujinhe.service.impl.BasicServiceImpl</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>basic</servlet-name> <url-pattern>/basic</url-pattern> </servlet-mapping> </web-app>
5.創建測試用例:
import java.net.MalformedURLException; import org.junit.Before; import org.junit.Test; import com.caucho.hessian.client.HessianProxyFactory; import com.loujinhe.service.BasicService; public class BasicServiceTest { private BasicService basicService; @Before public void init() throws MalformedURLException { HessianProxyFactory factory = new HessianProxyFactory(); String url = "http://localhost:8080/HessianServer/basic"; basicService = (BasicService)factory.create(BasicService.class, url); } @Test public void testBasic() { basicService.setServiceName("BasicService"); System.out.println(basicService.getServiceName()); System.out.println(basicService.createUser().getUsername()); System.out.println(basicService.createUser().getPassword()); } }6.啟動服務器,運行測試用例,會得到如下結果:
BasicService
zhangsan
123456來自:http://blog.csdn.net/loujinhe/article/details/8479238
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!