7
votes

Java Rmi avec Scala, est-ce possible?

Java RMI -Remote Invocation de méthode - est Java à Java uniquement.

sur le Scala site Web J'ai lu que l'intégration avec Java est transparente et que:

Les programmes Scala exécutés sur la machine virtuelle Java, sont Code octet compatible avec Java afin que vous puissiez utiliser pleinement les bibliothèques Java existantes ou le code d'application existant. Vous pouvez appeler Scala à partir de Java et vous pouvez appeler Java de Scala, l'intégration est transparente.

Cela signifie-t-il que je peux utiliser avec succès un Java à Scala RMI?

Quelqu'un a-t-il expérimenté cette première main?

EDIT:

Tout gotchas connu ou découvert ??


0 commentaires

3 Réponses :


0
votes

Cela dépendrait de la bibliothèque RMI que vous utilisez, mais en général, la réponse est "oui". Bien que, si vous écrivez une méthode qui retourne (par exemple) une collection Scala, comme scala.collections.immutable.list , votre code Java d'appel ne sera probablement pas capable de convertir cela à un < code> java.util.list .


2 commentaires

Je ne connais pas du tout avec Scala, pourquoi pensez-vous que nous aurions-nous des problèmes de conversion entre les deux types de liste?


Vous pouvez voir cette question pour plus de détails: Stackoverflow.com/Questtions/2429944/... . Fondamentalement, le scala.collections.immauttable.list est immuable (ne peut pas être modifié) tandis que java.util.list ne devrait généralement pas être immuable.



5
votes

Oui, voici un Lien vers un message fil où il ressemble à quelqu'un de quelqu'un le fait . Il dit:

oui ça peut! Merci pour l'aide. Je dispose maintenant d'une petite paire de programmes Scala basée sur la RMI qui effectuera des transferts de documents d'un système de documentation à une autre (d'une version précédente); Le code Scala interagit très bien avec les bibliothèques de documentation Java.

Découvrez comment obtenir les signatures de méthode pour inclure lancers RemoteEeException semble avoir été le plus gros obstacle.


0 commentaires

1
votes

Oui, cela peut être fait. Le compilateur RMI fonctionne avec le code d'octets Java, de sorte que la langue utilisée n'a pas d'importance. J'ai fait cela pour un projet de classe.


3 commentaires

Merci! Je ne connais pas Scala; Existe-t-il des problèmes éventuels liés à l'utilisation de deux langues différentes ou de quelque chose d'autre que je devrais être au courant? Qu'en est-il des types de conversion de collections par exemple?


Il existe des méthodes de conversion entre la liste Scala et les listes Java (et d'autres structures de données) dans la bibliothèque Scala, ce n'est donc pas un problème.


RMIC est obsolète depuis Java 1.5, donc pratiquement pour les âges.