Java und C kombiniert

  • Moin,


    da die Java-Methode Database.sign(...) nicht funktioniert, wenn man die JVM direkt vom Domino-Server aus startet (steht auch so in der Doku), möchte ich das Signieren mit C / C++ über das Java Native Interface (JNI) erledigen.
    Dabei möchte ich den Zugriff - wenn möglich - mit der geöffneten Datenbank aus dem Java-Objekt erledigen, ohne die Datenbank neu zu öffnen.
    In der Klasse lotus.domino.local.Database bzw. der Oberklasse lotus.domino.local.NotesBase gibt es das Instanz-Attribut cpp_object vom Typ int, über die vermutlich der Zugriff funktioniert, aber ich habe keine Ahnung, wie. Ich habe versucht, diesw Zahl als Pointer zu interpretieren, aber das hat nicht geklappt (EXCEPTION_ACCESS_VIOLATION).


    Alternative wäre natürlich, mit Java den Datenbank-Pfad auszulesen und mit diesem die Datenbank dann nochmal zu öffnen, awas aber nicht so schön ist.


    Gruß und danke im vorraus
    Stephan

  • Wieso machst du eigentlich so umständliche Handstände für die ganzen Probleme ?


    Für Sign kannst du doch auch einfach nen AdminP Request erstellen, der dies dann macht.


    Dann kannst du dir diese ganze Java-C-Verbindung sparen

  • Es gibt auch Firmen, bei denen der AdminP nicht läuft. Da soll jetzt ein Ersatz her, der das macht.
    (Fragt mich jetzt nicht, warum die nicht den AdminP verwenden.)


    Stephan

  • Das meinst du jetzt aber nicht ernst ?


    Der AdminP ist eine der wichtigsten Grundlagen für ein Domino System.


    Wenn dieser nicht läuft dann funktioniert so ziemlich gar nichts mehr auf Dauer und man ist nur noch am Nachkorrigieren von Problemen.


    Und meiner Meinung nach ist es mehr als Wahnsinn den mehr oder weniger nachzuprogrammieren

  • Frag mich nicht, warum der Kunde das so will.


    Da ich nicht Admin, sondern Entwickler bin, kenne ich mich da nicht aus.


    Aber eigentlich hatte ich ja ne technische Frage, und wollte nicht über politisches diskutieren.

  • Damit habe ich mich bisher noch nie beschäftigt weil es eigentlich nicht nötig ist.


    Mal davon abgesehen, daß solche Calls sicherlich auch nicht supportet sind und jederzeit geändert werden könnten.


    Also rein aus dem Grunde würde ich da selbst als Entwickler mal nachhaken was das eigentlich soll, oder willst du die Änderungen dann supporten und ggfls für jede Version neu anpassen ?