OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht

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:
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:
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
 
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.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben