Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 结合Akka、喷淋和嵌入式码头_Scala_Jetty_Akka - Fatal编程技术网

Scala 结合Akka、喷淋和嵌入式码头

Scala 结合Akka、喷淋和嵌入式码头,scala,jetty,akka,Scala,Jetty,Akka,我正在尝试创建一个包含Akka、Spray和Jetty的独立罐子。理想情况下,我将整个应用程序分发到单个文件中,而不使用任何外部文件 我了解如何创建嵌入式Jetty服务器实例 def main(args: Array[String]): Unit = { val server = new Server(9012); server.start(); server.join(); Thread.sleep(2000); server.stop(); } 在创

我正在尝试创建一个包含Akka、Spray和Jetty的独立罐子。理想情况下,我将整个应用程序分发到单个文件中,而不使用任何外部文件

我了解如何创建嵌入式Jetty服务器实例

def main(args: Array[String]): Unit = {
    val server = new Server(9012);
    server.start();
    server.join();
    Thread.sleep(2000);
    server.stop();
}
在创建HelloService和Boot类时,我遵循了Spray示例代码,但我不知道如何连接这两个类,因此当Jetty服务器上请求URL时,Spray服务会响应它。任何帮助都将不胜感激

更新:多亏了Alois Cochard的一系列询问,我离解决这个问题越来越近了(我来自web脚本背景,了解Java web服务一直是一项挑战!)。我已经修改了启动服务器并读取入门模板中的和文件。它正在读取这两个文件,但现在当我导航到Jetty服务器/在Jetty服务器上时,我得到了以下信息:

HTTP错误:500

访问/时出现问题。原因:

断言失败:找到id为“spray root service”的0个参与者,预期正好是一个

我知道我遗漏了一些愚蠢的东西(也许我应该分解并使用SBT,但能够在Eclipse中编译和运行,然后在浏览器中刷新,是如此简单和吸引人)


更新#2:解决了问题。我没有创建WebAppContext对象,这意味着web.xml永远不会被读取,因此Akka永远不会被加载。正在工作的主要方法。

根据spray模板,您应该在web.xml配置文件中添加spray servlet连接器:

您可以在此处找到有关如何配置standealone jetty以使用此文件的一些信息(netty文档中肯定有更好的参考):


顺便说一句,使用喷涂模板作为项目的基础看起来是个好主意;)

谢谢你的评论,阿洛伊斯。没有直接解决我的问题,但它让我朝着正确的方向前进,我最终找到了答案。干杯@约翰比斯内克,你能分享你的解决方案吗?@tiagoboldt这是我在主要问题更新中链接到的要点:你知道吗?