Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » MobiLink - Serveradministration » MobiLink-Server-APIs » Schreiben eines Synchronisationsskripts in Java

 

Java-Synchronisationslogik einrichten

Verwenden Sie die folgende Prozedur, um Synchronisationsskripten in Java zu implementieren.

Voraussetzungen

Es gibt keine Voraussetzungen für diese Aufgabe.

Kontext und Bemerkungen

Wenn Sie SQL Anywhere installieren, legt das Installationsprogramm automatisch den Speicherort der API für Java-Klassen von MobiLink fest. Wenn Sie den MobiLink-Server starten, schließt er diese Klassen automatisch in die classpath-Variable ein. Die MobiLink-Server-API für Java-Klassen befindet sich in %SQLANY16%\java\mlscript.jar.

 Aufgabe
  1. Erstellen Sie Ihre Klassen. Schreiben Sie für jedes einzelne erforderliche Synchronisationsskript eine Methode. Diese Methoden müssen öffentlich sein. Die Klasse muss im Paket öffentlich sein.

    Siehe Methoden.

    Jede Klasse mit nichtstatischen Methoden muss über einen öffentlichen Konstruktor verfügen. Der MobiLink-Server instanziert automatisch jede einzelne Klasse, wenn eine Methode in der betreffenden Klasse zum ersten Mal aufgerufen wird.

    Siehe Konstruktoren.

  2. Beim Kompilieren der Klasse müssen Sie die JAR-Datei java\mlscript.jar einbeziehen.

    Beispiel:

    javac MyClass.java -classpath "C:\Program Files\SQL Anywhere 16\java\mlscript.jar"
  3. In den MobiLink-Systemtabellen Ihrer konsolidierten Datenbank geben Sie für jedes einzelne Skript den Namen des aufzurufenden Pakets, der Klasse und der Methode an. Pro Skriptversion ist eine Klasse zulässig.

    Sie können diese Angaben beispielsweise mit der gespeicherten Prozedur ml_add_java_connection_script oder ml_add_java_table_script in die MobiLink-Systemtabellen einfügen.

    Wird z.B. die folgende SQL-Anweisung in einer SQL Anywhere-Datenbank ausgeführt, dann wird festgelegt, dass "MyPackage.MyClass.myMethod" für die Skriptversion verl immer dann ausgeführt werden soll, wenn auf Verbindungsebene das Ereignis authenticate_user eintritt. Bei der festgelegten Methode muss es sich um den vollständigen qualifizierten Namen einer öffentlichen Java-Methode handeln. Der Name berücksichtigt die Groß- und Kleinschreibung.

    call ml_add_java_connection_script('ver1',
    'authenticate_user', 'myPackage.myClass.myMethod')

    Weitere Hinweise zur Erstellung von Skripten finden Sie unter:

  4. Weisen Sie den MobiLink-Server an, Klassen zu laden. Ein wesentlicher Bestandteil der Java-Synchronisationslogik besteht darin, der Java VM mitzuteilen, wo sich die Java-Klassen befinden. Dies kann auf zwei Wegen geschehen:

    • Verwenden Sie die mlsrv16-Option -sl java -cp, um eine Reihe von Verzeichnissen oder Jar-Dateien festzulegen, in denen nach Klassen gesucht werden soll. Führen Sie zum Beispiel folgenden Befehl aus:

      mlsrv16 -c "DSN=consolidated1" -sl java (-cp %classpath%;c:\local\Java\myclasses.jar)

      Der MobiLink-Server fügt automatisch den Speicherort der API für Java-Klassen des MobiLink-Servers (java\mlscript.jar) an die Gruppe der Verzeichnisse oder JAR-Dateien an. Die Option -sl java erzwingt auch, dass die Java Virtual Machine beim Start des Servers geladen wird.

      Weitere Hinweise zu den verfügbaren Java-Optionen finden Sie unter mlsrv16-Option -sl java.

    • Legen Sie den Klassenpfad explizit fest. Verwenden Sie eine Anweisung wie die folgende, um den Klassenpfad für benutzerdefinierte Klassen festzulegen:

      SET classpath=%classpath%;c:\local\Java\myclasses.jar

      Wenn Ihr Systemklassenpfad die Klassen Ihrer Java-Synchronisationslogik umfasst, müssen Sie in der Befehlszeile des MobiLink-Servers nichts ändern.

      Mit der Java-Option -sl können Sie erzwingen, dass die Java VM beim Start des Servers geladen wird. Andernfalls wird die Java VM bei der Ausführung der ersten Java-Methode gestartet.

      Weitere Hinweise zu den verfügbaren Java-Optionen finden Sie unter mlsrv16-Option -sl java.

  5. Wenn Sie unter Unix eine bestimmte JRE laden möchten, legen Sie LD_LIBRARY_PATH (LIBPATH unter IBM AIX, SHLIB_PATH unter HP-UX) so fest, dass das Verzeichnis mit der JRE einbezogen wird. Das Verzeichnis muss vor allen SQL Anywhere-Installationsverzeichnissen aufgeführt sein.

Ergebnisse

Die Java-Synchronisationslogik wird eingerichtet.

 Siehe auch