使用eclipse创建hessian服务
对于Hessian而言,有服务端和客户端,所以我们的整合也需要分服务端的整合和客户端的整合。
hessian服务端源码结构
hessian 客户端源码结构
废话不多说,实现远程服务,最重要的是如何使用轮子,下面直接上配置文件,源代码:
http://download.csdn.net/download/heisemuyangquan/10272025
server配置
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context
=
"http://www.springframework.org/schema/context"
<
bean
class
=
"org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"
/>
<
bean
id
=
"userService"
class
=
"com.hessian.service.impl.UserServiceImpl"
/>
<
bean
name
=
"/userService"
class
=
"org.springframework.remoting.caucho.HessianServiceExporter"
>
<
property
name
=
"service"
ref
=
"userService"
/>
<
property
name
=
"serviceInterface"
value
=
"com.hessian.service.UserService"
/>
</
bean
>
</
beans
>
client配置
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:context
=
"http://www.springframework.org/schema/context"
<
bean
id
=
"userService"
class
=
"org.springframework.remoting.caucho.HessianProxyFactoryBean"
>
<
property
name
=
"serviceUrl"
<
property
name
=
"serviceInterface"
value
=
"com.hessian.service.UserService"
/>
</
bean
>
</
beans
>
另外需要注意的是hessian和Spring的版本兼容问题
需要导入Spring的相关依赖要在pom中配置
pom.xml仅供参考,亲测可用
<
project
xmlns
=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
<
modelVersion
>
4.0.0
</
modelVersion
>
<
groupId
>
com.hiquanten
</
groupId
>
<
artifactId
>
hessianServer
</
artifactId
>
<
packaging
>
war
</
packaging
>
<
version
>
0.0.1-SNAPSHOT
</
version
>
<
name
>
hessianServer
Maven
Webapp
</
name
>
<
properties
>
<
spring.version
>
4.3.7.RELEASE
</
spring.version
>
</
properties
>
<
dependencies
>
<
dependency
>
<
groupId
>
com.caucho
</
groupId
>
<
artifactId
>
hessian
</
artifactId
>
<
version
>
4.0.51
</
version
>
</
dependency
>
<
dependency
>
<
groupId
>
junit
</
groupId
>
<
artifactId
>
junit
</
artifactId
>
<
version
>
4.12
</
version
>
<
scope
>
test
</
scope
>
</
dependency
>
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-core
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 2)这个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control
/ Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar
及spring-beans.jar 文件就可以了。 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-beans
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 3)这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI
所需的全部类,instrumentation组件以及校验Validation 方面的相关类。 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-context
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 4) 这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类。 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-
jdbc
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 5) 为JDBC、
Hibernate
、JDO、JPA等提供的一致的声明式和编程式事务管理。 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-
tx
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 6)Spring web 包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-web
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 7)包含SpringMVC框架相关的所有类。 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-
webmvc
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!-- 8)Spring test 对JUNIT等测试框架的简单封装 -->
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-test
</
artifactId
>
<
version
>
${spring.version}
</
version
>
<
scope
>
test
</
scope
>
</
dependency
>
<
dependency
>
<
groupId
>
org.springframework
</
groupId
>
<
artifactId
>
spring-
aop
</
artifactId
>
<
version
>
${spring.version}
</
version
>
</
dependency
>
<!--
Servlet
web -->
<
dependency
>
<
groupId
>
javax.servlet
</
groupId
>
<
artifactId
>
javax.servlet-
api
</
artifactId
>
<
version
>
3.1.0
</
version
>
</
dependency
>
</
dependencies
>
<
build
>
<
finalName
>
hessianServer
</
finalName
>
<
plugins
>
<
plugin
>
<
groupId
>
org.apache.maven.plugins
</
groupId
>
<
artifactId
>
maven
-compiler-
plugin
</
artifactId
>
<
version
>
3.6.1
</
version
>
<
configuration
>
<
source
>
1.8
</
source
>
<
target
>
1.8
</
target
>
<
encoding
>
UTF8
</
encoding
>
</
configuration
>
</
plugin
>
<
plugin
>
<
groupId
>
org.mortbay.jetty
</
groupId
>
<
artifactId
>
jetty
-
maven
-
plugin
</
artifactId
>
<
version
>
8.1.10.v20130312
</
version
>
<
configuration
>
<
webAppConfig
>
<
contextPath
>
/HessianSpringMaven
</
contextPath
>
</
webAppConfig
>
</
configuration
>
</
plugin
>
</
plugins
>
</
build
>
</
project
>