Spring Remoting: Hessian--转
2016-05-11 09:41
323 查看
原文地址:http://www.studytrails.com/frameworks/spring/spring-remoting-hessian.jsp
org.springframework.remoting.caucho.HessianServiceExporter - This exports the specified service as a servlet based http request handler. Hessian services exported by this class can be accessed by any hessian client.
org.springframework.remoting.caucho.HessianProxyFactoryBean - This is the factory bean for Hessian clients. The exposed service is configured as a spring bean. The ServiceUrl property specifies the URL of the service and theServiceInterface property specifies the interface of the implemented service.
Required Libraries
aopalliance.jar
commons-logging.jar
log4j.jar
org.springframework.aop.jar
org.springframework.asm.jar
org.springframework.beans.jar
org.springframework.context.jar
org.springframework.context.support.jar
org.springframework.core.jar
org.springframework.expression.jar
hessian-3.1.5.jar
Interaction Flow
Client sends a message call
This message call is handled by a Hessian Proxy created by HessianProxyFactoryBean
The Hessian Proxy converts the call into a remote call over HTTP
The Hessian Service Adapter created by HessianServiceExporter intercepts the remote call over HTTP
It forwards the method call to Service
Hessian Server Code Package Structure
Hessian Server Source Code
Create the GreetingService interface as shown below.
Create a method named getGreeting() that takes a name as a parameter and returns the greeting message (see line 5 below).
GreetingService.java
Create a class GreetingServiceImpl as shown below.
It implements the GreetingService interface (described earlier)
Implement the getGreeting() method by sending a greeting message (see lines 6-8 below).
GreetingServiceImpl.java
Create the hessian-servlet.xml file (see below).
Declare the 'greetingService' (see lines 14-15 below).
Export the 'greetingService' using Spring's HessianServiceExporter class (see lines 17-21 below).
Note the following properties of HessianServiceExporter class:
service: the service class bean which shall handle the Hessian call (see line 18 below)
serviceInterface: The interface to be used by Spring to create proxies for Hessian (see line 19 below)
hessian-servlet.xml
Create the web.xml file (see below).
Create the servlet mapping for the url pattern '*.http' (see line 16 below) for Spring's DispatcherServlet (see line 10 below)
web.xml
Hessian Client Code Package Structure
Hessian Client Source Code
Create the GreetingService interface as shown below.
Copy the GreetingService interface created for Hessian Server (described above) and paste it in Hessian Client source code while retaining the java package structure.
Note: For reference, the source code is shown below.
GreetingService.java
Create a class TestSpringRemotingHessian shown below to test Spring Hessian Remoting.
Load spring configuration file (see line 11 below)
Get a reference to GreetingService using the bean name 'greetingService' (see line 12 below)
Call the GreetingService.getGreting() method by passing the name 'Alpha' (see line 13 below)
Print the greeting message (see line 14 below).
TestSpringRemotingHessian.java
Create the spring-config-client.xml file (see below).
Declare the 'greetingService' using Spring's HessianProxyFactoryBean class (see lines 13-16 below).
Note the following properties of HessianProxyFactoryBean class:
serviceUrl : refers the URL of the remote service (see line 14 below).
Note URL part 'greetingService' corresponds to bean name property of HessianServiceExporter bean defined in hessian-servlet.xml (defined earlier)
serviceInterface: The interface to be used by Spring to create proxies for Hessian (see line 15 below)
spring-config-client.xml
Running Sample Program
Hessian Server Sample Program
This sample program has been packaged as a jar installer which will copy the source code (along with all necessary dependencies)on your machine and automatically run the program for you as shown in the steps below. To run the sampleprogram, you only need Java Runtime Environment (JRE) on your machine and nothing else.
Download And Automatically Run Hessian Server Sample Program
Save the springremotinghessianserver-installer.jar on your machine
Execute/Run the jar using Java Runtime Environment
(Alternatively you can go the folder containing the springremotinghessianserver-installer.jar and execute the jar using java -jar springremotinghessianserver-installer.jar command)
You will see a wizard page as shown below
Enter the location of the directory where you want the program to install and run (say, C:\Temp)
The installer will copy the program on your machine and automatically execute it. The expected output indicating that the program has run successfully on your machine is shown in the image below.
This shows that the Hessian Server program has run successfully on your machine
Hessian Client Sample Program
This sample program has been packaged as a jar installer which will copy the source code (along with all necessary dependencies)on your machine and automatically run the program for you as shown in the steps below. To run the sampleprogram, you only need Java Runtime Environment (JRE) on your machine and nothing else.
Download And Automatically Run Hessian Client Sample Program
Save the springremotinghessianclient-installer.jar on your machine
Execute/Run the jar using Java Runtime Environment
(Alternatively you can go the folder containing the springremotinghessianclient-installer.jar and execute the jar using java -jar springremotinghessianclient-installer.jar command)
You will see a wizard page as shown below
Enter the location of the directory where you want the program to install and run (say, C:\Temp)
The installer will copy the program on your machine and automatically execute it. The expected output indicating that the program has run successfully on your machine is shown in the image below.
This shows that the Hessian Client program has run successfully on your machine
Browsing the Program
Hessian Server Sample Code
This source code for this program is downloaded in the folder specified by you (say, C:\Temp) as an eclipse project called springremotinghessianserver . All the required libraries have also been downloaded and placed in the same location. You can open this project from Eclipe IDE and directly browse the source code. See below for details of the project structure.
Redeploying this sample program in a different web server
The WAR file for this example is available as springremotinghessianserver.war in the download folder specified by you earlier (e.g. C:\Temp). The path for the WAR file is <DOWNLOAD_FOLDER_PATH>/springremotinghessianserver/dist/springremotinghessianserver.war.
This WAR file can be deployed in any webserver of your choice and example can be executed.
Hessian Client Sample Code
This source code for this program is downloaded in the folder specified by you (say, C:\Temp) as an eclipse project called springremotinghessianclient . All the required libraries have also been downloaded and placed in the same location. You can open this project from Eclipe IDE and directly browse the source code. See below for details of the project structure.
Concept Overview
The previous tutorial presents an overview of spring remoting and lists down various remoting protocols supported by Spring. In this tutorial we look at Spring support for Hessian. Hessian is a web service protocol that transfers binary data between a remote service and its client. Hessian has been released by Caucho Technology. It requires that the web service be hosted on an http server. The client uses HTTP protocol to invoke remote methods on the server. The important classes are : -org.springframework.remoting.caucho.HessianServiceExporter - This exports the specified service as a servlet based http request handler. Hessian services exported by this class can be accessed by any hessian client.
org.springframework.remoting.caucho.HessianProxyFactoryBean - This is the factory bean for Hessian clients. The exposed service is configured as a spring bean. The ServiceUrl property specifies the URL of the service and theServiceInterface property specifies the interface of the implemented service.
Sample Program Overview
The example below is a GreetingService implemented as a remote Hessian service.Required Libraries
aopalliance.jar
commons-logging.jar
log4j.jar
org.springframework.aop.jar
org.springframework.asm.jar
org.springframework.beans.jar
org.springframework.context.jar
org.springframework.context.support.jar
org.springframework.core.jar
org.springframework.expression.jar
hessian-3.1.5.jar
Interaction Flow
Client sends a message call
This message call is handled by a Hessian Proxy created by HessianProxyFactoryBean
The Hessian Proxy converts the call into a remote call over HTTP
The Hessian Service Adapter created by HessianServiceExporter intercepts the remote call over HTTP
It forwards the method call to Service
Hessian Server Code Package Structure
Hessian Server Source Code
Create the GreetingService interface as shown below.
Create a method named getGreeting() that takes a name as a parameter and returns the greeting message (see line 5 below).
It implements the GreetingService interface (described earlier)
Implement the getGreeting() method by sending a greeting message (see lines 6-8 below).
Declare the 'greetingService' (see lines 14-15 below).
Export the 'greetingService' using Spring's HessianServiceExporter class (see lines 17-21 below).
Note the following properties of HessianServiceExporter class:
service: the service class bean which shall handle the Hessian call (see line 18 below)
serviceInterface: The interface to be used by Spring to create proxies for Hessian (see line 19 below)
Create the servlet mapping for the url pattern '*.http' (see line 16 below) for Spring's DispatcherServlet (see line 10 below)
Hessian Client Source Code
Create the GreetingService interface as shown below.
Copy the GreetingService interface created for Hessian Server (described above) and paste it in Hessian Client source code while retaining the java package structure.
Note: For reference, the source code is shown below.
Load spring configuration file (see line 11 below)
Get a reference to GreetingService using the bean name 'greetingService' (see line 12 below)
Call the GreetingService.getGreting() method by passing the name 'Alpha' (see line 13 below)
Print the greeting message (see line 14 below).
Declare the 'greetingService' using Spring's HessianProxyFactoryBean class (see lines 13-16 below).
Note the following properties of HessianProxyFactoryBean class:
serviceUrl : refers the URL of the remote service (see line 14 below).
Note URL part 'greetingService' corresponds to bean name property of HessianServiceExporter bean defined in hessian-servlet.xml (defined earlier)
serviceInterface: The interface to be used by Spring to create proxies for Hessian (see line 15 below)
Hessian Server Sample Program
This sample program has been packaged as a jar installer which will copy the source code (along with all necessary dependencies)on your machine and automatically run the program for you as shown in the steps below. To run the sampleprogram, you only need Java Runtime Environment (JRE) on your machine and nothing else.
Download And Automatically Run Hessian Server Sample Program
Save the springremotinghessianserver-installer.jar on your machine
Execute/Run the jar using Java Runtime Environment
(Alternatively you can go the folder containing the springremotinghessianserver-installer.jar and execute the jar using java -jar springremotinghessianserver-installer.jar command)
You will see a wizard page as shown below
Enter the location of the directory where you want the program to install and run (say, C:\Temp)
The installer will copy the program on your machine and automatically execute it. The expected output indicating that the program has run successfully on your machine is shown in the image below.
This shows that the Hessian Server program has run successfully on your machine
Hessian Client Sample Program
This sample program has been packaged as a jar installer which will copy the source code (along with all necessary dependencies)on your machine and automatically run the program for you as shown in the steps below. To run the sampleprogram, you only need Java Runtime Environment (JRE) on your machine and nothing else.
Download And Automatically Run Hessian Client Sample Program
Save the springremotinghessianclient-installer.jar on your machine
Execute/Run the jar using Java Runtime Environment
(Alternatively you can go the folder containing the springremotinghessianclient-installer.jar and execute the jar using java -jar springremotinghessianclient-installer.jar command)
You will see a wizard page as shown below
Enter the location of the directory where you want the program to install and run (say, C:\Temp)
The installer will copy the program on your machine and automatically execute it. The expected output indicating that the program has run successfully on your machine is shown in the image below.
This shows that the Hessian Client program has run successfully on your machine
Browsing the Program
Hessian Server Sample Code
This source code for this program is downloaded in the folder specified by you (say, C:\Temp) as an eclipse project called springremotinghessianserver . All the required libraries have also been downloaded and placed in the same location. You can open this project from Eclipe IDE and directly browse the source code. See below for details of the project structure.
Redeploying this sample program in a different web server
The WAR file for this example is available as springremotinghessianserver.war in the download folder specified by you earlier (e.g. C:\Temp). The path for the WAR file is <DOWNLOAD_FOLDER_PATH>/springremotinghessianserver/dist/springremotinghessianserver.war.
This WAR file can be deployed in any webserver of your choice and example can be executed.
Hessian Client Sample Code
This source code for this program is downloaded in the folder specified by you (say, C:\Temp) as an eclipse project called springremotinghessianclient . All the required libraries have also been downloaded and placed in the same location. You can open this project from Eclipe IDE and directly browse the source code. See below for details of the project structure.
相关文章推荐
- java命令
- java Collections集合工具类
- 64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法
- springmvc的handle method 方法
- 一个刚入门的菜鸟Java之路-框架篇
- 使用JDK的native2ascii转码
- DOCTYPE声明 struts2与struts1区别
- Java unicode中文编码转换和反转
- eclipse下使用java api 进行hbase的常用的操作所需的jar包,以及如何查看java build path下的jar是否使用
- cloudsim仿真算法研究之二
- java socket编程
- Java中的抽象类和接口
- java经典编程300例
- Java垃圾回收机制
- spring 下载地址
- Flex3与java BlazeDS入门教程及其配置详解
- Yale CAS 安装配置过程指导书
- Andrdoid中对应用程序的行为拦截实现方式之----从Java层进行拦截
- IDEA设置Java类注释
- Spring boot + maven + jetty9在提交表单的时候出现Form too large