Autor Thema: Composite Application - Probleme mit DB2 Zugriff  (Gelesen 11028 mal)

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Composite Application - Probleme mit DB2 Zugriff
« am: 09.02.10 - 13:53:14 »
Meine Composite Applikation besteht aus einer Noteskomponene (View) und einem Plug-in (ViewPart.) und hat folgenden Ablauf:

1. Über den Expeditor 6.2 starte ich die Notes Composite Application.
2. Ein Klick auf eine Zeile in der Notes View übermittelt einen String ans Plug-in
3. Das Plug-in holt aufgrund des Strings Daten aus der DB2
4. Die ViewPart stellt die Daten dar

Die Schritte 3 und 4 funktionieren, wenn ich das Plug-in aus einer Main-Klasse starte (ohne Kontakt zum Notes Client).

Sobald die CA auf dem Notes Client 8.5.1 gestartet wird, habe ich die Fehlermeldung:
Code
java.lang.ClassNotFoundException. COM.ibm.db2.jdbc.app.DB2Driver

Liegt das Problem darin, dass Lotus Notes das db2javar.jar nicht kennt?
Ich habe es mit einer System Variable: Notes_JavaUserClasses versucht, das hat jedoch auch nichts gebracht.

Über hilfreiche Tipps wäre ich äusserst dankbar.
« Letzte Änderung: 11.02.10 - 17:23:11 von Ahuga »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #1 am: 09.02.10 - 14:04:47 »
Hallo Martin!

Ich denke du hast da noch ein wenig Verständnisschwierigkeiten mit dem Classloader in Eclipse. Aus einem Plugin hast du nur Zugriff auf die Klassen, die dein Plugin auch als Abhängigkeit angegeben hat. Das heisst, wenn du in deinem Plugin Zugriff auf dieses db2java.jar dings brauchst, dann muss diese Jar Datei entweder in deinem Plugin sein, oder du musst ein Plugin, dass diese Datei enhtält als Abhängigkeit angeben. Zweiteres ist zu bevorzugen. JavaUserClasses hat damit überhaupt nichts zu tun, da dies nur für Notesagents und Applets gilt, aber in Eclipse keine Auswirkungen hat.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #2 am: 09.02.10 - 14:15:08 »
Im Plugin habe ich Zugriff auf das db2java.jar, denn es ist im Projekt im Java Build Path eingebunden, deshalb funktioniert der DB Zugriff, wenn der Notes Client nicht im Spiel ist.

Erst wenn der Notes Client geöffnet wurde und ich in die View klicke, möchte mein Plugin auf die DB zugreiffen, kennt nun jedoch den Treiber nicht mehr.

Im Plugin als solches funktioniert der DB2 Zugriff einwandfrei.

Ich bin mir gar nicht im Klaren, wo das Problem liegt: auf der Notes Seite, auf der Notes Java Seite, im Plugin, beides? Verstehe ich nicht.
« Letzte Änderung: 09.02.10 - 14:30:39 von Ahuga »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #3 am: 09.02.10 - 14:30:19 »
Aber du führst das Plugin nicht als Plugin aus, wenn du es in Eclipse testest, oder? Sprich du hast keine Eclipse RCP in dem du das Plugin testest, sondern hast einfach eine Main Klasse definiert  die du als Javaprogramm ausführst. So kann man ein Plugin nicht korrekt testen.

Ich gehe mal davon aus, dass das Jar dass du für die DB/2 benötigst nicht in Lotus Notes enthalten ist. Du musst also ein eigenes Plugin aus diesem Jar machen. Dazu gibt es in Eclipse einen Assistenten. Du sagst im Menü File New|Other Dan wählst du aus der Liste Plugin Development aus. Da drauss dan ein Plugin from existing Jar Archives. Im nächsten Dialog, in dem du die Jars auswählen musst, die in das Plugin aufgenommen werden sollen, drückst du add external und fügst dein Jar hinzu. Dann weiter und Vernünftigen Pluginnamen wählen.

Dann nach dem Fertigstellen im Plugin Manifest auf dem Reiter Runtime die Packages auswählen die das Plugin exportieren soll. Dann dieses neue Plugin als Abhängigkeit bei deinem bestehenden Plugin hinzufügen und natürlich auch in Notes reinspielen. Dann sollte es gehen.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #4 am: 09.02.10 - 15:28:25 »
Mit MySQL funktioniert es, obwohl ich den Schritt "... in Notes reinspielen" nicht gemacht habe, da ich nicht genau weiss, was Du meinst.

... mit der Unterstützung von Ralf kannst Du die Welt erobern.

Wie ist es mit dem db2java.zip, da handelt es sich um eine ZIP und nicht eine JAR Datei. Versuche es mal mit dem "db2jcc.jar.

Nun starte ich die Applikation aus dem Expeditor. Das Ziel wäre es, das ganze aus dem Notes Client heraus starten zu können. Wo ist da der Unterschied?
« Letzte Änderung: 09.02.10 - 15:35:49 von Ahuga »

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #5 am: 09.02.10 - 15:55:53 »
Mit dem db2jcc.jar funktioniert es. Super.

Nun starte ich die Applikation aus dem Expeditor. Das Ziel wäre es, das ganze aus dem Notes Client heraus starten zu können. Wo ist da der Unterschied?
« Letzte Änderung: 09.02.10 - 16:29:14 von Ahuga »

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #6 am: 10.02.10 - 08:30:30 »
Ich denke mal mit Expeditor meinst du eigentlich Eclipse oder? Bin etwas verwirrt, funktioniert jetzt alles, oder gibt es noch Probleme? Wenn ja welche?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #7 am: 10.02.10 - 08:40:02 »
Guten Morgen Ralf

Alles funktioniert.

Als letzter Schritt, welcher mir noch fehlt, soll die Applikation nicht aus dem Eclipse, sondern aus dem Notes Client gestartet werden können.

Was wäre da der Ansatz?

Gruess vom Martin

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #8 am: 10.02.10 - 08:57:30 »
Es kommt darauf an, wie du deine Anwendung verteilen willst.

Möglichkeit 1. Du verteilst die Anwendung mit dem Rollout von Notes. Man kann mit dem addtokit tool eigene Plugins zum Notesinstallkit hinzufügen.

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.help.domino.admin.doc/DOC/H_COPYING_CONTENT_OF_A_CUSTOMIZED_UPDATE_SITE_TO_INSTALL_KIT_UPDATE_SITE_2581_OVER.html

Möglichkeit 2. Du willst die Plugins nachträglich installieren. Dazu sollten die Plugins signiert sein und du musst eine Updatesite und einen Widgetkatalog erstellen.

Am besten siehst du mal in der Adminhilfe unter "Using a widget to deploy a client plug-in " nach.

Grüße

Ralf

Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #9 am: 10.02.10 - 15:40:54 »
In einem ersten Schritt geht es nur darum, dass ich auf meinem lokalen System in meinem Notes Client die Composite Application starten kann.

Im jetzigen Stadium ist es ja so, dass wenn ich die CA im Notes Client öffne, ich keinen Zugriff auf die ViewPart des Plugins habe. Dies funktioniert nur, wenn ich die Applikation über das Eclipse starte.

Nach meinem Verständnis hat das nichts mit einem Widget zu tun, oder muss nicht?!

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #10 am: 10.02.10 - 15:50:06 »
Sorry Martin ich blicke bei deiner Beschreibung nicht mehr durch.


Bitte beschreib, was genau meinst du mit wenn du die Applikation über Eclipse startest? Eventuell auch mit Screenshots.

Was bedeutet wenn du die CA im Notes Client öffnest hast du keinen Zugriff auf das ViewPart.


Verstehe ich dich richtig, dass dein Problem ist, dass wenn du Notes von Eclipse aus startest alles funktioniert und wenn du Notes ganz normal über das Symbol am Desktop startest funktioniert es nicht?

Keine Angst die Lösung ist ziemlich einfach.

Grüße

Ralf


Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #11 am: 10.02.10 - 16:21:54 »

Wenn ich die AC im Client starte (Doppelklick auf Icon) dann werden in der ViewPart (rechte Hälfte) keine Daten angezeigt (Screenshot 1).

Nur wenn ich aus dem Eclipse starte (2), dann werden die Daten geladen und angezeigt (3).

Das Ziel ist es nun, dass ich im Notes das Icon doppelklicken kann und alles funktioniert.

P.S.: Sorry für die Verwirrung, in einem früheren Stadium der Entwicklung hat es mir bei Start aus Notes die ViewPart gar nicht angezigt.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #12 am: 10.02.10 - 17:34:07 »
Wie updatest du den dein Plugin in Notes wenn du in Eclipse etwas änderst.

Zum Verständnis, wenn du Notes aus Eclipse startest, werden alle deine Plugins die du in der Runconfig angegeben hast mitgeschickt. Das heisst aber nicht dass die dann auch in Notes sind, wenn du es über den normalen Weg aufrufst. Du musst also wenn du an Plugins etwas änderst die auch in Notes neu installieren, bzw updaten. Dies macht man am besten über eine Updatesite. Eventuell brauchst du auch ein "Feature" dazu. Übrigens kannst du das einfach kontrollieren, wenn du vernüftige Versionsnummern vergibst sprich die Versionsnummer des Plugins bei jeder Überarbeitung erhöhst. Dann im Notes Client im About IBM Lotus Notes den Knopf About Plugins auswählen. Dann zeigt er dir sämtliche geladenen Plugins mit Versionsnummer an. Ich bin mir sicher, dass entweder ein benötigtes Plugin im Notes Client alleine fehlt, oder eine veraltete Version aufweist.

Wenn es so ist, dann das Plugin updaten und alles sollte funktionieren.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #13 am: 11.02.10 - 11:32:05 »
Guten Morgen Ralf

Habe in Eclipse ein Feature (Screenshot 3) und eine Updatesite gemacht (1) mit den beiden Plugins für View und DBConnection.

Habe im Notes Client über New > Application > Install die Updatesite installiert

Über "About IBM Lotus Notes" sehe ich die beiden Plugins (2).

Die Daten werden jedoch noch nicht angezeigt. Könnte es daran liegen, dass die Plugins unsigned sind?




Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #14 am: 11.02.10 - 12:04:58 »
Nein an dem Unsigned kann es nicht liegen, das bewirkt nur, dass du eine Meldung beim Installieren bekommst, dass du unsignierten Code verwenden willst. Muss ein wenig nachdenken, was das sein könnte.

Ich denke mal, dass dein Code auf irgendeine Exception läuft. Wie sieht den dein Errorhandling aus. Wenn du in deinem Catchblock ein e.printStackTrace() hast ist es natürlich schlecht, weil Notes alle Ausgaben nach Standardout nicht anzeigt.

Es gibt aber einen Trick um an diese Ausgaben zu kommen:

Im Verzeichnis Notesprogrammverzeichnis\framwework\rcp gibt es eine Datei die heisst rcplauncher.properties In dieser Datei kann man die Befehlszeilenargumente von Notes einstellen.

Du solltest folgende Zeile ergänzen, damit beim Starten von Notes ein Cosolenfenster angezeigt wird in dem sämtliche Ausgaben auf Standard Out stehen. Das ist ein alter Trick für RCP Programmierer um Fehler in RCP Anwendungen aufzuspüren. In diesem Consolen Window kann man auch mit der OSGI plattform kommunizieren. Dafür einfach mal Help eingeben.

config.notes.7=-console
config.notes.6=com.ibm.rcp.personality.framework.RCPProduct\:com.ibm.notes.branding.notes
config.notes.5=-product
jvm.parent.feature.version=
config.notes.4=com.ibm.rcp.platform.personality
config.notes.3=-personality
config.notes.2=IBM Lotus Notes
config.notes.1=-name

hinzugefügt muß die fette Zeie werden. Die anderen sollten schon da sein. Dann probier dein Beispiel nocheinmal aus.

Grüße

Ralf


Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #15 am: 11.02.10 - 12:33:01 »
Volltreffer, habe eine Exception:

        java.io.FileNotFoundException: WSDL/DataView1.wsdl
        at com.ibm.rcp.propertybroker.internal.Activator.processDefinitions(Unknown Source)
        at com.ibm.rcp.propertybroker.internal.Activator.init(Unknown Source)
        at com.ibm.rcp.propertybroker.internal.Activator.access$2(Unknown Source)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #16 am: 11.02.10 - 12:37:00 »
Zeig doch bitte mal das Build.properties. Eventuell ist das File da nicht angehakt, dass es in das Binärplugin übernommen wird.

grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #17 am: 11.02.10 - 12:38:55 »
Du musst dann natürlich die Updatesite updaten und am besten die Versionsnummer verändern. Falls dass dan noch nichts bringt würde ich das Plugin in Notes nocheinmal deinstallieren und neuinstallieren. Dazwischen eventuell einen Clientneustart sicher ist sicher.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Ahuga

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #18 am: 11.02.10 - 13:56:22 »
Immer noch die gleiche Fehlermeldung

Habe Plugin in Notes deinstalliert und neuinstalliert und Clientneustart gemacht.

Gruess Martin

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Composite Application - Probleme mit DB2 Zugriff
« Antwort #19 am: 11.02.10 - 14:47:57 »
Dann schau doch mal nach, ob die Datei in Notes wirklich da ist. Deine Plugins sollten nach der Installation eigentlich in dem Verzeichnis Notesdatenverzeichnis/workspace/applications/eclipse/plugins sein. Die darin enthaltenen Jar Dateien sind eigentlich zip Dateien und kannst du mit Winzip öffnen. Kontrolliere ob sich die WSDL Datei im richtigen Verzeichnis befindet.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz