Scala运行时插件系统

时间:2014-01-26 11:01:46

标签: scala reflection scala-compiler

我正在研究简单的应用服务器,我想制作扩展插件系统。对于构建插件,我正在计划创建将生成scala源文件的特殊向导。我想要自动编译并加载这些文件,以便将他们的商务逻辑包含在我的应用服务器中。是否可以在Scala中完成并且我必须阅读并为实现这个想法而努力?

1 个答案:

答案 0 :(得分:4)

你有两个选择。

  1. 使用OSGi。它的设计用于插件,并且具有一些非常好的功能,用于加载/卸载服务,处理跨服务依赖性等。在不利方面,它确实意味着你将会这样做必须预先编译你的插件并将它们与有效的OSGi清单一起包装在一个jar文件中。

  2. 使用ScalaScriptEngine(或等效的东西)。它似乎已经满足了您的所有要求:)