Autor Thema: Error cleaning up agent threads und WeakReference...  (Gelesen 42074 mal)

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: Error cleaning up agent threads und WeakReference...
« Antwort #80 am: 02.05.06 - 08:04:30 »
@Axel!

Soll dein Attachment wirklich ein Txt sein. Wenn ich es aufmache sehe ich zwar teilweise Java Code aber auch ziemlichen Mist. Sieht irgendwie nicht nach einem Textfile aus.

Grüße

Ralf

@Mark Liefert die Session einen Fehler, wenn du auf Sie zugreifst und sie bereits abgelaufen ist?

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 Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Error cleaning up agent threads und WeakReference...
« Antwort #81 am: 02.05.06 - 08:24:25 »
ja sie liefert einen Fehler  ;D Der Inhalt ist in etwa so:

Zitat
Your session has timed out. Please click OK to continue

Das entspricht auch dem Verhalten im normalen Client von Openview Servicedesk. Dort erscheint dann auch ein Popup, wo man OK klickt und danach erneut Username und PW angeben kann.

Ich hatte probiert im Falle eines Fehlers eine neue Session zu erstellen, dies klappte aber nicht vernünftig:

Code
try {
			
			// check if session is usable
			@SuppressWarnings("unused")
			IBrandHome dummy = OV.session.getBrandHome();

			return OV.session;
		} catch (Exception e) {
			// dummy not available that means no valid session
			
			try {
				System.out
						.println("OVSD session not available, maybe timed out..."); //$NON-NLS-1$
				OV.session.finalize();
				OV.session = ApiSDSession.openSession(OV.SRV, OV.USR, OV.PWD);
				System.out.println("Created new session " //$NON-NLS-1$
						+ OV.session.getWorkflowSession());
				return OV.session;
			} catch (Exception ex) {
				e.printStackTrace();
				return null;
			} catch (Throwable ex) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				return null;
			}

Laut Log wurde hierdurch auch 1-2 Mal eine neue Session aufgebaut. Wenn ich aber einen Tag warte bekomme ich keine neue Session mehr hin mit diesem Code.
Ich habe mir das mal mit JAD angeschaut, die ganze Session-Verwaltuing ist recht komplex, mit zur Laufzeit kompilierten Proxies etc.
sagt Mark.



slowfood.de

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: Error cleaning up agent threads und WeakReference...
« Antwort #82 am: 02.05.06 - 08:29:15 »
Du hast meiner Meinung nach einen Fehler in deinem Code:

Du schreibst zweimals irrtümlich e.printStackTrace() wo es meiner Meinung nach aber ex.printStackTrace() heissen sollte. Eventuell verstehst du deshalb den Fehler nicht.

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 flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Error cleaning up agent threads und WeakReference...
« Antwort #83 am: 02.05.06 - 08:41:27 »
@Ralf: Ich hab oben geschrieben->
3. Was tun?
a) das attachte File in clientObjects.jar umbenennen und in ein Verzeichnis tun (z.B. C:\temp)
Geht das nicht?

Mark: Imho solltest du erstmal die Session einfach nach JEDEM GEBRAUCH SOFORT SCHLIESSEN.
Das ist aber nur möglich, wenn du ein stateless Protokoll benutzt (wie in meinem Beispiel).
Dort gibt es einen Request und darauf direkt einen Response. Vor dem Absenden des Responses kann der Server die Connection auf Openview SCHLIESSEN (GOOD THING).

Alles andere sollte man vernünftig in einem eigens dafür programmierten ConnectionPool implementieren und nicht mit dem Anwendungscode verkoppeln! SERIOUS.
Das mit dem ConnectionPool würd ich erstmal lassen. Man kann sowas aber später bei Bedarf dazuprogrammieren und zwar genau dann wenn die Performance nicht das Gelbe ist, weil z.B. der Aufbau der Connection eine Menge Ressourcen beansprucht.





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 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: Error cleaning up agent threads und WeakReference...
« Antwort #84 am: 02.05.06 - 08:46:22 »
@Axel Sorry habe ich überlesen!

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 Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Error cleaning up agent threads und WeakReference...
« Antwort #85 am: 02.05.06 - 08:54:03 »
das mit dem SOFORT SCHLIESSEN hatten wir eigentlich bereits abgearbeitet. Wenn ich 5x hintereinander in kurzer Folge eine Session in Openview öffne und schließe bekomme ich keine weiteren Sessions mehr. Ursache ist wahrscheinlich dass ein User nur 5 Sessioins gleichzeitig öffnen darf und sie nach dem Schließen noch eine kurze Zeit gecached werden.
Du darfst hier die Sessions der Webapi von Openview auch nicht mit Connections auf eine Datenbank verwechseln. Dieses Openviewteil macht eine Menge an Connection-Pooling etc. bereits versteckt in der Blackbox 'Webapi'.

Irgendwo tief im Quelltext (7000 Klassen, 20 MB Quellcode) habe ich nun auch die Methode isLoggedOn() gefunden, die ist zwar public aber ich habe noch keinen Weg gefunden, da von außen ranzukommen.

@Ralf: Mein Errorhandling ist natürlich falsch dort, mal sehen was ich bekomme wenn ich das korrigiere.
sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Error cleaning up agent threads und WeakReference...
« Antwort #86 am: 02.05.06 - 09:39:23 »
Wenn ich 5x hintereinander in kurzer Folge eine Session in Openview öffne und schließe bekomme ich keine weiteren Sessions mehr.
Warum sollte man das tun in kurzer Folge hintereinander?
Du verbindest 1x und holst dir alle Daten, die du benötigst? Oder?

Das mit dem eigenen ConnectionPool in OpenView ist natürlich vielleicht ein Argument.
Aber mit expliziten closen der Session sollte die Connection dann an den Pool zurückgegeben werden. Ich glaub das Problem ist das "5 mal in kurzer Folge hintereinander" und das brauchst du imho nicht, wenn du die Kommunikation mit einem stateless protocol regelst.
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 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: Error cleaning up agent threads und WeakReference...
« Antwort #87 am: 02.05.06 - 09:43:28 »
@mark!

Sorry, aber habt ihr keinen Support Vertrag, bei diesem OpenView. Wenn du nach ein paar mal öffnen und schliessen einer Connection keine Verbindung mehr bekommt, ist das ganz klar ein Fehler, egal ob hier ein Connection Pool im Einsatz ist oder nicht. Ich denke mal, dass du eventuell, dass ganze mal in einem Openview Forum posten solltest. Da wir hier ja ein Problem haben, dass jetzt nicht mehr mit Domino zusammenhängt. Bitte jetzt nicht so verstehen, dass ich den Thread abdrehen will aber weder Axel noch ich haben Openview Kenntnisse.

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 flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Error cleaning up agent threads und WeakReference...
« Antwort #88 am: 02.05.06 - 09:53:06 »
Wenn Mark das kurz hintereinander macht, weil er ein unnötig komplexes statefull protocol benutzt, dann würd ich erstmal das Protokoll vereinfachen, bevor man sich an den Hersteller wendet.
SERIOUS.
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 Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Error cleaning up agent threads und WeakReference...
« Antwort #89 am: 02.05.06 - 10:12:29 »
ja, mit Notes hat das allemal nicht mehr viel zu tun hier  ^-^ Im HP-Forum hat mir niemand geantwortet weil niemand auf der Welt solche Sachen damit macht wie ich  :-[ Eigentlich wird die web-api innerhalb von den Openview Servicepages genutzt, das ist eine Webanwendung aus JSPs etc. Support gibts für solche Eigenlösungen, wie ich sie mache, nicht. Und einen HP Berater der sowas macht bezahlt hier ganz sicher niemand. Schließlich ist ja der vorgegebene Ansatz: Meine Anwendungen sollen alles können, dürfen aber keine Kosten verursachen. Und die Kosten für meine Arbeitszeit werden einfach nicht mitgezählt weil ehda. Aber die Feinheiten des modernen Managements haben auch nix mit Notes zu tun  >:D

Aber das stateful/stateless Protokoll sagt mir irgendwie nix, ich habe ganz einfach ein einziges zentrales Session-Objekt, dass einmalig eine Session öffnet und wieder schließt (oder eben nicht schließt). Was ist daran komplex? Alle meine n Clients nutzen die gleiche Instanz dieser Session (muss auch so sein wegen Lizenzen etc) und wenn 5 Aufrufe in sehr kurzer Abfolge auftreten dann geht an- und abmelden eben nicht egal ob state oder nix state  ???

Ich könnte eine Zwischenschicht bauen, die die Befehle in Mauszeigerbewegungen umsetzt und dann einen normalen Openview-Client fernsteuert. Tritt hier ein Timeout auf wird einfach auf die OK-Schaltfläche geklickt  ;D 

ok, ich denke ich bekomme das zum Laufen wenn ich alle 20min einen Dummybefehl absetze so dass kein Timeout mehr auftritt. Dann bekomme ich aber wahrscheinlich ab und zu Probleme wenn die Session dann mal in einem Wartungsfenster beendet wird oder so. Ist nicht gut aber bei diesen Vorgaben immerhin ein Workaround (ja wir sind ja voll auf ITIL da reicht sowas dann)
 O0

sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Error cleaning up agent threads und WeakReference...
« Antwort #90 am: 02.05.06 - 10:46:43 »
ja, mit Notes hat das allemal nicht mehr viel zu tun hier
Ich find das sind ziemlich grundlegende Integrationsfragen einer Notes Plattform in eine Corporate IT Infrastruktur. Ich werde jedenfalls weiter an meinem Integrationsframework arbeiten.

ich habe ganz einfach ein einziges zentrales Session-Objekt, dass einmalig eine Session öffnet und wieder schließt (oder eben nicht schließt). Was ist daran komplex? Alle meine n Clients nutzen die gleiche Instanz dieser Session (muss auch so sein wegen Lizenzen etc) und wenn 5 Aufrufe in sehr kurzer Abfolge auftreten dann geht an- und abmelden eben nicht egal ob state oder nix state  ???
Das wußte ich nicht. Hab gemutmaßt, dass du für jede Session 5 mal die Verbindungen auf und zumachst, weil das Protokoll so kompliziert ist. Zugegebenermassen ziemlich gemutmaßt. Sorry.
Es sollte aber irgendwie eine bessere Lösung geben. Weiss aber z.Zt. auch nicht weiter und das ist ziemlich openView spezifisch. Aber solche spezifischen Probleme treten halt immer wieder auf.
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 Mark³

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
  • Nordisch by Nature
    • Das Leben aus der Sicht eines Menschen
Re: Error cleaning up agent threads und WeakReference...
« Antwort #91 am: 03.05.06 - 07:58:47 »
falls es doch irgendwo Openview-Interessierte gibt: Im dortigen Forum steht man vor den gleichen Problemen wie ich...

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=1022842
sagt Mark.



slowfood.de

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Error cleaning up agent threads und WeakReference...
« Antwort #92 am: 03.05.06 - 14:30:05 »
find ich krass.
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz