Je cherche à implémenter un service Web basé sur JSON-RPC dans Scala en utilisant finagle. J'essaie de trouver la meilleure façon de structurer le code d'invocation RPC (c'est-à-dire prendre la demande désérialisée et invoquer la méthode appropriée).Création d'acteurs auto-documentés dans Scala
Le service doit être en mesure de cracher une page d'aide sur toutes les demandes possibles acceptées et leurs paramètres. En Java, j'utiliserais simplement des annotations (à la fois pour exposer et documenter des fonctions) et ensuite faire refléter le service RPC sur les classes appropriées, détecter toutes les méthodes exposées et ensuite utiliser les MethodInfo reflétées pour invoquer les fonctions le cas échéant.
Quelle est la manière idiomatique de Scala de réaliser quelque chose de similaire? Dois-je utiliser une approche de passage de message (c'est-à-dire passer un objet de requête à un acteur, lui demander s'il peut l'invoquer, etc.)
Si vous utilisez Akka (2.1 Milestone) au lieu de Finagle, vous pouvez utiliser scala 2.10 et sa nouvelle API de réflexion pour générer ce que vous voulez. – Jan