Autor Thema: Java/Lotus Script Integration  (Gelesen 3890 mal)

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Java/Lotus Script Integration
« am: 26.08.05 - 17:13:39 »
Hi,
für eine Netzwerkgeschichte benötige ich Java Funktionalität im Postopen der Datenbank.
Genauer geht es darum, einen Hostnamen in IP zu verwandeln, noch dessen Domänen und Subdomänen auszulesen um ihn schlussendlich anzupingen (den Host).

Mit einem Agent habe ich das schon mal ausprobiert - aufgrund der Tatsache mit den Memory Leaks und dass das Ding auf einem produktiven Server laufen soll - scheue ich mich ein wenig davor das auf diese Weise zu tun - zumal ich die Parameterübergabe hin und zurück noch nicht geklärt habe.

Nun meine ich mich zu erinnern, dass man Java Klassen auch aus Lotus Script heraus nutzen kann (ich setze Domino 6.5.x ein), finde hierzu aber in der Notes Hilfe und hier im Forum leider nichts dazu, so dass ich an meinem Gedächtnis zweifle.
Ein ganz dummdreister Versuch eine Java Klasse, die in einem ScriptLibrary ist, aufzurufen ist leider gescheitert (findet die Klasse nicht), daher nun meine Bitte um Hilfe: Existiert die Möglichkeit Java Code aus Lotus Script aufzurufen - und wenn ja wie (bzw. wo stehts) UND: Falls das nicht der Fall sein sollte: Wie kann ich einem JavaAgenten Parameter übergeben und wie bekomme ich die gewünschten Daten zurück?
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java/Lotus Script Integration
« Antwort #1 am: 26.08.05 - 17:48:09 »
Hi.

Bei Agenten sind Memory Leaks in den Griff zu bekommen. Das wirkliche Problem scheint LS2Java Bridge zu sein. Für die Parameterübergabe. Du startest den Agenten aus dem Postopen und solltest dann auf alle Felder des Dokuments zugreifen können (via AgentContext.DocumentContext).

Du meinst LS2Java. Frag Ben Poole. Der behauptet das geht nicht vernünftig. Theoretisch kann man Memory Leaks durch eine gute Testumgebung aufspüren können. D.h. nicht unbedingt lösen, sondern verifizieren, ob sie da sind. Bin zu Zusammenarbeit bereit, hab aber keine Ahnung, wie man das rauskommen für eine unter Domino laufende VM machen kann und ich hab eine Menge Arbeit.

Die Daten solltest du ins Dokument schreiben können? (wieder AgentContext.DocumentContext)

Du kannst dein Anping-Requirement btw. auch mit MS-Com Sachen lösen. Java ist aber vermutlich einfacher. Wir transportieren in einer Notes-Anwendung via Java SocketConnection MegaBytes von Dokumenten auf einen Archivierungsserver. Das sollte also gehen. 
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Java/Lotus Script Integration
« Antwort #2 am: 26.08.05 - 18:50:54 »
Vielen Dank für Deine Antwort.
Ja, mit COM würde es auch gehen - wenn die Server nicht teilweise auf Solaris laufen würden. Ausserdem ist das in der Tat mit Solaris einfacher. Vom Client kann ich keine IP erhalten, da die Clients per VPN zugreifen und somit auf dem Server nicht mit der IP auf dem Client zugreifen.
Das mit dem Agenten werde ich nächste Woche ausprobieren.
Viele Grüsse aus der Schweiz und ein schönes Wochenende
Marco
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

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: Java/Lotus Script Integration
« Antwort #3 am: 30.08.05 - 15:03:18 »
Hier mal etwas ähnliches mit der LS2Java Bridge. Seit 1 1/2 Jahren im Produktiv Einsatz bis jetzt keine Probleme. Voraussetzung dass LS2Java auch auf Solaris unterstützt ist. Weiß ich nicht, habe kein Solaris.

Lotus Script Teil
Code
Uselsx "*javacon"
Function isOnline() As Boolean		
	If Left(ses.GetEnvironmentString("Location",True),4)<>"Inse"  Then
		Dim SessionJava As JavaSession
		Dim ClassJava As JavaClass
		Dim ObjectJava As JavaObject
		Set SessionJava = New JavaSession ()
		Set ClassJava = SessionJava.GetClass("CheckSocket")
		Set ObjectJava = ClassJava.CreateObject()	
		Print "Prüfe Verbindung zum Domino Server. Bitte warten"		
		isOnline=ObjectJava.isOnline()		
		Print""
		Exit Function		
	End If
	isOnline=True
End Function

Java Teil

Code

import java.net.*;
public class CheckSocket {
	public CheckSocket(){
		}
		public boolean isOnline(){
			
			try{
            		Socket sock=new Socket(InetAddress.getByName("172.16.2.3"),1352);
            		sock.close();
        			return true;
			}
        		catch (Exception e){
            		return false;
        		}
	
    }

}

Eventuell hilfts.

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 Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Java/Lotus Script Integration
« Antwort #4 am: 30.08.05 - 15:56:53 »
Vielen Dank für die Hilfe,
habe mich für den Agenten entschieden, weil LS2J tatsächlich eher mässige Kritiken im Internet bekommt.
Das funktioniert ausgesprochen gut - in Zukunft wird so eine Lösung in der Tat für mich eine gangbare Alternative darstellen.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

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: Java/Lotus Script Integration
« Antwort #5 am: 30.08.05 - 15:59:38 »
No Problem ich verwende auch das mit dem Agenten in einem anderen Fall, den LS2Java hat leider die große Einschränkung, dass man nicht auf Domino Objekte zugreifen kann, da man sich kein Session Objekt besorgen kann.

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 Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Java/Lotus Script Integration
« Antwort #6 am: 30.08.05 - 16:06:10 »
Ging in dem speziellen Fall auch gar nicht anders, da der Server den Clientnamen auflösen musste (wg. VPN). Die so erhaltene IP wird dann mit der des Clients verglichen - sind sie unterschiedlich ists ein VPN Client...
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz