在自定义系统中嵌入Play应用程序

时间:2012-05-14 01:36:20

标签: playframework embed playframework-2.0

我想在我自己的系统中嵌入一个基于Play的应用程序,类似于我能用Jetty做的事情。为了简化 - 我宁愿使用start方法而不是运行start()脚本。

为了更具描述性,让我们假设我有这种情况:

  • 我有一个基于我自己的代码的复杂系统,负责消息传递,事件处理等。
  • 该系统的一部分使用Morphia映射(MongoDB ORM),Play应用程序可以重用它
  • 此时,应用程序由Java Service Wrapper启动并作为守护程序运行
  • 我想通过添加Play应用程序来扩展这个系统,它是我自己的应用程序的所有依赖项,并调用一些方法来启动具有底层协议栈的应用程序(Netty)

这种情况是否可行?

1 个答案:

答案 0 :(得分:3)

您可以使用NettyServer类以编程方式启动Play服务器:
https://github.com/playframework/Play20/blob/2.0.4/framework/src/play/src/main/scala/play/core/server/NettyServer.scala

像:

NettyServer.createServer(new File("/path/to/app"))