ActiveX 客户机编程之 Java 虚拟机初始化技巧
通过 ActiveX 到 Enterprise Java™ Bean (EJB) 网桥初始化 Java 虚拟机 (JVM) 代码。为了 ActiveX 客户机程序(Visual Basic、VBScript 或 ASP)访问 Java 类或对象,此程序必须执行的第一步是在其进程中创建 Java 虚拟机 (JVM) 代码。
要创建 JVM 代码,ActiveX 程序调用 XJB.JClassFactory 对象的 XJBInit() 方法。 当创建了 XJB.JClassFactory 对象和调用 XJBInit() 方法时,初始化 JVM 并准备使用。
初始化时,要使 XJB.JClassFactory 能够查找 Java 运行时描述定义语言 (DLL),系统路径环境变量中必须存在 Java 运行时环境 (JRE) bin 和 bin\classic 目录。
XJBInit() 方法只接受一个参数:字符串数组。数组中的每个字符串表示命令行自变量,对于 Java 程序,您通常会在 Java.exe 命令行上指定此自变量。此字符串接口用于设置类路径、堆栈大小、堆大小和调试设置。您可以从命令行输入 java -? 获取这些参数的列表。
如果参数设置错误,那么您会接收到 0x6002“无法初始化 VM”的错误消息。
由于 Java 本机接口 (JNI) 的当前限制,您无法在装入 JVM 代码后卸装或重新初始化 JVM 代码。因此,在调用 XJBInit() 方法一次之后,后续的调用除了创建重复的 JClassFactory 对象以供您访问之外不会再有任何作用。最好全局存储您的 XJB.JClassFactory 对象并继续复用该对象。
- 下列 Visual Basic 抽取显示了初始化 JVM 代码的示例:
Dim oXJB as Object set oXJB = CreateObject(“XJB.JClassFactory”) Dim astrJavaInitProps(0) as String astrJavaInitProps(0) = _ “-Djava.class.path=.;c:\myjavaclasses;c:\myjars\myjar.jar” oXJB.XJBInit(astrJavaInitProps)