Java lernen

OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht

Diskutiere Plugin unter Eclipse arbeitet anders als wenn veröffentlicht im Plattformprogrammierung Forum; Hallo, ich schreibe doch einige kleine OSGi Plugins in Eclipse. Ich habe aber heute das erste mal ein merkwürdiges Problem: Ich sende via UDP...

  1. Fohnbit
    Fohnbit Mitglied
    Hallo,

    ich schreibe doch einige kleine OSGi Plugins in Eclipse. Ich habe aber heute das erste mal ein merkwürdiges Problem:
    Ich sende via UDP Daten und horche auf die Antwort. Das klappt alles.
    Aber ich habe einen Timeout gesetzt, wenn keine Antwort kommt, gibt er einen Fehler aus.
    Das klappt in Eclipse ... aber wenn ich das Plugin veröffentliche und einbinde, scheint der Timeout gar nicht zu funktionieren.

    Das ganze Projekt zu posten sprengt den Rahmen, aber die Stelle wo der Timeout passieren soll:
    Code (Java):
                while (true) {
                    try {
                        socket.receive(o);
                        rawResp.append(new String(o.getData(), o.getOffset(), o.getLength()));
                        if ((o.getLength() - o.getOffset()) < 4096) {
                            break;
                        }
                    } catch (SocketTimeoutException e1) {

                        if (connectParameter.isReconnectAtReadTimeout()) {
                            timeoutCounter++;
                            if (timeoutCounter > connectParameter.getTimeoutCounter()) {
                                timeoutCounter = 0;
                                status = Status.FAILED;
                                updateStatus(status);
                                response.setResponseCode(-1);
                                response.setResponseStatus("Connection closed");
                                request.getResponseListener().update(request, response);
                            }

                        }
                        break;
                    }
                }
    Weiter vorne im Code:
    Code (Java):
    socket = new DatagramSocket();
                socket.connect(new InetSocketAddress(connectParameter.getHost(), connectParameter.getPort()));
                socket.setSoTimeout(connectParameter.getReadTimeout());
    Wie gesagt, starte ich das Projekt in Eclipse, passt alles .. aber nicht mehr wenn ich es veröffentliche.
    So als wäre bei der Target Platform die Funktion des Timeout nicht gegeben.

    Kann gar nicht sein, oder?

    Danke
     
  2. Vielleicht hilft dir diese Seite hier weiter (Klick!)
  3. Thallius
    Thallius Bekanntes Mitglied
    Noe :)

    Gruß

    Claus
     
  4. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Bau mal Log-Ausgaben an den entsprechenden Stellen ein - mit etwas Glück lässt sich der Grund damit finden, sofern einer vorhanden ist.

    Unterschiede beim timeout dürfte es nicht geben (zumindest würde es mich sehr wundern), dein Code kann sich aber unterschiedlich verhalten, je nachdem was der JIT-Compiler macht und wie sehr du dich an die JLS gehalten hast.
     
  5. Hinweis: Du möchtest Java lernen? Vielleicht hilft dir diese Seite hier weiter.
Die Seite wird geladen...

Plugin unter Eclipse arbeitet anders als wenn veröffentlicht - Ähnliche Themen

PreferenceStore und unterschiedliche Plugins
PreferenceStore und unterschiedliche Plugins im Forum Plattformprogrammierung
Einträge von einem PlugIn unterbinden.
Einträge von einem PlugIn unterbinden. im Forum Plattformprogrammierung
Apache.Xerces unter Eclispe? import/plugin/package?
Apache.Xerces unter Eclispe? import/plugin/package? im Forum Java Basics - Anfänger-Themen
Eclipse IDE Plugin Error Log
Eclipse IDE Plugin Error Log im Forum Allgemeine Java-Themen
Plugin
Plugin im Forum Plauderecke
Thema: Plugin unter Eclipse arbeitet anders als wenn veröffentlicht