Java Beans - Daten auslesen

daJunior

Grünschnabel
Hallo

Ich verwende für meine Webanwendung ein MVC Konzept! Meine Daten werden in JavaBeans gespeichert und sind somit für alle Clients in der Anwendung sichtbar. Das anzeigen der Seiter erfolgt über JSP.

Nun meine Frage::suspekt:
Ich möchte ein externes Java Programm laufen lassen, welches benachrichtigt wird, wenn neue Daten ins JavaBean eingefügt werden. Wie kann ich das implementieren? Gibt es dazu irgend ein Tutorial?
Habe es mal mit einem einfachen Interface probiert, um Daten abzufragen, lieferte aber nie einen Wert zurück, oder gibt es da spezielle Interfaces?

mfg Gerald
 
Hallo!

Das ist etwas komplizierter... um auf Veraenderungen deiner Transferobjekte (Java Beans/POJOs) reagieren zu koennen musst du die Stellen an denen diese manipuliert werden identifizieren und dort entsprechende Behandlungsroutinen hinterlegen. Eine moeglichkeit waere beispielsweise jedem zu Ueberwachendem POJO einen PropertyChangeSupport mitzugeben und dort auf Veraenderungen zu reagieren...
http://www.tutorials.de/forum/java/...obachten.html?highlight=PropertyChangeSupport
Ein anderer Ansaetz waere die Verwendung von DynamicProxies um die Aufrufe von Mutator Methoden abzufangen. Die IHMO eleganteste Moeglichkeit hierbei waere meiner Meinung nach die Verwendung von einem AspectJ, Spring AOP Aspect.

Hast du dann eine Aenderung an einem interessanten Objekt bemerkt, so willst du ja eine externe Anwendung in Kenntnis setzen. Um diese Aenderungen an die externe Anwendung zu propagieren gibts prinzipiell 2 Moeglichkeiten: Synchron und Asynchron.
Das synchrone Propagieren von Aenderungen koennte Beispielsweise ueber RMI oder WebServices erfolgen. Das asynchrone Propagieren koennte dann ueber JMS oder ueber asynchonous Webservices laufen... eine elegante Moeglichkeit waere natuerlich die Verwendung von JMX welche das Versenden von AttributeChangedNotification's fuer MBeans unterstuetzen.

Alles in allem ist das nicht trivial und man kann da relativ viel falsch machen...

Was ist denn dein genauer Use Case? Willst du eine Audit-Funktionalitaet implementieren?

Gruss Tom
 
Und zwar:
Der Client schreibt Nachrichten, welche im JavaBean gespeichert werden.

Nun zum wesentlichen:
Eine 2te Anwendung läuft im Eclipse als PlugIn ab. Wenn nun ein Client eine neue Nachricht abgeschickt hat, soll dadurch automatisch das PlugIn benachrichtig werden, dass dieser die Daten auslesen kann. Diese Daten werden dann einfach in ein leeres Java-File eingefügt.

Dadurch muss nicht immer das PlugIn abfragen, ob neue Nachrichten da sind...ist ja auch ein bisschen zu umständlich.

Was du geschrieben hast, hört sich ansich ganz gut, aber keine Ahnung wie ich das umsetzen kann.

mfg Gerald
 

Neue Beiträge

Zurück