浏览 3992 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-02-25
最后修改:2013-02-25
一、bboss hessian属性 bboss ioc为hessian组件定义了一组扩展属性,说明如下: hessian:api 服务接口 hessian:serializable xml|bin 序列化类型,默认为bin hessian:debug default false used by serializable="bin". hessian:sendCollectionType used by serializable="bin". default true Set whether to send the Java collection type for each serialized collection. hessian:serializerFactory used by serializable="bin".default com.caucho.hessian.io.SerializerFactory 二、hessian服务部署 依托bboss ioc模块,hessian服务发布非常简单,首先配置hessian 服务dispatchservlet用来接收hessian服务调用请求: 在web.xml文件中配置HessionDispatchServlet <servlet> <servlet-name>HessionRemote</servlet-name> <servlet-class>org.frameworkset.spi.remote.hession.HessionDispatchServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HessionRemote</servlet-name> <url-pattern>/hessian</url-pattern> </servlet-mapping> 这样所有的bboss ioc容器中的组件(这些组件需要实现特定的服务接口)即可作为hessian服务接收客户端调用了。 三、客户端调用hessian服务 定义服务url String url = "http://localhost:8080/context/hessian?container=bboss.hessian.mvc&containertype=mvc&service=basicservice";//指定容器标识和容器类型及服务标识 url = "http://localhost:8080/context/hessian?service=basicservice";//默认获取mvc容器中的组件 url参数说明: container:服务端ioc容器标识,一般是ioc容器根xml文件对应的类包路径, 例如:org/frameworkset/spi/remote/hession/server/hessian-service.xml mvc类型容器值为bboss.hessian.mvc(也是container的默认值) containertype: 容器类型 mvc mvc容器 simple 对应ioc容器类型为DefaultApplicationContext 其他值 对应ioc容器类型为ApplicationContext service:服务标识,ioc组件的名称 创建bin模式客户端代理 HessianProxyFactory factory = new HessianProxyFactory(); ServiceInf basic = (ServiceInf) factory.create(org.frameworkset.spi.remote.hession.server.ServiceInf.class, url); System.out.println("Hello: " + basic.hello("John")); 创建xml模式客户端代理 BurlapProxyFactory factory = new BurlapProxyFactory(); ServiceInf basic = (ServiceInf) factory.create(org.frameworkset.spi.remote.hession.server.ServiceInf.class, url); System.out.println("Hello: " + basic.hello("John")); 通过bboss-ioc配置和获取客户端 <property name="clientservice" factory-class="com.caucho.hessian.client.HessianProxyFactory" factory-method="create"> <construction> <property value="org.frameworkset.spi.remote.hession.server.ServiceInf"/> <property value="http://localhost:8080/context/hessian?service=basicservice"/> </construction> </property> DefaultApplicationContext context = DefaultApplicationContext.getApplicationContext("org/frameworkset/spi/remote/hession/client/hessian-client.xml"); //获取客户端组件实例 ServiceInf basic = context.getTBeanObject("clientservice", ServiceInf.class); 使用bboss工厂模式,调用HessianProxyFactory的create方法创建hessian服务客户端调用组件,同时我们可以采用bboss ioc依赖注入特征,将hessian客户端的相关参数(connectionTimeout,readTimeout等)设置到HessianProxyFactory中. org/frameworkset/spi/remote/hession/client/hessian-client.xml ok,bboss 发布和使用hessian服务方法就介绍到此,欢迎大家留言交流。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-02-26
借助于bboss cxf 服务发布模块,可以同时将bboss中管理的组件发布为webservice服务和hessian服务,调用端可以根据需要选用webservice客户端还是hessian客户端
|
|
返回顶楼 | |
发表时间:2013-02-28
与之前的通讯组件比,性能不知道怎么样。
|
|
返回顶楼 | |
发表时间:2013-02-28
ainidehsj 写道 与之前的通讯组件比,性能不知道怎么样。
bboss hessian和之前的bboss本身提供通讯组件是完全不同的模式,bboss hessian模块只是简单地将bboss ioc中的组件发布成hessian服务,其性能完全取决于hessian本身的性能。 |
|
返回顶楼 | |