Java: Incorporación de motores de script en una aplicación: ¿El JSR 223 (scriptEngine) sigue siendo una buena solución?

StackOverflow https://stackoverflow.com/questions/5358923

  •  27-10-2019
  •  | 
  •  

Pregunta

Quiero usar uno o muchos lenguajes de script en mi aplicación Java.

De Sitio web de Jruby Descubrí que hay 3 maneras:

  1. Usando Java 6 (usando JSR 223: Scripting)
  2. Incrustación con marco de secuencias de comandos de frijoles (BSF)
  3. Llamar directamente a $ your_scripting_engine $ apis

Como necesito admitir más de 1 motor de script, no creo que la opción 3 sea lo suficientemente buena.

Al buscar la solución 1. JSR 223: Scripting, empiezo a buscar el archivo zip que contiene toda la integración del motor de script

Download and unzip the collection of jars from the documents and files section of the site (jsr223-engines.tar.gz or jsr223-engines.zip).

Pero este archivo no está en ninguna parte de la red (sección de DowLoad de proyecto de casa esta vacio. Si quiero, puedo descargar las fuentes y construir mi integración de Enngines necesaria. El código de las fuentes se ve vieja (más de 2 años para lo que vi)

¿El JSR 223 sigue vivo y una buena solución para elegir? Si no, ¿el marco de secuencias de comandos de frijoles es una buena alternativa? Este último tiene una página de documentación muy pobre y solo se admiten pocos lenguajes de script (pero es compatible con la mayor parte del idioma que quiero tener) ...

¿Fue útil?

Solución

He incrustado rinoceronte de sandboxed en un par de aplicaciones y me resultó mucho más fácil trabajar directamente con el código de rinocerontes.

A menos que desee incrustar múltiples idiomas diferentes o quiera implementar en máquinas virtuales que ya tengan frascos JSR 223, entonces no creo que se beneficie mucho de la capa adicional de abstracción.

Sugeriría encarecidamente que tenga en cuenta el sandboxing al elegir un idioma para incrustarse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top