synchron und asynchroner Methodenaufruf

Status
Nicht offen für weitere Antworten.
K

koplop

Gast
hallo,

ich habe folgendes Problem:

ich habe eine Methode, die synchron läuft.

Code:
public Antwort (Anfrage anfrage){

// hier soll dann der asynchrone Methodenaufruf erfolgen.. 
return antwort;
}

Nun will ich innerhalb dieser Methode eine asynchrone Kommunikation aufbauen, das heißt ich will eine Methode asführen, die eine Anfrage irgendwohin stellt. Dann soll derjeniege, der die Anfrage bekommt auch die Möglichkeit haben, mir eine Antwort zu senden. Habe ich dann die Antwort, dann kann ich diese wieder in der synchronen Methode zurückgeben.

Synchron ist mir ja eigentlich klar, einfach eine Methode mit Rückgabewert. Wie realisere ich aber eine asynchrone Methode?

Wenn ich eine Methode ohne Rückgabewert wegschicke, woher weiß dann der Empfänger das was angekommen ist?, und
der Sender muss ja auch wiederum warten, oder horchen, um eine Antwort zu empfangen...

Ein Methodenbeispiel wäre sehr gut..
 
G

Gast

Gast
eine asynchrone methode macht ihre arbeit in einem extra thread, benachrichtigen kannst du die klasse dann zum beispiel mit einem listener (siehe z.B. ActionListener)
 
K

koplop

Gast
???:L

Listener geht doch aber nur mit wat oder swing? ich benütze aber keines von beiden...
 

Wildcard

Top Contributor
Du kannst dir doch problemlos eigene Listener schreiben, mit AWT/Swing hat das nichts zu tun.
 
K

koplop

Gast
ich kenne es aber nur von awt/swing. Also wie würde den ein Listener aussehen, der auf den Empfang einer void Methode reagiert?

Kannst du mir da vielleicht ein Beispiel geben?
 
K

koplop

Gast
hallo,

gibts da eigentlich auch was auf deutsch?
...also Listener benutzen, die auf Methoden hören, also keine Swing oder AWT Sachen..
 
B

Beni

Gast
Na schau dir doch an, wie das in Swing/AWT funktioniert... ein Interface das man implementieren muss, und ein paar Instanzen die in einer Liste gesammelt werden...

Code:
// Listener definieren
public interface Listener{
  public void bum();
}

// Listener implementieren
public class Irgendwo implements Listener{
  public void bum(){ ... }
}

public class Observed{
  private List<Listener> list = new ArrayList<Listener>();

  // Listener hinzufügen
  public void add( Listener x ){
    list.add( x );
  }

  // Listeners informieren, die Methode muss man halt vor irgendwoher aufrufen
  protected void fireEvent(){
    for( Listener x : list )
      x.bum();
  }
}
 

byte

Top Contributor
Statt was eigenes zu schreiben, gibts auch eine fertige Lösung in der Java API mittels java.util.Observer und java.util.Observable.
 
K

koplop

Gast
ja danke, ich werde es mal versuchen. Ich muss dazu sagen, das ich das benützen möchte, um einen Webservice asynchron aufzurufen. Weiß aber nicht ob dies dann so geht, vielleicht benötigt man da noch speziellere Sachen?

aber trotzdem erstmal gute Antworten.
:toll:
 
S

samo

Gast
hallo,

also das würde mich nun auch interessieren, ob man die Observable Geschichte so übernehmen kann, und in Webservices übertragen??

kennt sich da jemand aus?
 

byte

Top Contributor
Hm, da gibts doch sicher spezielle J2EE Lösungen, um Webservices asynchron aufzurufen!? Hab das zumindest mal mit .NET gemacht und da gibts auf jeden Fall ne einfache fertige Lösung, um asynchron aufzurufen. Würde mich echt wundern, wenn man das in Java so proprietär mit Threads lösen müsste. ;)
 
S

samo

Gast
byto hat gesagt.:
Hm, da gibts doch sicher spezielle J2EE Lösungen, um Webservices asynchron aufzurufen!? Hab das zumindest mal mit .NET gemacht und da gibts auf jeden Fall ne einfache fertige Lösung, um asynchron aufzurufen. Würde mich echt wundern, wenn man das in Java so proprietär mit Threads lösen müsste. ;)

ja die Java lösung würde mich natürlich auch intereseiren, aber wie sieht den die .NET Lösung aus? Also was brauch ich da alles? Mit C# hab ich mal was gemacht, ist aber schon länger her...
 

byte

Top Contributor
Du brauchst das .NET Framework dafür. Frag mich aber nicht nach Details, das ist einfach zu lange her und die Sourcen finde ich jetzt auch nicht mehr. Der Code war zumindest in C# geschrieben. Aber das ist ja prinzipiell wurscht, welche .NET Sprache Du da verwendest.
 
S

samo

Gast
ja dann muss ich es wohl doch versuchen in Java zu machen. Aber da hab ich gleich mal nochne frage:
ich habe einen TomcatServer und Axis, und eclipse wtp, also ein ganz normalen Webservice bekomme ich schon hin. Jetzt habe ich aber gelesen, das man mit JMS asynchrone Nachrichten verschicken kann. Kann ich den JMS in meiner Umgebung benutzen? oder brauch da unbedingt einen Applikationsserver?
 
S

samo

Gast
ja heißt das in Tomcat ist JMS enthalten? weil ich dachte Tomcat ist kein Aplikationsserver..
oder brauche ich unbedingt einen Applikationsserver? wenn ja was ist den der einfachste Weg einen zu instlalieren, um dann ein einfaches Beispiel mit einem Webservice zu erstellen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Funktionen Synchron laufen lassen Java Basics - Anfänger-Themen 10
F Zwei Strings synchron sortieren Java Basics - Anfänger-Themen 8
C synchron - asynchron - Thread Java Basics - Anfänger-Themen 2
C Methodenaufruf mit geänderten Argumenten Java Basics - Anfänger-Themen 10
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
N methodenaufruf for each geht nicht Java Basics - Anfänger-Themen 2
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
O Methodenaufruf Java Basics - Anfänger-Themen 5
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
Queiser Methodenaufruf Java Basics - Anfänger-Themen 2
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
I Java Methodenaufruf Java Basics - Anfänger-Themen 9
A OOP Methodenaufruf in einer anderen Klasse Java Basics - Anfänger-Themen 2
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
M Methodenaufruf in der Main Datei funzt nicht Java Basics - Anfänger-Themen 13
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
M Methodenaufruf in Methode Java Basics - Anfänger-Themen 6
M Objekt Name für MethodenAufruf nachträglich zuweisen? Java Basics - Anfänger-Themen 2
J if() mit Methodenaufruf kombiniert (Pixelerkennung) Java Basics - Anfänger-Themen 3
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
T Rekursiver Methodenaufruf funktioniert nicht Java Basics - Anfänger-Themen 7
D Methoden g.setColor funktioniert nicht bei Methodenaufruf in anderer Klasse Java Basics - Anfänger-Themen 1
M Methoden Methodenaufruf allgemein Java Basics - Anfänger-Themen 3
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
O Methodenaufruf Java Basics - Anfänger-Themen 6
F Methodenaufruf Java Basics - Anfänger-Themen 1
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
J Array mit Methodenaufruf Java Basics - Anfänger-Themen 2
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
OnDemand Methodenaufruf Java Basics - Anfänger-Themen 3
A Methoden Benutzerdefinierter Methodenaufruf Java Basics - Anfänger-Themen 4
O Methodenaufruf - Inhaltsveränderung Java Basics - Anfänger-Themen 23
G Methodenaufruf anderer Klasse Java Basics - Anfänger-Themen 18
L Einfacher Methodenaufruf vs. Objekt Java Basics - Anfänger-Themen 4
O Methodenaufruf im Konstruktor Java Basics - Anfänger-Themen 6
G was ist ein Methodenaufruf mit (){}? Java Basics - Anfänger-Themen 6
S Methoden Klassen Definition - Methodenaufruf Java Basics - Anfänger-Themen 7
K Methoden Methodenaufruf für BufferedWriter .. Java Basics - Anfänger-Themen 5
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
A Problem bei Methodenaufruf Java Basics - Anfänger-Themen 6
B Parameterausführung bei Methodenaufruf Java Basics - Anfänger-Themen 8
A Methodenaufruf Java Basics - Anfänger-Themen 4
P Vererbung Methodenaufruf funktioniert aber Wertzuweisung von Variablen nicht Java Basics - Anfänger-Themen 9
S methodenaufruf Java Basics - Anfänger-Themen 8
G Erste Schritte Methodenaufruf, Variablen-Deklaration Java Basics - Anfänger-Themen 6
L Methodenaufruf in main() Java Basics - Anfänger-Themen 3
M Methodenaufruf in for-Schleife - nur 1 mal ausgegeben Java Basics - Anfänger-Themen 3
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
I Methoden Rückverfolgung Methodenaufruf Java Basics - Anfänger-Themen 15
E Methoden Wie kann ich eine Methode so schreiben, dass Methodenaufruf polymorph erfolgen kann? Java Basics - Anfänger-Themen 8
M Methoden Methodenaufruf mit .class. Java Basics - Anfänger-Themen 2
J rekursiver Methodenaufruf Java Basics - Anfänger-Themen 12
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
T Java mehrfacher Methodenaufruf Java Basics - Anfänger-Themen 15
L Methodenaufruf aus anderer Klasse Java Basics - Anfänger-Themen 5
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
O Methodenaufruf Java Basics - Anfänger-Themen 4
A nullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 16
J Vererbung, Methodenaufruf Java Basics - Anfänger-Themen 4
M Problem bei Methodenaufruf aus ActionListener Java Basics - Anfänger-Themen 5
G Methodenaufruf aus der Kommandozeile Java Basics - Anfänger-Themen 28
N Methodenaufruf funtioniert nicht Java Basics - Anfänger-Themen 3
C Methodenaufruf mit Variablen die gesetzt werden Java Basics - Anfänger-Themen 10
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
G Methodenaufruf über ein Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
H ungültige methodenaufruf Java Basics - Anfänger-Themen 16
G Methodenaufruf Java Basics - Anfänger-Themen 3
G Frage zu Oberklasse bei Methodenaufruf Java Basics - Anfänger-Themen 2
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
V Wie und wieso geht dieser Methodenaufruf? Java Basics - Anfänger-Themen 2
S Methodenaufruf Java Basics - Anfänger-Themen 6
G Methodenaufruf in der for-Schleife mit Array Java Basics - Anfänger-Themen 7
L hsqldb Methodenaufruf Java Basics - Anfänger-Themen 10
R Fehler bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 3
T NullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 10
K Klassenübergriefendes Methodenaufruf Problem Java Basics - Anfänger-Themen 6
S methodenaufruf. Java Basics - Anfänger-Themen 16
G methodenaufruf Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
G methodenaufruf Java Basics - Anfänger-Themen 3
G methodenaufruf Java Basics - Anfänger-Themen 5
W Überschreiben und Methodenaufruf Java Basics - Anfänger-Themen 3
L Methodenaufruf zwischen Klassen Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben