Re: SAP JCo Wiederverbinden
- From: Lothar Kimmeringer <news200709@xxxxxxxxxxxxxx>
- Date: Tue, 1 Jul 2008 20:54:50 +0200
Uli wrote:
JCo.Client und JCo.Server sind physikalisch zwei Verbindungen,
[...]
Ich verwende nur einen JCO.Server und benutze dann ein Repository.
[...]
Ich verwende einen Clientpool.
Irgendwie ein Widerspruch, oder? ;-)
Wie gesagt, einen JCo.Client brauchst Du fuer das Hochfahren eines
JCo.Server nicht (pro Clientverbindung wird SAP-seitig eine Lizenz
verbraten, d.h. man sollte sparsam damit umgehen). Ich denke, Du
machst das wegen des Repositories, das Du fuer das Initialisieren
eines Servers brauchst. Das sollte man aber sowieso selbst auf-
bauen, vor allem, wenn man eigene RFCs anbieten moechte.
Es handelt sich um folgende Exception
nach der ich einen Reconnect zum SAP System machen möchte:
com.sap.mw.jco.JCO$Exception: (129) JCO_ERROR_SERVER_STARTUP: Server
startup failed at Tue Jul 01 07:42:03 CEST 2008.
This is caused by either a) erroneous server settings, b) the backend
system has been shutdown, c) network problems. Will try next startup
in 1 seconds.
Da steht ja auch, dass der Server seinen naechsten Versuch in einer
Sekunde startet.
Die Exception bekomme ich immer wenn wenn kein netz vorhanden ist.
Komisch ;-)
Wenn ich oben genannte Exception bekomme, dann mache ich einen
disconnect und einen stop vom JCO.Server
und mache einen removeClientPool.
Ueberpruef mal vorsichtshalber danach, ob auch wirklich alle dies-
bezueglichen Threads weg sind. Ich hatte das schon mal, dass ein
JCo-Thread weiterlief, obwohl der Server beendet wurde.
Danach erstelle ich eine neue Instanz von meiner Klasse, im
Konstruktor wird der ClientPool wieder hinzugefügt, ein Repository
erstellt,
und ein neue Serverinstanz aus Repository und Parametern erstellt.
Wie gesagt ist der Clientpool nicht notwendig. Sofern Du keine
RFCs auf SAP-Seite aufrufen moechtest, kannst Du Dir diesen sparen.
MIt
der neuen Instanz starte ich dann den Server.
danach mache ich eine isAlive()-Prüfung-> im mom mache ich einen
interrupt auf den Thread wenn diese false ist, richtig?
Den Interrupt solltest Du eher oben bei der disconnect-Kaskade
machen.
Wie funktioniert der Aufruf von RFC_PING?
jcoclient.ping();
Gruesse, Lothar (und wehe Du arbeitest fuer die Konkurrenz ;-)
--
Lothar Kimmeringer E-Mail: spamfang@xxxxxxxxxxxxxx
PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81)
Always remember: The answer is forty-two, there can only be wrong
questions!
.
- Follow-Ups:
- Re: SAP JCo Wiederverbinden
- From: Michael Schmidt
- Re: SAP JCo Wiederverbinden
- References:
- Re: SAP JCo Wiederverbinden
- From: Uli
- Re: SAP JCo Wiederverbinden
- Prev by Date: Re: Störung mit Java
- Next by Date: Re: >>> shift operator und byte/short
- Previous by thread: Re: SAP JCo Wiederverbinden
- Next by thread: Re: SAP JCo Wiederverbinden
- Index(es):
Relevant Pages
|
Loading