问题标签 [lagom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 为 Lagom Java 启用 CORS 过滤器
我遵循了跨域资源共享的说明,以便从 localhost:3000(我的 Angular 前端正在运行的地方)访问 localhost:9000(我的微服务正在运行的 Lagom GateWay)。但我仍然面临:
有没有人有一个启用 CORS 的示例或项目在那里工作?
scala - Lagom 中的多部分表单数据
我想要一个接收项目对象的服务,该对象包含;名称、描述、价格和图片。
- 其他属性是可以很容易地作为 Json 对象发送的字符串,但是对于包含图片的最佳解决方案是什么?
- 如果 multipart formdata 是最好的解决方案,它是如何在 Lagom 中处理的?
lagom - 将捆绑包加载到 ConductR 沙箱时解析异常(Windows)
我正在尝试在 Lightbend ConductR 沙箱上部署 lagom 微服务,但是当我尝试加载捆绑包时它会引发异常(与配置解析相关)。此步骤在具有相同项目的 Ubuntu 机器上运行良好。
这是错误消息
bundle.conf 有以下内容:
机器配置:
scala - 简单的微服务框架
有一段时间我一直在为微服务框架寻找一个快速简单的解决方案。我对所有 Lightbend 产品和 scala 都很陌生,但由于它看起来很有趣,我决定试一试。
几个问题:
1) 我不明白为什么需要新框架 Lagom ?
如果 play 已经可以给我同样的解决方案(作为微服务),那为什么还需要另一个框架呢?
2)通过玩,我设法非常快速地创建了一个“Hello World”项目,而且部署非常简单直接(通过 dist)。
我喜欢这样一个事实,即我可以将所有内容合并到一个 ZIP 中并通过脚本运行它。据我了解,在 Lagom 中,我需要使用 ConductR。
对于我目前的需求,它看起来像是一个很大的开销。是否有一个简单的原因来部署它,比如在 play 中?
谢谢你们
lagom - 如何逐步使用 sbt 创建一个空的 lagom 项目?
根据 lagom 参考,我可以activator new xxx lagom-java
用来创建一个简单的项目。但是如何使用 sbt 或 activator 创建一个空的 lagom 项目(不包括示例代码)?请告诉我步骤。
scala - scalac:加载类文件“CassandraSession.class”时检测到缺少或无效的依赖项
我一直在使用 Maven 在 Javadsl 中进行开发,但是自从我添加了 Scaladsl 库以来,我一直无法在我的 intellij 2016 中编译该项目。
这是我得到的错误:
错误:scalac:加载类文件“CassandraSession.class”时检测到缺少或无效的依赖项。无法访问包 akka.persistence.cassandra 中的术语会话,因为它(或其依赖项)丢失。检查您的构建定义是否存在缺失或冲突的依赖项。(重新运行
-Ylog-classpath
以查看有问题的类路径。)如果“CassandraSession.class”是针对不兼容的 akka.persistence.cassandra 版本编译的,则完全重建可能会有所帮助。
我尝试了以下方法:
- 使缓存无效并重新启动 Intellij
- Maven 全新安装(失败)
- 重启电脑
他们都没有工作。
有谁知道如何解决这个问题?
这是我同时使用 Scaladsl 和 Javadsl 的模块的 POM.xml。
谢谢!
java - 在生产中运行 Lagom
我正在努力在生产中设置 Lagom 应用程序。我曾尝试联系 Lightbend 以获得 ConductR 许可证,但很久没有回音了。所以,现在我正在寻找一种替代方法。我有多个问题。
由于现在应用程序的规模很小,我认为使用静态服务定位器现在对我有用(对其他替代方案开放)。另外,我使用 MySQL 作为我的事件存储,而不是 Cassandra 的默认配置(与此线程无关的原因)。
为了抑制 Cassandra 和 Lagom 的服务定位器,我在 build.sbt 中添加了以下几行:
我还使用 service1-impl 模块将以下内容添加到我的 application.conf 中。
对于开发环境,我已经能够sbt runAll
在 tmux 会话中成功运行我的应用程序。使用此配置,默认 8000 端口上没有运行服务定位器,但我可以单独点击 8080 端口上的 service1。(不确定这是否是预期的行为。评论?)
我跑去sbt dist
创建一个 zip 文件,然后将其解压缩并在其中运行可执行文件。有趣的是,zip 是在 service1-impl 文件夹中创建的。那么,如果我有多个模块(服务?),sbt dist 会为每个服务创建单独的 zip 文件吗?
当我运行通过创建的可执行文件时sbt dist
,它会尝试连接到 Cassandra 并启动服务定位器并忽略我添加的静态服务定位器配置。基本上,看起来它忽略了我添加到 build.sbt 的行。谁能解释一下?
最后,如果我有 2 个服务,service1 和 service2,以及集群中有 2 个节点,其中节点 1 运行 service1,节点 2 运行这两个服务,我的静态服务定位器在 application.conf 中的外观如何,因为每个该服务将有自己的application.conf,我是否必须在所有application.confs中复制相同的配置wrt静态服务定位器?
会是这样吗?
由于每个特定的参与者都将在其中一个节点上产生,它如何与这个服务定位器配置一起工作?
另外,我不想在生产中的 tmux 会话中运行它。最终在生产中运行此代码的最佳方法是什么?
lagom - 如何让'mvn lagom:runAll'让我的服务监听端口?
我在运行我的第一个服务时遇到问题,因此决定从 lagom Maven archtype 项目中添加 hello-api 和 hello-impl 项目,看看它是否可以工作。它有,但我的没有。
背景
由于其他团队成员都是纯 Java 开发人员,我试图避免使用 sbt 和 activator。因此,目标是一切都在 Maven 中工作。
这是“mvn install”脚本输出的片段,用于显示构建的其他服务。
注意:创建了一个类似于 HelloModule 类的 MAIActorsModule 类,并将 application.conf 文件添加到 src/main/resources 文件夹中。
发出命令“mvn lagom:runAll”时,最初,服务是记录的 hello 服务端口,但没有记录其他服务的端口。
我错过了哪些步骤?
lagom - 为什么 lagom 会抛出 java.lang.ClassNotFoundException: com.lightbend.lagom.internal.javadsl.api.broker.TopicFactoryProvider?
在获得有关 [获取服务侦听][1] 的帮助后,之前尝试运行初始 lagom 服务失败。
因此,在这次尝试中,maven 项目(usvcs)只有两个模块(actor-api 和 actor-impl)和一个服务调用“echo”。
并且实现是一个没有实体引用的存根。
运行 'mvn lagom:runAll' 抛出异常,并指出未找到内部lagom dsl 类。
该服务不起作用,明显的问题是是否不允许存根服务调用???
更新
做了一些改动,还是报错,所以我把代码放在github上,以便更完整地记录下来https://github.com/tevye/lagom-echo-project-from-scratch
java - Lagom - 使用标头测试服务调用
我正在尝试遵循此处有关“处理标头”的文档。我不知道如何使用标头测试服务调用调用。通常,我会做
我注意到ServerServiceCall
并HeaderServiceCall
接受invokeWithHeaders(...)
并且我ServiceCall
的实现为 a HeaderServiceCall
,但是每当我尝试将我的服务 API 更改为ServerServiceCall
orHeaderServiceCall
时,我得到:
如何编写使用自定义请求标头调用服务调用的测试?我尝试将调用保持ServiceCall
在 API 中,使用 实现HeaderServiceCall
,并在测试中将调用强制转换为HeaderServiceCall
,但尝试执行此操作时出现强制转换异常。任何帮助深表感谢。谢谢。