实现简单的WebService测试用发布工具
2014-11-06 15:22
246 查看
这几天研究WebService,测试启什么server很烦,直接写main又嫌写烦,干脆写了个简单的发布工具,通过load properties来实现publish。
上代码:
要发布也很简单,在同目录下的service.properties中配置就行:
很简单的东西,就当玩玩了。
上代码:
public class Publisher { public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException { Properties pros = new Properties(); pros.load(Publisher.class.getResourceAsStream("service.properties")); Set<String> keys = pros.stringPropertyNames(); if(keys != null){ Map<String, ServiceProperty> services = new HashMap<String, Publisher.ServiceProperty>(); for (String key : keys) { String[] ks = key.split("\\."); if(ks != null && ks.length==3 && "service".equalsIgnoreCase(ks[0])){ String name = ks[1]; ServiceProperty sp; if(services.containsKey(name)){ sp = services.get(name); }else{ sp = new ServiceProperty(); sp.name = name; services.put(name, sp); } if("interface".equalsIgnoreCase(ks[2])){ sp.interfaceClass = pros.getProperty(key); }else if("implements".equalsIgnoreCase(ks[2])){ sp.implementsClass = pros.getProperty(key); }else if("address".equalsIgnoreCase(ks[2])){ sp.address = pros.getProperty(key); } } } outter : for (ServiceProperty sp : services.values()) { Class<?> intClass = Class.forName(sp.interfaceClass); Class<?> impClass = Class.forName(sp.implementsClass); if(!intClass.isInterface()){ throw new RuntimeException("Service which named : " + sp.name + " the interface setting is error."); } for (Class<?> clazz : impClass.getInterfaces()) { if(clazz.equals(intClass)){ String address = sp.address; Object imp = impClass.newInstance(); System.out.println("Publish service : " + sp.name); System.out.println("Service class : " + sp.implementsClass); System.out.println("Service address : " + sp.address); Object it = intClass.cast(imp); Endpoint.publish(address, it); continue outter; } } } } } static class ServiceProperty{ private String name; private String interfaceClass; private String implementsClass; private String address; } }
要发布也很简单,在同目录下的service.properties中配置就行:
service.userService.interface=com.wuningsi.ms.ws.UserService service.userService.implements=com.wuningsi.ms.ws.UserServiceImpl service.userService.address=http://ws.ms.wuningsi.com/user
很简单的东西,就当玩玩了。
相关文章推荐
- 分享一个.NET实现的简单高效WEB压力测试工具
- 分享一个.NET实现的简单高效WEB压力测试工具
- 分享一个.NET实现的简单高效WEB压力测试工具
- 分享一个.NET实现的简单高效WEB压力测试工具
- CXF实现简单webservice应用、集成spring发布到tomcat
- 使用erlang实现简单的http性能测试工具,替代loadrunner、loadspace
- Java实现简单的截图工具(未测试)
- 简单的webservice发布和测试
- 分享一个.NET实现的简单高效WEB压力测试工具
- Java实现的简单的WebService服务发布和Client调用例子
- 分享一个.NET实现的简单高效WEB压力测试工具
- 使用Axis2技术发布webservice接口,使用wsCaller.jar工具测试接口
- Oracle语句生成+存储过程测试工具发布:Easytran V0.1
- JBOSS发布JSF测试工具-JSFUnit
- 发布一个性能测试工具的破解补丁
- 利用Ant实现项目自动构建测试备份并发布到项目web(4)
- JBOSS发布JSF测试工具-JSFUnit
- 使用AOP,在spring中实现简单的性能测试
- 用NUnit2.1简单实现.net的测试驱动开发(TDD)---转帖
- MapXtreme中桌面信息工具(InfoTool)的简单实现