Maison > développement back-end > tutoriel php > Développement back-end Java : Utilisation de l'invocation de méthode à distance Java pour les appels à distance d'API

Développement back-end Java : Utilisation de l'invocation de méthode à distance Java pour les appels à distance d'API

WBOY
Libérer: 2023-06-17 11:00:01
original
1194 Les gens l'ont consulté

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;
}
Copier après la connexion

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!";
  }
}
Copier après la connexion

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...");
  }
}
Copier après la connexion

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);
  }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal