mapSystemException wird geworfen

Status
Nicht offen für weitere Antworten.

kajdo

Mitglied
Hallo Leute!

Ich habe gerade ein recht eigenartiges Problem ... folgender Code führt "ab und zu" ... schätze evtl. bei serverüberlastung ... zu Problemen (Exception siehe weiter unten)

Code:
public DispoResponseVO processDispoEBES(ArzRequest arg0, String arg1, String arg2, String arg3, String arg4)
throws ArctisSystemException, ServiceNotAvailable, RemoteException {
        if (!Util.isLocal(this)) {
            try {
                org.omg.CORBA_2_3.portable.InputStream in = null;
                try {
                    ...
                } catch (ApplicationException ex) {
                    in = (org.omg.CORBA_2_3.portable.InputStream) ex.getInputStream();
                    String id = in.read_string();
                    if (id.equals("IDL:at/co/arz/arctis/_exception/ArctisSystemEx:1.0")) {
                        throw (ArctisSystemException) in.read_value(ArctisSystemException.class);
                    }
                    if (id.equals("IDL:at/co/arz/arctis/_exception/system/ServiceNotAvailableEx:1.0")) {
                        throw (ServiceNotAvailable) in.read_value(ServiceNotAvailable.class);
                    }
                    throw new UnexpectedException(id);
                } catch (RemarshalException ex) {
                    return processDispoEBES(arg0,arg1,arg2,arg3,arg4);
                } finally {
                    _releaseReply(in);
                }
            } catch (SystemException ex) {
                throw Util.mapSystemException(ex);
            }
        } else {
            ServantObject so = _servant_preinvoke("processDispoEBES",ListeSB.class);
            if (so == null) {
                return processDispoEBES(arg0, arg1, arg2, arg3, arg4);
            }
            try {
                ...
            } catch (Throwable ex) {
                Throwable exCopy = (Throwable)Util.copyObject(ex,_orb());
                if (exCopy instanceof ArctisSystemException) {
                    throw (ArctisSystemException)exCopy;
                }
                if (exCopy instanceof ServiceNotAvailable) {
                    throw (ServiceNotAvailable)exCopy;
                }
                throw Util.wrapException(exCopy);
            } finally {
                _servant_postinvoke(so);
            }
        }
    }

im Log finde ich folgende Hinweise:
...
2006-10-02 15:31:14,026 [WebContainer : 1] ERROR at.co.arz.arctis.client.DispoListeDelegate - processDispoEBES: CORBA TRANSIENT 0x49421042 Maybe; nested exception is:
org.omg.CORBA.TRANSIENT: SIGNAL_RETRY vmcid: 0x49421000 minor code: 42 completed: Maybe
java.rmi.RemoteException: CORBA TRANSIENT 0x49421042 Maybe; nested exception is:
org.omg.CORBA.TRANSIENT: SIGNAL_RETRY vmcid: 0x49421000 minor code: 42 completed: Maybe
at com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException(UtilDelegateImpl.java:259)
at javax.rmi.CORBA.Util.mapSystemException(Util.java:84)
at at.co.arz.arctis.ejb.dispo.liste._ListeSB_Stub.processDispoEBES(_ListeSB_Stub.java:1100)
at at.co.arz.arctis.client.DispoListeDelegate.processDispoEBES(DispoListeDelegate.java:805)
at at.co.arz.arctis.app.info.anzeige.dispo.DIFreigabeAllgAction.executeSpecificUpdateDataCommandAusfuehren(DIFreigabeAllgAction.java:314)
...

hat irgendjemand Lösungsvorschäge?? ... Kann mir jemand erklären wieso beim "instanzieren" von in (org.omg.CORBA_2_3.portable.InputStream in = null😉 eine Exception auftreten kann? ... weiß jemand wofür diese SIGNAL_RETRY sachen stehen bzw was ich mit diesen ??? Speicheradressen/Offsets ??? anfangen soll ....

danke für jeden Hinweis
lG kajdo
 
Hi!

Das Problem hat sich mitlerweile erledigt ... WAS6 war schuld

allerdings stellt sich mir noch die grundsätzliche frage warum diese codezeile überhaupt gecatcht werden muss

Code:
org.omg.CORBA_2_3.portable.InputStream in = null;

...

lG kajdo
 
Hi!

Wie hast Du denn das Problem gelöst?? Wir haben das selbe Problem auf WAS6 ....

Danke
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben