Java est un langage de programmation orienté objet de haut niveau avec une bonne compatibilité, sécurité et stabilité avec les plateformes. Avec le développement de la technologie Internet, de plus en plus d'applications nécessitent des appels à distance via des API pour réaliser le partage de données et l'interaction d'informations. Java Remote Method Invocation (RMI) est une technologie d'invocation à distance basée sur la plate-forme Java, qui peut réaliser une invocation de méthode à distance entre des objets Java.
Cet article présentera le concept, le principe de fonctionnement et l'utilisation de Java RMI pour aider les développeurs back-end Java à effectuer de meilleurs appels à distance d'API.
1. Concept Java RMI
Java RMI est une technologie d'appel à distance basée sur la plate-forme Java, qui peut réaliser une invocation de méthode à distance entre des objets Java. En termes simples, Java RMI permet aux applications client d'appeler indirectement des méthodes objet sur des serveurs distants via le réseau dans des systèmes distribués et d'obtenir les résultats de retour.
Dans Java RMI, le client et le serveur communiquent en utilisant des objets Java comme paramètres et valeurs de retour. Ces objets Java doivent être capables d'implémenter l'interface Serialisable pour pouvoir être transmis sur le réseau. Le framework RMI sérialisera automatiquement les paramètres, renverra les valeurs et les objets distants, puis les transmettra au serveur distant via le réseau.
2. Principe de fonctionnement de Java RMI
Le principe de fonctionnement de Java RMI peut être simplement résumé dans les étapes suivantes :
1 Créer un objet distant
Tout d'abord, vous devez créer un objet Java qui implémente l'interface distante. comme un objet distant. L'objet distant est créé côté serveur. Le client peut obtenir l'autorisation d'accéder à l'objet distant via la référence distante (Remote Reference) et appeler des méthodes sur l'objet distant.
2. Enregistrez l'objet distant
Enregistrez l'objet distant dans le registre RMI. Le registre RMI est une table de mappage de relations de liaison qui contient le nom d'un objet distant et une référence distante. Le client peut obtenir la référence distante en spécifiant le nom. Le registre RMI peut s'exécuter sur la JVM locale ou sur une JVM distante.
3. Le client obtient une référence distante
Le client doit demander une référence distante au registre RMI pour obtenir l'autorisation d'accéder à l'objet distant. Le client peut utiliser la méthode lookup() fournie par la classe Naming pour implémenter cette étape. La méthode lookup() accepte un paramètre de chaîne qui spécifie le nom de l'objet distant à trouver et renvoie une référence distante.
4. Le client appelle la méthode distante
Le client appelle la méthode sur l'objet distant via la référence distante obtenue. Les paramètres et la valeur de retour de la méthode seront transmis au serveur distant via le réseau pour traitement, et le client appelle la méthode distante. le résultat sera retourné au client.
3. Comment utiliser Java RMI
Ce qui suit décrit comment utiliser Java RMI pour effectuer des appels d'API à distance :
1. Écrivez une interface distante
Tout d'abord, vous devez écrire une interface distante et hériter du java.rmi. .Interface à distance. L'interface définit les méthodes distantes qui doivent être implémentées et les méthodes doivent déclarer qu'elles lancent java.rmi.RemoteException. Par exemple :
import java.rmi.Remote; import java.rmi.RemoteException; public interface MyRemoteInterface extends Remote { public String sayHello() throws RemoteException; }
2. Écrivez une classe d'implémentation distante
Ensuite, vous devez écrire un objet distant qui implémente l'interface distante. L'objet distant doit hériter de la classe java.rmi.server.UnicastRemoteObject et implémenter les méthodes définies dans l'interface. Par exemple :
import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; public class MyRemoteObject extends UnicastRemoteObject implements MyRemoteInterface { public MyRemoteObject() throws RemoteException {} public String sayHello() throws RemoteException { return "Hello world!"; } }
3. Enregistrez l'objet distant
Enregistrez l'objet distant dans le registre RMI afin que le client puisse obtenir la référence distante. Par exemple :
import java.rmi.Naming; import java.rmi.registry.LocateRegistry; public class Server { public static void main(String[] args) throws Exception { LocateRegistry.createRegistry(1099); //启动RMI注册表 Naming.rebind("MyRemoteObject", new MyRemoteObject()); //注册远程对象 System.out.println("Server is running..."); } }
4. Le client appelle une méthode distante
Le client doit obtenir la référence distante, puis appeler la méthode sur l'objet distant via la référence distante. Par exemple :
import java.rmi.Naming; public class Client { public static void main(String[] args) throws Exception { MyRemoteInterface remote = (MyRemoteInterface) Naming.lookup("rmi://localhost/MyRemoteObject"); //获取远程引用 String result = remote.sayHello(); //调用远程方法 System.out.println(result); } }
Cet article présente brièvement le concept, le principe de fonctionnement et l'utilisation de Java RMI. Java RMI peut être utilisé pour effectuer facilement des appels de méthodes à distance entre des objets Java et atteindre l'objectif des appels d'API à distance. Il s'agit d'une technologie distribuée très pratique. Par conséquent, comprendre Java RMI est très important pour les développeurs back-end Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!