仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 516|回复: 12
打印 上一主题 下一主题

[学习教程] JAVA编程:Spring的RMI , Http Invoker, Hessian测试了局仓酷云

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,net网页编程beans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。RMI设置申明:
1:对象序列化:
publicclassAccountimplementsSerializable{
privateStringname;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
}
2:远程接口界说:
publicinterfaceRemoteCallExampleextendsRemote{
publicStringshow()throwsRemoteException;
}
3:远程接话柄现:
publicclassRemoteCallExampleImplimplementsRemoteCallExample{
@Override
publicStringshow()throwsRemoteException{
return"remotetest";
}
}
4:Spring服务器端设置(利用RmiServiceExporter来):
在WEB-INF目次上面新建remoting-servlet.xml文件,增加相干的设置。
<beanname="remoteCallExample"class="com.hqb360.pay.service.impl.RemoteCallExampleImpl"/>
<beanclass="org.springframework.remoting.rmi.RmiServiceExporter">
<!&ndash;doesnotnecessarilyhavetobethesamenameasthebeantobeexported&ndash;>
<propertyname="serviceName"value="remoteCallExample"/>
<propertyname="service"ref="remoteCallExample"/>
<propertyname="serviceInterface"value="com.hqb360.pay.service.RemoteCallExample"/>
<!&ndash;defaultsto1099&ndash;>
<propertyname="registryPort"value="1199"/>
</bean>
5:服务器端类
publicclassRemoteCallRMI{
publicStringshow()throwsRemoteException{
returnremoteCallExample.show();
}
privateRemoteCallExampleremoteCallExample;
publicRemoteCallExamplegetRemoteCallExample(){
returnremoteCallExample;
}
publicvoidsetRemoteCallExample(RemoteCallExampleremoteCallExample){
this.remoteCallExample=remoteCallExample;
}
}
6:服务器端设置
<beanname="remoteCallRMI"class="com.hqb360.pay.service.impl.RemoteCallRMI">
<propertyname="remoteCallExample"ref="remoteCall"/>
</bean>
<beanid="remoteCall"class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<propertyname="serviceUrl"value="rmi://192.168.100.10:1199/remoteCallExample"/>
<propertyname="serviceInterface"value="com.hqb360.pay.service.RemoteCallExample"/>
</bean>
一些RMI成绩申明:
1.RMI在启动设置中必要增加:-Djava.rmi.server.hostname=192.168.100.10
2.必要制订相干的详细IP,把读取设置文件放到体系启动的时分处置。
Spring3.0后默许的HandlerMapping是DefaultAnnotationHandlerMapping,不是之前的BeanNameUrlHandlerMapping,以是设置Hessian和HttpInvoker的时分必要从头界说一下HandlerMapping.
在依照spring手册设置的时分必要增加界说(Spring文档有漏掉的中央):
<!&ndash;Hessian启动BeanNameMapping映照功效,以httpRequest作为处置Adapter&ndash;>
<beanclass="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<propertyname="defaultHandler"ref="httpRequestHandlerAdapter"/>
</bean>
<!&ndash;Hessian体例以Http举行传送&ndash;>
<beanid="httpRequestHandlerAdapter"class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"/>
测试了局
测试功能:RMI>Hessian>HttpInvoker
数据图表以下:

<br>
RMI
RMI并发测试(线程池巨细:5,线程数:5)
[TestRunner]StartingexecutortimeOut:1000000msworkers:5threadPoolSize:5
0[5,880ms,100%]
0[5,881ms,100%]
0[5,977ms,100%]
0[5,978ms,100%]
0[5,989ms,100%]
RemoteTestNGfinishing:8318ms
RMI并发测试(线程池巨细:5,线程数:10)
[TestRunner]StartingexecutortimeOut:1000000msworkers:10threadPoolSize:5
0[5,843ms,100%]
0[5,856ms,100%]
0[5,864ms,100%]
0[5,967ms,100%]
0[5,970ms,100%]
0[5,795ms,100%]
0[5,810ms,100%]
0[5,812ms,100%]
0[5,891ms,100%]
0[5,935ms,100%]
RemoteTestNGfinishing:14194ms
Httpinvoker
并发测试(线程池巨细:5,线程数:5)
[TestRunner]StartingexecutortimeOut:100000msworkers:5threadPoolSize:5
0[24,350ms,100%]
0[25,384ms,100%]
0[27,601ms,100%]
0[27,700ms,100%]
0[29,443ms,100%]
RemoteTestNGfinishing:31737ms
并发测试(线程池巨细:5,线程数:10)
[TestRunner]StartingexecutortimeOut:1000000msworkers:10threadPoolSize:5
0[26,519ms,100%]
0[26,637ms,100%]
0[28,365ms,100%]
0[29,744ms,100%]
0[29,821ms,100%]
0[28,433ms,100%]
0[29,914ms,100%]
0[31,795ms,100%]
0[28,959ms,100%]
0[29,407ms,100%]
RemoteTestNGfinishing:61477ms
hessian测试了局
并发测试(线程池巨细:5,线程数:5)
[TestRunner]StartingexecutortimeOut:100000msworkers:5threadPoolSize:5
0[13,343ms,100%]
0[13,957ms,100%]
0[14,544ms,100%]
0[14,612ms,100%]
0[14,822ms,100%]
RemoteTestNGfinishing:17133ms
并发测试(线程池巨细:5,线程数:10)
[TestRunner]StartingexecutortimeOut:100000msworkers:10threadPoolSize:5
0[13,407ms,100%]
0[14,058ms,100%]
0[14,271ms,100%]
0[14,293ms,100%]
0[18,198ms,100%]
0[14,496ms,100%]
0[15,128ms,100%]
0[16,478ms,100%]
0[17,680ms,100%]
0[17,317ms,100%]
RemoteTestNGfinishing:37844ms

必要测试代码的接洽:longtask@gmail.com

微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
莫相离 该用户已被删除
沙发
发表于 2015-1-22 21:16:08 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-25 20:19:34 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
爱飞 该用户已被删除
地板
发表于 2015-1-26 07:49:17 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
若相依 该用户已被删除
5#
发表于 2015-2-2 13:04:31 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
透明 该用户已被删除
6#
发表于 2015-2-3 12:18:00 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-8 22:05:17 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
飘灵儿 该用户已被删除
8#
发表于 2015-2-26 11:38:35 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
老尸 该用户已被删除
9#
发表于 2015-3-6 01:45:42 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
简单生活 该用户已被删除
10#
发表于 2015-3-8 22:34:50 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
蒙在股里 该用户已被删除
11#
发表于 2015-3-11 00:59:40 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
若天明 该用户已被删除
12#
发表于 2015-3-17 17:10:47 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
13#
发表于 2015-3-24 13:24:49 | 只看该作者
是一种为 Internet发展的计算机语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 21:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表