我尝试在 Tomcat 7 上使用 akka 在 Scala 中部署一个简单的应用程序。
在第一个版本中,演员系统和主要演员是直接从 Scala 对象启动的。
在第二个版本中,我创建了一个初始化器(扩展 ServletContextListener),以便在部署战争时启动参与者系统和参与者。
在这两种情况下,我都会得到一个 java.lang.LinkageError ,如下所示:
java.lang.LinkageError: loader constraint violation: when resolving method "akka.actor.Props$.apply(Lscala/reflect/ClassManifest;)Lakka/actor/Props;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, com/my-app/Transfert$, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, akka/actor/Props$, have different Class objects for the type scala/reflect/ClassManifest used in the signature
com.my-app.Transfert$.<init>(Transfert.scala:14)
com.my-app.Transfert$.<clinit>(Transfert.scala)
com.my-app.Transfert.getState(Transfert.scala)
org.apache.jsp.transfert_jsp._jspService(transfert_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
我在谷歌和任何地方搜索,但我没有找到一个简单的例子来说明如何在 Tomcat 7 上部署 Scala/akka 应用程序?
我知道 akka 1.3 中有一个 akka.http 包,但我想使用 akka 2.0(至少)。似乎 akka.http 已经消失,取而代之的是使用 play-mini。但我宁愿不使用 play-mini 或 play。
有什么建议吗?有什么阅读建议吗?或者 ??