2009-08-12 2 views
0

Ich frage mich, wie kann ich ähnlich wie Eclipse Remote Debugging-Technik verwenden, um die Daten von Remote-Objekt (die auf dem Server befinden)? Ich habe bereits den Client-Code und möchte ihn nur erweitern, um (wenn möglich) an einen Port zu binden und die Daten vom Server abzurufen.Wie erhalten Sie Objektdaten mithilfe der Remote-Debugging-Funktionalität?

Ehrlich gesagt möchte ich nichts Spezifisches auf der Serverseite verwenden (d. H. Einen zusätzlichen Code auf dem Server erstellen), da der Server bereits Remotedebugging erlaubt und ich die Daten in der Eclipse Debuggeransicht sehen kann.

Wenn Sie mich zu einem gewissen Beispielcode zeigen kann -, die noch besser sein würde. Im Voraus sehr zu schätzen wissen.

+0

Ich mag gerne wissen, warum Sie dies tun wollen. –

+0

Stephen: Wie ich im Körper meiner Frage "Ich habe bereits den Client-Code" und angedeutet, dass ich auch die Server-Seite, die funktioniert gut. Das Erlangen der Informationen vom Server in irgendeiner Weise würde mir genügen, um meine Aufgabe zu erfüllen (dh ich sorge mich nicht um Skalierbarkeit, Zuverlässigkeit, Robustheit usw.). Dies würde verwendet werden, um das Problem durch nicht technische Benutzer (oder etwas technisches) zu diagnostizieren einmal), wer keine Eclipse installiert hat, würden sie sich nicht darum kümmern. Aber dieses Diagnosewerkzeug würde ihnen helfen, ihre Geschäfte zu machen. –

+0

Vergessen zu erwähnen, dass der Client mit Dateien arbeitet, die sich lokal befinden, und ich möchte nur erweitern, um mit der serverseitigen Lösung zu arbeiten. Auf der Serverseite werden die Daten dieses Objekts der Webschicht ausgesetzt (aber es wird indirekt exponiert, d. H. Gefiltert, formatiert, durch Geschäftslogik ausgeführt und teilweise präsentiert, d. H. Teilmenge von Daten) –

Antwort

1

Nachdem ich die Antwort von @ Romam auf meinen Kommentar gelesen habe, wäre eine bessere Lösung eine serverseitige Fernüberwachungsschnittstelle hinzuzufügen, die auf eine Clientanforderung reagiert, die relevanten Objektdaten gesammelt und an den Client zurückgegeben hat . Wenn die serverseitige Überwachung mit JMX kompatibel war, müssen Sie möglicherweise keinen Clientcode implementieren.

Es gibt eine Reihe von Problemen mit JDPA Verwendung für diesen, einschließlich:

  • Sicherheit: Wenn der Benutzer Ihre benutzerdefinierte Client für den Remotezugriff Ihres Server verwenden kann, können sie wahrscheinlich auch einen regelmäßigen Remote-Debugger verwenden. Dadurch können sie jeden beliebigen Zustand sehen und möglicherweise auch den Zustand aus der Ferne ändern.
  • Komplexität: Das JDPA-Protokoll von der Client-Seite aus zu betreiben, ist höchstwahrscheinlich keine einfache Sache.
  • Zerbrechlichkeit: es sei denn, ich sehr täuscht, müssen Ihre Client hartcodiert (zum Beispiel in Strings) Kenntnis der Klassennamen Mitgliedernamen und Elementtypen für den serverseitigen Code-Basis haben. Wenn Sie die Implementierungsdetails Ihrer serverseitigen Objekte ändern, kann Ihr JDPA-Code möglicherweise beschädigt werden.
Verwandte Themen