J'inspecte Vert.x, une infrastructure qui peut exécuter une application dans plusieurs langages JVM différents.Vert.x. Comment créer une application JVM polyglotte réelle?
Il existe un grand nombre d'exemples disponibles à vertx-examples.
Mais le problème est, (et je n'ai encore rien trouvé) comment pourrions-nous écrire une application Vert.x sur une vraie voie polyglotte (en utilisant tous les langages JVM supportés en même temps)?
Par exemple, comment pouvons-nous écrire un code qui utilise les fichiers suivants: Java.java
, Kotlin.kt
, Javascript.js
, Ruby.rb
. Où chacun a une fonction simple à l'intérieur de celui-ci qui impriment le nom de la langue (par exemple le Ruby.rb imprime ruby
).
Par exemple, lorsque vous utilisez cette entrée:
$vertx run Polyglot.java
comment pouvons-nous obtenir la sortie suivante?
java, kotlin, javascript, ruby
Modifier, ma tentative:
Polyglot.java
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Launcher;
import java.lang.management.ManagementFactory;
public class Polyglot extends AbstractVerticle {
public static void main(args: String[]) {
Launcher.main(new String[] { "run", Polyglot.class.getName(), "-ha"});
}
@Override
public void start() {
vertx.createHttpServer().requestHandler(req -> {
final String name = ManagementFactory.getRuntimeMXBean().getName();
req.response().end(
Java.message()
+ Kotlin.message()
);
}).listen(8080);
}
}
Java.java
public class Java {
public static String message() {
return "Java\n";
}
}
Kotlin.kt
class Kotlin {
companion object {
fun message() {
return "Kotlin\n"
}
}
}
vertx run Polyglot.java
en supposant que vous avez essayé, quel barrage spécifique avez-vous frappé? – the8472