安装 SQL Anywhere 时,安装程序会自动设置用于 Java 的 MobiLink 服务器 API 类的位置。启动 MobiLink 服务器时,它会自动将这些类加入类路径中。用于 Java 的 MobiLink 服务器 API 类位于 install-dir\Java\mlscript.jar 中。
创建自己的类。为每个所需的同步脚本编写方法。这些方法必须是公共的。类在程序包中必须是公共的。
请参见方法。
每个包含非静态方法的类都应有一个公共的构造函数。在第一次调用每个类中的方法时,MobiLink 服务器都会自动实例化此类。
请参见构造函数。
编译类时必须包括 JAR 文件 java\mlscript.jar。
例如,
javac MyClass.java -classpath "c:\Program Files\SQL Anywhere 11\java\mlscript.jar" |
在统一数据库的 MobiLink 系统表中,为每个同步脚本指定要调用的程序包、类和方法的名称。每个脚本版本中只允许存在一个类。
例如,可以使用 ml_add_java_connection_script 存储过程或 ml_add_java_table_script 存储过程将此信息添加到 MobiLink 系统表中。
例如,如果在 SQL Anywhere 数据库中运行以下 SQL 语句,会指定每当发生 authenticate_user 连接级事件时脚本版本 ver1 将运行 myPackage.myClass.myMethod。指定的方法必须是公共 Java 方法的完全限定名称,而且名称应区分大小写。
call ml_add_java_connection_script('ver1', 'authenicate_user', 'myPackage.myClass.myMethod') |
有关添加脚本的详细信息,请参见:
指示 MobiLink 服务器装载类。设置 Java 同步逻辑中至关重要的部分是告知虚拟机到哪里寻找 Java 类。有两种方法可实现这一点:
使用 mlsrv11 -sl java -cp 选项来指定要在其中搜索类的一组目录或 jar 文件。例如,可运行以下命令:
mlsrv11 -c "dsn=consolidated1" -sl java (-cp %classpath%;c:\local\Java\myclasses.jar) |
MobiLink 服务器会自动将用于 Java 的 MobiLink 服务器 API 类 (java\mlscript.jar) 的位置附加到这组目录或 jar 文件中。-sl java 选项还强制在服务器启动时装载 Java VM。
有关可用 Java 选项的详细信息,请参见-sl java 选项。
显式设置类路径。使用下面这样的语句为用户定义的类设置类路径:
SET classpath=%classpath%;c:\local\Java\myclasses.jar |
如果系统类路径中已经包含 Java 同步逻辑类,则无需更改 MobiLink 服务器命令行。
可以使用 -sl java 选项强制在服务器启动时装载 Java 虚拟机。否则 Java 虚拟机将在第一个 Java 方法执行时启动。
有关可用 Java 选项的详细信息,请参见-sl java 选项。
在 Unix 上,如果想要装载特定的 JRE,应当设置 LD_LIBRARY_PATH(在 AIX 上为 LIBPATH,在 HP-UX 上为 SHLIB_PATH),使之包括含有该 JRE 的目录。此目录必须列在所有 SQL Anywhere 安装目录之前。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |