我想开发一个服务,公开一个rest API来上传插件,插件是本地可执行的,即服务器的其他类使用它们。
插件也是:
execute()
方法的东西。执行此方法的结果将被处理到另一个类,因此在API上公开它并不是非常重要。问题是我不知道从哪里开始,因为我已经在Spring-boot上开发了一些基本的API,因为它拥有我需要的所有东西来轻松开发REST API但是我读的更多如何动态加载模块(插件)越多,我看到Spring不支持这种东西,我不确定类加载器或服务加载器是否可以在该上下文中工作。
我发现了OSGi框架,但老实说我不知道改变整个技术堆栈会对我有所帮助所以我想确保它是正确的答案,如果是,那么找一些资源指出我是对的方向,例如一些实现类似内容的教程。
感谢您的任何建议。
答案 0 :(得分:3)
结帐OSGi enRoute。它包括一个开发RESTful服务的模型:http://enroute.osgi.org/services/osgi.enroute.rest.api.html。
答案 1 :(得分:2)
OSGi听起来像是你尝试做的最好的匹配。
您可以将所有内容安装为捆绑包,包括主应用程序。如今这比几年前的工作少得多,但仍然不容小觑。
另一个选择是启动一个嵌入式OSGi框架,您只需安装插件即可。这项工作较少,但您需要确切了解其工作原理。
因此,对于这两种情况,我建议从外部OSGi专家那里获得帮助,因为它可以大大加快转换速度并避免您选择作为初学者的许多错误路径。