BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JNBridge提供了跨越Java与.NET代码的分布式事务支持

| 作者 Jonathan Allen 关注 530 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年12月29日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

凭借JNBridge技术,Java和.NET代码无需交叉编译器就可以实现对象共享。所有Java代码运行在JVM上,而.NET代码则运行在CLR上。在该方案下,JVM和CLR可以运行在不同的机器上,也可以运行在一台机器的不同进程上,甚至还能运行在相同的进程上。从开发者的角度来看,运行在其他虚拟机上的对象仅仅是代理的远程对象而已。JNBridge有着悠久的历史,其首个版本发布于2002年6月。Adobe的ColdFusion是其最知名的客户,我们曾于2007年首度报道其对.NET的支持。

最新版的JNBridge可以轻松实现跨越虚拟机的分布式事务。其过程用两个字来说就是——简单。虽然开发者总是可以手工实现两阶段提交所需的工作,但借助于JNBridge 5.0,这一切都变得无比简单了,它能够帮助我们看管.NET一边的System.Transaction以及Java一边的javax.transaction。除了一些配置和对JavaTM.enable或是DotNetTM.enable的调用外,一切都和本地事务毫无二致。

要想使用JNBridge,开发者需要熟悉代理生成工具。该工具既可以独立运行,也可以作为Eclipse和Visual Studio的插件运行。其Eclipse版本证明了JNBridge的强大所在,因为它实际上是用.NET/WinForms开发的。

GUI可以两种方式运行,嵌入在WinForms和WPF中的Java AWT和Swing组件。很多公司都采取了这种方式:用Java构建了非常专业的控件(比如分子观测仪)并希望将其技术移植给.NET开发者而不想进行大量的迁移工作。

目前,JNBridge官方还没有支持Mono和Silverlight的计划。虽然JNBridge的底层技术同样适用于Mono和Silverlight 4,但如果出错开发者只能依靠自己的力量去解决。与此形成鲜明对比的是,受支持的平台则具有丰富的文档。

查看英文原文:JNBridge Brings Distributed Transactions Across Java and .NET Code

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT