JNBridge提供了跨越Java与.NET代码的分布式事务支持
JNBridge提供了跨越Java与.NET代码的分布式事务支持
作者 Jonathan Allen 译者 张龙 发布于 2009年12月28日 上午5时5分
社区 .NET, Java 主题 互操作, 事务处理 标签 JNBridge
凭借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,但如果出错开发者只能依靠自己的力量去解决。与此形成鲜明对比的是,受支持的平台则具有丰富的文档。
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
A flexible layout configurable with pattern string.
The goal of this class is to format
a LoggingEvent
and return the results as a String. The results depend on the conversion
pattern
.
The conversion pattern is closely related to the conversion pattern of the
printf function in C ......
//create a new Document
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.newDocument();
//add root Node
Element noteuser = d.createElement("note-users");
d.appendChil ......
通常,我们为了避免内存溢出等问题,需要设置环境变量
JAVA_OPTS -Xms256M -Xmx512M 等,【对于服务器,一般都设置成一样的】
但是有的时候可能这样的设置还会不行(比如,当Server应用程序加载较多类时,即jvm加载类时,永久域中的对象急剧增加,从而使jvm不断调整永久域大小,为了避免调整),你可以使 ......
网络上流传着一个Google Map 编码折线算法的Java实现,但是计算结果与GOOGLE MAP API 帮助里面的交互工具的计算结果有出入,所以自己写了一一个,计算结果与GOOGLE MAP API 帮助里面的交互工具的计算结果一致。package unit;
/**
* Google Map 编码折线算法Java实现
*
* @author libin
*/
public cl ......