由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - FMP3分布式编程
相关主题
FMP 3.0 Mitbbs 首发 — 求建议求反馈FMP mini profile
FMP 进驻 Programming 版FMP supports UI thread in both Swing and SWT
写thread safe程序现在也是程序员必须要掌握的了吧FMP 已经在 maven central repository 里了
我现在明白为什么ejb会难了FMP tutorial
excel里的命令找不到FMP vs ExecutorService/Future
关于那个经典的missing number的题 (转载)FMP for concurrent programming 招生(免费辅导)
FMP 一个完整可运行的范例程序Java 多线程 的架构如何改进?
java update main UI from child thread issue (转载)请教一下 open source 的 目录
相关话题的讨论汇总
话题: m1话题: m2话题: m3话题: biginteger话题: multiply
进入Programming版参与讨论
1 (共1页)
o**2
发帖数: 168
1
我刚完成FMP3的Java版,就写了一个小小的DEMO,叫做M123,来展示其分布式编程的基
本能力和风格。
FMP3之前的是FMP2,其重点是把一个POJO(plain old object)立即包装成一个service
。这是一个和web service类似的service,有自己的identity和能独立运行。这样,当
一个程序中有多个这样的services后,整个程序就能展现出并发性了。
下面就是一个POJO的class:
public class Calculator {
public BigInteger multiply (BigInteger n1, BigInteger n2) {
return n1.multiply (n2);
}
}
下面这两行展示如何建立一个service:
DefaultMessenger messenger = new DefaultMessenger ("m1");
messenger.createService (new Calculator (), "calc", "multiply");
下面这两行展示如何使用上面已经建立的service(token就是类似的future):
Result token = messenger.callService ("m1 :: calc : multiply",
n1, n2);
BigInteger product = token.get (); // blocking
FMP3解决的是如何让在FMP2阶段里建立起来的services,能在分布式的环境里,被在任
何一个角落里的调用者,用和调用local service同样的方式来调用。
M123的得名是因为它包含3个不同的程序:M1、M2、和M3,每一个都将在其各自的JVM中
运行,并各有一个同名的messenger:"m1"、"m2"、和"m3"。M1、M2、和M3之间用一个
socket来连接:M1连M2,M2连M3。这样M1和M3是经由M2间接连接起来的。(请参照下图
。)
M123共有3个test cases,都在M1里面。它们使用完全相同的API,分别调用不同JVM中
的service:
messenger.callService ("m1 :: calc : multiply", n1, n2);
messenger.callService ("m2 :: calc : multiply", n1, n2);
messenger.callService ("m3 :: calc : multiply", n1, n2);
http://fastmessenger.com/files/javanet/M123.zip
请自行观察运行结果(先运行M3,然后M2,最后M1)。
z*******3
发帖数: 13709
2
re
o**2
发帖数: 168
3
补充一点:FMP是跨语言的,一个JavaScript写的service(在browser里或在Node.js里
),和一个Java写的service,在调用者眼里是没有区别的。
1 (共1页)
进入Programming版参与讨论
相关主题
请教一下 open source 的 目录excel里的命令找不到
java有没有用户自定义长度integer类型?关于那个经典的missing number的题 (转载)
现在hibernate这种流行框架FMP 一个完整可运行的范例程序
问一个简单的:setter 和getter有什么用处?java update main UI from child thread issue (转载)
FMP 3.0 Mitbbs 首发 — 求建议求反馈FMP mini profile
FMP 进驻 Programming 版FMP supports UI thread in both Swing and SWT
写thread safe程序现在也是程序员必须要掌握的了吧FMP 已经在 maven central repository 里了
我现在明白为什么ejb会难了FMP tutorial
相关话题的讨论汇总
话题: m1话题: m2话题: m3话题: biginteger话题: multiply