# RMI/Swing Problem



## seawolf (5. Jul 2005)

Hallo Leute,

Ich habe ein grundsätzliches Problem /Aufgabenstellung:

Ueber Swing ruft ein Client über Rmi eine Methode eines Servers auf. Soweit so schlecht , der Server ruft seinerseits ueber callback dann noch eine Funktion des CLients auf , auch das funktioniert,,, NUR:

Ser Server ist fertig mit seiner Methode ( bei mir doSomething) Bevor der Client fertig ist, bzw. die Methode "showQuestionDialogFromCallback()" ist noch nicht fertig ausgführt da ist der Server schon fertig :!!!!!!!!

Kann mir jemand weiterhelfen ??? 


```
COde Serverausgeführt vom Client,beim Startup wenn ich auf einen Swing button "btDoSomethingActionPerformed" drücke):

public void doSomething() throws java.rmi.RemoteException {
System.out.println("doSomething started...");


// ask the client for the "missing" value via RMI callback
ICallback client = (ICallback)Naming.lookup("rmi://localhost/ICallback");
//HIer callback
String clientValue = client.askUser();
System.out.println("Got value from callback: " + clientValue);
```
Code Client:


```
Callback Methode vom Client :

public String askUser() throws java.rmi.RemoteException {
System.out.println("callback started...");
showQuestionDialogFromCallback();



System.out.println("callback finished.");
return "Yo!"; // just return anything
}

//HIer das Problem wird nicht mehr gewartet vom Server !!

private void showQuestionDialogFromCallback() {
try {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
System.out.println("dialog invocation started...");
JOptionPane.showConfirmDialog(parentFrame, "Are you OK?", "Question", JOptionPane.YES_NO_OPTION);
System.out.println("dialog invocation finished.");
}
```


```

```


```

```


----------



## Guest (5. Jul 2005)

Du führst es auch im getrennten Thread aus, daher nicht verwunderlich.
Interaktionen bei einem Callback sind aber keine gute Idee.


----------



## byte (5. Jul 2005)

Anonymous hat gesagt.:
			
		

> Du führst es auch im getrennten Thread aus



ähm ja, das ist immer so bei verteilten systemen. :autsch:


----------



## Guest (5. Jul 2005)

byto hat gesagt.:
			
		

> Anonymous hat gesagt.:
> 
> 
> 
> ...


Was hat das jetzt mit dem OptionDialog zu tun? :bahnhof:


----------

