雪湖小札@blogjava
心情與技術(shù)文檔同行 http://hi.baidu.com/jingleq
BlogJava
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
24 Posts :: 2 Stories :: 4 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(4)
給我留言
查看公開(kāi)留言
查看私人留言
我參與的團(tuán)隊(duì)
深圳Java俱樂(lè)部(0/0)
隨筆檔案
(24)
2012年2月 (1)
2007年11月 (1)
2007年7月 (1)
2007年6月 (13)
2007年5月 (8)
文章檔案
(2)
2007年6月 (2)
搜索
最新評(píng)論
1.?re: struts與flex通過(guò)xml交互模型
路過(guò),哈
--豆抓
2.?re: 跑在groovy上的rmi
Groovy可以充分利用Java世界中的一切資源,這也是Groovy的一大優(yōu)勢(shì) :)
--山風(fēng)小子
3.?re: 征服javascript(七)-Jquery插件jquery.jq.mvc發(fā)布
玩jQuery有一段時(shí)間,看起來(lái)你這是一個(gè)有意思的東西
--NetFetch
4.?re: antlr-語(yǔ)言編譯的簡(jiǎn)化
是antlr2的寫(xiě)法
--山風(fēng)小子
閱讀排行榜
1.?struts與flex通過(guò)xml交互模型(2153)
2.?asm學(xué)習(xí)(6)--asm應(yīng)用(使用jasml對(duì)antlrstudio破解)(1828)
3.?跑在groovy上的rmi(1323)
4.?antlr-(一)語(yǔ)言編譯的簡(jiǎn)化(1274)
5.?征服javascript(七)-Jquery插件jquery.jq.mvc發(fā)布 (1115)
評(píng)論排行榜
1.?征服javascript(七)-Jquery插件jquery.jq.mvc發(fā)布 (1)
2.?struts與flex通過(guò)xml交互模型(1)
3.?跑在groovy上的rmi(1)
4.?antlr-(一)語(yǔ)言編譯的簡(jiǎn)化(1)
5.?asm學(xué)習(xí)(6)--asm應(yīng)用(使用jasml對(duì)antlrstudio破解)(0)
跑在groovy上的rmi
小試了一把用groovy來(lái)寫(xiě)java的rmi,體驗(yàn)到了groovy對(duì)java的兼容性,無(wú)論從代碼上還是功能上!真的可以理groovy就是腳本化的java,groovy就是java擴(kuò)衡ruby on rails的武器!
參考了網(wǎng)上的經(jīng)典《Java RMI 入門(mén)》,我寫(xiě)了兩個(gè)groovy文件。因?yàn)橄敕略靔ava的文件管理方式,所以我把接口寫(xiě)成一個(gè)groovy文件,實(shí)現(xiàn)類(lèi)寫(xiě)成一個(gè)groovy文件。雖然單個(gè)groovy文件名可以和里面的類(lèi)名不一樣,但是如果出現(xiàn)不一樣的,在import關(guān)聯(lián)的時(shí)候就會(huì)出現(xiàn)問(wèn)題。
F:\grails_apps\groovy\com\c2\HelloIn.groovy
package
com.c2;
import
java.rmi.
*
;
interface
HelloIn
extends
java.rmi.Remote
{
String sayHello()
throws
RemoteException;
}
F:\grails_apps\groovy\com\c2\Hello.groovy
package
com.c2;
import
java.rmi.
*
;
import
java.net.
*
;
import
java.rmi.registry.
*
;
import
java.rmi.server.
*
;
class
Hello
extends
java.rmi.server.UnicastRemoteObject
implements
HelloIn
{
Hello()
throws
RemoteException
{
super
();
}
String sayHello()
throws
RemoteException
{
return
"
Hello,World!
"
;
}
static
void
main(args)
{
try
{
Hello h
=
new
Hello();
Naming.rebind(
"
hello
"
,h);
println
"
ready
"
;
}
catch
(Exception e)
{
e.printStackTrace();
}
}
}
因?yàn)樵趯?xiě)rmi的時(shí)候需要通過(guò)命令從.class文件中生成*_Stub.class文件,所以必須把groovy文件通過(guò)groovyc編譯成.class文件,再通過(guò)命令rmic **來(lái)生成*_Stub.class。另外一個(gè)要運(yùn)行g(shù)roovy生成的.class文件需要加入groovy的相關(guān)包。為了使執(zhí)行過(guò)程自動(dòng)化,使用了ant來(lái)處理。
在開(kāi)啟rmi的注冊(cè)服務(wù)之后就可以通過(guò)ant來(lái)執(zhí)行rmi了。開(kāi)戶rmi服務(wù)命令:rmiregistry
在執(zhí)行rmi的時(shí)候關(guān)鍵是給jvm加個(gè)參數(shù)-Djava.rmi.server.codebase=file:/F:\grails_apps\groovy\/,注意,網(wǎng)上挺多-Djava.server.codebase的寫(xiě)法,這種寫(xiě)法在我的試驗(yàn)中不能通過(guò)。
F:\grails_apps\groovy\build.xml
<
project
name
="mygroovy-build"
default
="run"
>
<
property
environment
="env"
/>
<
path
id
="groovy.classpath"
>
<
fileset
dir
="C:/groovy-1.0/lib/"
/>
</
path
>
<
taskdef
name
="groovyc"
classname
="org.codehaus.groovy.ant.Groovyc"
classpathref
="groovy.classpath"
/>
<
target
name
="compile"
description
="compile groovy to bytecode"
>
<
mkdir
dir
="classes"
/>
<
groovyc
destdir
="classes"
srcdir
="."
includes
="com/c2/HelloIn.groovy,com/c2/Hello.groovy"
classpathref
="groovy.classpath"
>
</
groovyc
>
</
target
>
<
target
name
="mksub"
depends
="compile"
description
="make the sub"
>
<
rmic
classname
="com.c2.Hello"
base
="F:/grails_apps/groovy/classes/"
/>
</
target
>
<
target
name
="run"
depends
="mksub"
description
="run the compiled class"
>
<
java
classname
="com.c2.Hello"
fork
="true"
>
<
classpath
refid
="groovy.classpath"
/>
<
classpath
location
="classes"
/>
<
jvmarg
value
="-Djava.rmi.server.codebase=file:/F:\grails_apps\groovy\/"
/>
</
java
>
</
target
>
</
project
>
可能會(huì)遇到編譯時(shí)的lib問(wèn)題,如果缺少什么lib就用set classpath吧~`這個(gè)問(wèn)題我也有點(diǎn)疑惑,在另一臺(tái)機(jī)器上使用
<
path
id
="groovy.classpath"
>
<
fileset
dir
="C:/groovy-1.0/lib/"
/>
</
path>
不起作用,只能在控制臺(tái)上事先用set classpath來(lái)加下包。
posted on 2007-07-19 10:43
csnowfox
閱讀(1323)
評(píng)論(1)
編輯
收藏
Feedback
#
re: 跑在groovy上的rmi
2007-07-21 11:47
山風(fēng)小子
Groovy可以充分利用Java世界中的一切資源,這也是Groovy的一大優(yōu)勢(shì) :)
回復(fù)
更多評(píng)論
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
Powered by:
BlogJava
Copyright © csnowfox
主站蜘蛛池模板:
亚洲AV无码国产在丝袜线观看
|
亚洲无人区视频大全
|
国产成人AV片无码免费
|
亚洲欧洲在线播放
|
免费在线观看污网站
|
免费国产在线视频
|
亚洲午夜理论片在线观看
|
亚洲国产成人五月综合网
|
中文字幕在线观看免费视频
|
精品国产_亚洲人成在线高清
|
91精品导航在线网址免费
|
精品无码专区亚洲
|
亚洲国产AV无码专区亚洲AV
|
亚洲最大成人网色
|
日韩免费高清视频
|
久9这里精品免费视频
|
亚洲精品国产suv一区88
|
亚洲国产精品无码久久九九大片
|
亚洲色欲久久久久综合网
|
国产卡二卡三卡四卡免费网址
|
一级毛片免费在线播放
|
亚洲人色大成年网站在线观看
|
亚洲色一色噜一噜噜噜
|
无码国产精品一区二区免费I6
|
中国一级特黄的片子免费
|
亚洲精品视频免费观看
|
精品亚洲AV无码一区二区
|
国产精品亚洲精品日韩已满
|
国产成人无码免费视频97
|
久久久久久成人毛片免费看
|
男男gvh肉在线观看免费
|
亚洲大片免费观看
|
久久国产亚洲观看
|
久久久久亚洲AV成人网人人网站
|
人妻视频一区二区三区免费
|
免费视频成人手机在线观看网址
|
免费播放美女一级毛片
|
亚洲日韩AV无码一区二区三区人
|
亚洲一区二区电影
|
亚洲成av人片在线观看无码不卡
|
日产国产精品亚洲系列
|