JavaAgent in Eclipse entwickeln

  • Hallo zusammen,


    vielleicht kann mir ja mal kurz einer auf die Sprünge helfen.
    Und zwar hatte ich mal unter Eclipse (Version weiss ich leider nicht mehr) eine Anwendung programmiert, welche auf eine DB zugegriffen hat, die auf unseren 7er Dominoserver lag.


    In dem Projekt hatte ich (so zumindest meine Erinnerung) die Notes.jar eingebunden, damit ich in Eclipse an die Notesklassen komme. Der Code sah dann mal Ansatzweise so aus:



    Später habe ich dann die Java-Dateien in einen Notesagent importiert und der Agent lief wunderbar auf unserem Dominoserver.


    Nun habe ich als Basis Notes/Domino 8 und Eclipse Indigo Service Release 2.
    Da habe ich dann mal angefangen, eine kleine Anwendung zu programmieren. Komme allerdings schon bei den ersten Schritten nicht weiter.
    Wenn ich im Eclipse die Debugconfig erstelle, kann ich derzeit keine Main-Class auswählen.
    Ich meine dann immer an der Stelle im Screenshot die "JavaAgent" Klasse ausgewählt zu haben und dort die NotesMain klasse.


    agent.jpg


    Kann mir vielleicht einer auf die Schnelle das Brett vor dem Kopf wegnehmen?

  • Warum entwickelst du das nicht gleich direkt im Eclipse Designer ?
    Da kannst du das alles direkt debuggen.


    Wenn du es in einem externen Editor entwickeln und debuggen willst, dann muss der Aufbau anders sein, weil dein externer ja keinen AgentManager kennt

  • Das ist eigentlich ne gute Idee. Hätte ich ja auch selber drauf kommen können :cursing:
    Allerdings wie stelle ich mich dazu an?
    Ich habe meine Klasse im Designer auf und drücke F11 für Debugging. Dann wähle ich "Java Application" aus, dann bekomme ich die Meldung "Selection does not contain a main type".
    Starte ich meinen Mini-Agenten allerdings per rechtsklick auf den Agenten, bekomme ich in der Java Konsole ein "Go..." und den Datenbanktitel, wenn ich folgenden Code drin habe:


  • Ich noch mal.
    Irgendwie stelle ich mich wohl zu doof dafür an.
    Ich habe das genau so wie in dem Link beschrieben ausgeführt. Und das nun zum 3. mal geprüft.


    Wenn ich dann den Agenten im Notesclient ausführe und in den Debugger gehe (wo ich vorher den Breakpoint hinter sleep gesetzt habe) bleibt der nicht stehen.
    Testweise habe ich mal zwei System.out.println im Code. Die werden beide direkt in der Java Konsole ausgegeben, wo dazwischen eigentlich der breakpoint war.


    Hast Du eine Idee?


    /EDIT:


    Ich habe gerade in der Notes Hilfe noch den Hinweis gefunden, bei den Eigenschaten des Agents "Compile Java code with debugging information" zu aktivieren.
    Bringt aber auch nicht wirklich was.

  • Also bei mir funktioniert das einwandfrei.
    Wichtig ist halt die Debugging Configuration, daß der Debugger aktiv ist, im Agent das Sleep drin ist und die Option für die Debugging Informationen aktiv ist.
    Dann hat das bei mir problemlos funktionert.


    Hast du denn auch die Debugging Perspektive offen ?

  • Das könnte in der Tat so sein, dass das nicht an ist.
    Ich habe mal gesucht, finde aber nicht wirklich, wo ich die aktivieren kann. Unter "Window\Open Perspective" und "Show Eclipse Views\.." finde ich nichts von Debugging view.

  • Ja, habe ich gemacht. Im Designer die Debug Config wie folgt erstellt:


    agent.jpg


    Das dann gespeichert, ab in den Notes Client und via "Actions" Menü den Agenten angeschmissen.
    Wenn der Sleep läuft, in den Designer und via "Run\Debug Configuration..:" meine erstelle Config gesucht und "Debug" aktiviert.
    Aber der Sleep läuft durch und nachher sehe ich auf der Java Console das:


    Sleeping...
    wake up...


    Und das ist genau die zwei Zeilen, wo ich eigentlich den BReakpoint zwischen hatte.


    code.jpg