- 浏览: 7339178 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
在使用Spring的发布WebService的实现,如果采用Brap实现更加简单,权限验证只需要添加相关的验证接口
服务接口:
package com.easyway.remoting.braps; /** * 服务实现的接口 * @author longgangbai * */ public interface HelloService { public String sayHello(String name); }
服务的实现类:
package com.easyway.remoting.braps; /** * 服务端的服务实现类 * @author longgangbai * */ public class HelloServiceImpl implements HelloService { public String sayHello(String name) { return "Hello world, " + name; } }
spring的配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" default-autowire="no" default-lazy-init="true"> <!-- 服务包装类--> <bean id="helloRemoteService" class="no.tornado.brap.servlet.ServiceWrapper"> <property name="service" ref="helloService" /> <property name="authenticationProvider" ref="authenticationProvider" /> <property name="authorizationProvider" ref="authorizationProvider" /> </bean> <!-- 服务端服务实现类 --> <bean id="helloService" class="com.easyway.remoting.braps.HelloServiceImpl" /> <!-- 用户验证的信息--> <bean id="authenticationProvider" class="no.tornado.brap.auth.SingleUsernamePasswordAuthenticator"> <property name="username" value="admin" /> <property name="password" value="admin" /> </bean> <!-- 权限验证器--> <bean id="authorizationProvider" class="no.tornado.brap.auth.AuthenticationRequiredAuthorizer" /> </beans>
web.xml配置:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>BRAP Test</display-name> <!-- 设置Spring的配置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 需要暴露spring的一种服务 --> <servlet> <servlet-name>hello</servlet-name> <servlet-class>no.tornado.brap.spring.SpringProxyServlet</servlet-class> <!-- 需要暴露的bean名称 --> <init-param> <param-name>beanName</param-name> <param-value>helloRemoteService</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 暴露的路径名称 --> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/remoting/hello</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
客户端调用如下:
package com.easyway.ws.brap.service.client; import java.net.MalformedURLException; import no.tornado.brap.client.ServiceProxyFactory; import no.tornado.brap.common.UsernamePasswordPrincipal; import com.easyway.remoting.braps.HelloService; /** * 客户端调用代码 * @author longgangbai * */ public class BrapClient { public static void main(String[] args) throws MalformedURLException { //客户端验证的用户名和密码 UsernamePasswordPrincipal upp = new UsernamePasswordPrincipal("admin", "admin"); //客户端的服务信息 HelloService service = ServiceProxyFactory.createProxy( HelloService.class, "http://localhost:8080/BrapServiceWS/remoting/hello", upp); //客户端的操作 System.out.println(service.sayHello("Hello")); } }
- BrapServiceSpringWS.zip (5.2 MB)
- 下载次数: 25
发表评论
-
【转】Django resources
2014-01-23 14:35 10828Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197843pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 257531> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9220在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2840安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3648在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1674在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2239在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1605在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1748在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1101http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3356TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51588文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14199最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8695TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2715TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2812TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2455TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2785TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2703TestNG官方网站: http://testng.or ...
相关推荐
9. **微服务架构支持**:BRAP与Spring Cloud、Dubbo等微服务框架兼容,可以在现有的微服务架构中无缝集成,提升微服务间的通信性能。 10. **监控与日志**:BRAP提供了全面的调用链监控和日志记录,便于开发者排查...
BRAP(Business Remote Access Protocol)是一个专为Java设计的高性能、轻量级的远程调用框架,它旨在简化分布式系统中的服务调用过程,提高系统的可扩展性和灵活性。本资料包含的是BRAP的源码,对于Java开发者来说...
基于java的开发源码-brap(Java远程调用框架 BRAP).zip 基于java的开发源码-brap(Java远程调用框架 BRAP).zip 基于java的开发源码-brap(Java远程调用框架 BRAP).zip 基于java的开发源码-brap(Java远程调用框架 BRAP)....
5. **安全控制**:BRAP支持基于Token的身份验证和授权,确保只有合法的客户端才能访问服务,保障了服务的安全性。 6. **监控与管理**:BRAP提供了丰富的监控指标,包括调用次数、调用延迟、成功率等,便于运维人员...
5. **API友好**:BRAP提供了简单的API,开发者可以通过注解或者配置来定义服务接口和实现,使得开发过程更加直观。 6. **协议独立**:虽然BRAP默认使用HTTP作为传输协议,但它也支持自定义协议,以适应不同的网络...
BRAP则更专注于Java生态,且提供了更简单的API和更直接的Java对象传输。 5. **BRAP在实际项目中的应用** - **微服务架构**:在微服务架构中,BRAP可以作为服务间通信的桥梁,实现服务解耦和高可用。 - **大...
1. **简单易用**:BRAP的API设计简洁,开发者可以快速上手,减少学习成本。 2. **高性能**:通过高效的序列化和网络通信优化,实现低延迟的远程调用。 3. **高可用性**:支持服务注册、发现、负载均衡和熔断,增强...
- **大数据处理**:在大数据处理场景中,BRAP可以用于分布式计算任务的调度和协调。 - **云平台**:在云环境中,BRAP可以为多租户服务提供高效可靠的调用支持。 6. **学习路径** - 首先,你需要掌握Java基础和...
JAVA源码brap(Java远程调用框架BRAP)
BRAP在RPC的基础上,提供了更丰富的功能和优化策略,包括服务注册与发现、服务版本管理、负载均衡、故障隔离、服务监控等。 1. **服务注册与发现**:BRAP框架使用中心化的服务注册表,服务提供者在启动时会将自己的...
java资源brap(Java远程调用框架 BRAP)提取方式是百度网盘分享地址
BRAP可能包含了身份验证、授权和加密等安全措施,以防止未经授权的访问和数据泄露。 通过研究BRAP的源码,开发者可以学习到如何构建高效、可靠的远程调用框架,这对于理解和改进现有的分布式系统,或者开发新的...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
浏览器记录器和播放器 (BRAP) 正是这样的工具。 它是一个开源 Java 包,您可以在其中决定对记录和播放感兴趣的用户操作类型。 BRAP 在检测由于用户交互而导致的页面更改方面很智能,因此当您想在多页面设置中记录和...
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....
GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....