wie richtig for,muliert?

Status
Nicht offen für weitere Antworten.

nettchen

Aktives Mitglied
hallo,

mal ne etwas programmierfremde frage die hoffentlich trotzdem beantwortet wird.

Und zwar habe ich ein java Programm mit geschrieben . Dieses Programm ist ein Client server programm und ich war für den server teil verantwortlich. Nun sitze ich an der schriftlichen Dokumentation der arbeit und komme ins grübeln wegen der Formuliereng.

Kann man das so schreiben?

Als Kommunikationsprotokoll wurde RMI verwnedet und der Server ist ein JBoss server.

Habe das Gefühl das klingt total doof. Und so ganz stimmt es ja bestimmt auch nicht denn der server ist ja auch ein Java Project , welches mit einem jboss server arbeitet. Oder?
Kann jetzt leider nicht den anderen Entwickler fragen, weil der im Urlaub ist und hoffe ihr könnt mir helfen. :D
 

nettchen

Aktives Mitglied
Also ich habe mal eine Methode wie ich auf den server zugreife vielleicht könnt ihr mir ja dann weiterhelfen

Code:
protected IfFfClient getIf()
	   {
		   if (ffClient == null)
		   {
			   try 
			   {
				   Hashtable<String, String> props = new Hashtable<String, String>();
				   props.put(InitialContext.PROVIDER_URL, "jnp://localhost:1099");
	   	           props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
		           props.put("java.naming.factory.url.pkgs", "org.jboss.naming");
				   InitialContext ctx = new InitialContext(props);
				   ffClient = (IfFfClient)ctx.lookup("IfFfClientBean/remote");
			   } 
			   catch (Exception ex) 
			   {
				   ex.printStackTrace();
			   }	   
		   }
		   return ffClient;
	   }

und jetzt ein login aufruf an den server
Code:
public LoginResponse login(LoginRequest loginRequest)
	{
		
			LoginResponse loginResponse = getIf().login(loginRequest);
			
		
					return  loginResponse;
	}

kann mir jetzt einer weiterhelfen also wie schreibe ich den satz möchte ausdrücken das rmi und jboss verwendet wurde.
 

nettchen

Aktives Mitglied
Hat denn keiner ne idee, sitz jetzt schon ne ganze weile darüber und hab keine idee, wie ich es anders formulieren könnte. Hab halt von der serverseite keine ahnung aber denke das mit dem JBoss sollte schon erwähnt werden oder?
 

jPat

Bekanntes Mitglied
Meiner Meinung nach ist RMI kein Protokol sonder die Schnittstelle zur Kommunikation. In deinem Fall ist wohl das TCP Protokoll gemeint. RMI heißt Remote Method Invokation, also ein Methodenaufruf auf einem entfernten System.
Zum Jboss:
JBoss ist ein Applicationsserver, der ein J2EE Middleware-Framework
darstellt. Im "Normalfall" hast du 2 Jbosse Laufen. EInmal auf dem Client, einmal auf dem Server.
 
S

SlaterB

Gast
Die Kommunikation zwischen Client und Server erfolgt mittels RMI.
Die Server-Komponente ist auf dem ApplicationServer JBoss deployt/ läuft auf.
 

nettchen

Aktives Mitglied
Danke für die Hinweise

Warum brauche ich auf dem Client einen JBoss ich habe zwar die erforderlichen bibliotheken eingebunden, aber ich starte den JBoss ja nur einmal und das ist der vom server. Oder läuft da intern och was ab, was ich nicht bedacht habe
und kann mir einer mal bitte erklären was die Zeilen in der getIF Methode in den von mir geposteten zeile machen. habe die so bekommen. Und wüsste aber schon gern was da so gemacht wird
 

jPat

Bekanntes Mitglied
Es muß nicht sein, daß du 2 Jbosse laufen hast, falls du aber eine JSP-Seite als "Client" hast können es 2 sein ...

Zu deinem Code:

der ffCLient, der zurückgegeben wird ist ein Interface, welches die Verbindung der beiden Rechner, also den RMI-Aufruf darstellt.
In deinem login Beispiel wird das RMI - Interface geholt, dann die Methode login(param) aufgerufen (enfernter Rechner).

Ist ein wenig schwammig, aber evtl. hift es dir ja ...
 

nettchen

Aktives Mitglied
also was mein code macht weiß ich was ich so in etwa , also jedenfalls so wie du es beschrieben hast was ich aber nicht weiß sind diese zeilen in der getIf methode.


if (ffClient == null)
{
try
{
Hashtable<String, String> props = new Hashtable<String, String>();
props.put(InitialContext.PROVIDER_URL, "jnp://localhost:1099");
props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.put("java.naming.factory.url.pkgs", "org.jboss.naming");
InitialContext ctx = new InitialContext(props);
ffClient = (IfFfClient)ctx.lookup("IfFfClientBean/remote");
}
catch (Exception ex)
{
ex.printStackTrace();
}
 

jPat

Bekanntes Mitglied
Es wird eine Hashtable erzeugt ....
InitialContext ist eine Java-Klasse, die du unter javax.naming findest, dort gibt es auch gleich eine komplette beschreibung.

ctx.lookup() holt dir dein RMI- Interface, die Klasse ist im Server unter IfFfClientBean/remote registriert in der RMI-Registry.

Die Hashtable dient zur initialisierung des lookups. Diese Einstellungen werden vom Administrator voreingestellt.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben