在安装 SQL Anywhere Studio 时,安装程序将自动设置 MobiLink Java API 类的位置。在启动 MobiLink 同步服务器时,服务器将自动将这些类包含在类路径中。MobiLink Java API 类安装在 SQL Anywhere Studio 安装目录的 java\mlscript.jar 中。MobiLink 使用 ASANYSH9 环境变量确定共享组件路径。
有关详细信息,请参见 ASANYSH9 环境变量。
使用 Java 实现同步脚本:
创建您自己的类。为每个所需的同步脚本编写方法。这些方法必须是公共的。类在程序包中必须是公共的。
有关方法的详细信息,请参见方法。
每个包含非静态方法的类都应具有公共构造函数。在第一次调用每个类中的方法时,MobiLink 同步服务器将自动创建该类的一个实例。
有关构造函数的详细信息,请参见构造函数。
编译类时必需包括 JAR 文件 java\mlscript.jar。
例如,
javac MyClass.java -classpath %ASANY9%\java\mlscript.jar
在统一数据库中,为每个同步脚本调用的程序包、类和方法指定名称。每个脚本版本中只允许存在一个类。
要将这些信息添加到 MobiLink 系统表中,最简单的方法是使用 ml_add_java_connection_script 存储过程或 ml_add_java_table_script 存储过程。
例如,如果在 Adaptive Server Anywhere 数据库中运行以下 SQL 语句,将为脚本版本 ver1 指定只要发生 authenticate_user 连接级别事件,即运行 myPackage.myClass.myMethod。指定的方法必须是公共 Java 方法的完全限定名称,该名称区分大小写。
call ml_add_java_connection_script( 'ver1', 'authenicate_user', 'myPackage.myClass.myMethod' )
有关添加脚本的详细信息,请参见:
指示 MobiLink 服务器加载类。设置 Java 同步逻辑中至关重要的部分是告知虚拟机到哪里寻找 Java 类。有两种方法可实现这一点:
使用 dbmlsrv9 -sl java -cp 选项来指定一组目录或 jar 文件以便在其中寻找类。例如,在命令行中输入:
dbmlsrv9 -c "dsn=consolidated1" -sl java (-cp %classpath%;c:\local\Java\myclasses.jar)
MobiLink 同步服务器自动将 MobiLink Java 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 的目录。该目录必须被列在任何 Adaptive Server Anywhere 安装目录之前。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。