问题标签 [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.

0 投票
2 回答
337 浏览

java - Lagom 入门会出现运行时异常

安装激活器为:

brew install typesafe-activator

创建了一个新项目:

activator new my-first-system lagom-java

切换到目录并运行项目,如下activator run所示:

[info] Set current project to my-first-system (in build file:/Users/arungupta/workspaces/my-first-system/) [info] Updating {file:/Users/arungupta/workspaces/my-first-system/}my-first-system... [info] Resolving jline#jline;2.12.1 ... [info] Done updating. java.lang.RuntimeException: No main class detected. at scala.sys.package$.error(package.scala:27) [trace] Stack trace suppressed: run last my-first-system/compile:run for the full output. [error] (my-first-system/compile:run) No main class detected. [error] Total time: 0 s, completed Mar 23, 2016 12:08:22 PM

这是JDK版本:

java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

少了什么东西?

0 投票
1 回答
1068 浏览

lagom - 如何在 logom 应用程序中更改服务网关的端口?

我已经创建了入门 lagom 应用程序 http://www.lagomframework.com/documentation/1.0.x/GettingStarted.html

系统启动良好。

如何更改服务网关的主机和端口以侦听 0.0.0.0:8080 ?

0 投票
2 回答
1645 浏览

lagom - 是否存在 lagom 提供的示例应用程序

我发现 lagom 是一个用于微服务的 cqrs 和 es 框架。但是我没有找到一个可以快速启动的示例应用程序。我想知道它是否在计划中。

0 投票
3 回答
387 浏览

java - Lightbend Lagom - 如何重构 Java EE 单体

我正在观看由 lightbend 制作的关于将单体重构为微服务的网络研讨会,我遇到了一个问题。该框架的主要目标似乎是重构单体,但 lagom 似乎在其自己的容器和技术集上运行。当我想到单体和遗留 Java 应用程序时,我想到的主要技术是 Java EE。我认为当今生产中的大多数应用程序都依赖于一些 Java EE 技术。我工作的那个主要是基于 EJB 的。所以我的问题是:Lagom 如何解决这个问题?我想重构这种应用程序涉及将远程 EJB 查找转换为休息调用。但是,如果 lagom 不在 Java EE 容器中运行,我将如何保留我的应用程序的本地 EJB?可以同时使用吗?

0 投票
1 回答
1547 浏览

microservices - Lagom 服务如何消耗其他服务?

我想不出三种情况。

  1. Lagom 服务使用同一集群中的另一个 Lagom 服务
  2. Lagom 服务使用不同集群中的另一个 Lagom 服务
  3. Lagom 服务使用外部非 Lagom 服务
  4. 外部非 Lagom 服务使用 Lagom 服务

1、Lagom服务消费同一个集群中的另一个Lagom服务

对于这种情况,方法是 ServiceAImpl 依赖于 ServiceB API,该 API 绑定到将被注入到 ServiceAImpl 的具体实现。

服务B绑定:

服务A实现:

如果我理解正确的话,为了以这种方式使用服务 API,两个客户端必须在同一个集群中。然而拉戈姆

集群应该只跨越运行相同服务的节点。

在这种情况下,我们有两种不同类型的服务。

  • “相同的服务”是指 API 暴露给外部服务的顶级服务?
  • 在 Lagom 1 微服务 = 1 个带有外部 API 的服务 + n 个内部服务?

2. Lagom 服务消费不同集群中的另一个 Lagom 服务

文档

请注意,如果您要与之通信的服务实际上是 Lagom 服务,您可能需要阅读与外部 Lagom 项目集成的文档。

为什么只配置了对服务 API 的依赖,而不是外部 Lagom 服务的 IP 和端口?

3. Lagom 服务消费外部非 Lagom 服务

您要做的第一件事是在服务定位器中注册每个外部服务。假设我们要注册一个名为 weather 的外部服务,该服务在 http://localhost:3333 上运行,这是我们将添加到构建中的内容:

与该 IP 的合同是什么?背后应该是什么?

4. 外部非 Lagom 服务使用 Lagom 服务

在 Lagom 支持自我注册模式之前,我必须使用第三方注册模式吗?

0 投票
1 回答
137 浏览

java - sbtEclipse 在 lagom 项目中出现错误

我已经下载了最新版本的激活器 (1.3.9),并尝试使用本指南 ( http://www.lagomframework.com/documentation/1.0.x/GettingStarted.html )启动和运行 Lagom 项目

我有一个新的 lagom-java 项目(使用 activator new 命令)。我能够在项目目录中成功运行 activator 命令,但是当我尝试在 activator 控制台中运行 eclipse 时,出现以下错误。

我在“project/eclipse.sbt”中有以下条目:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

以及 project/plugins.sbt 中的以下内容:

我知道“lagom-internal-meta-project-service-locator”是一个内部项目,不能导入 eclipse,但不确定它从哪里获取 eclipseSkipProject 设置,因为我没有在构建中定义“skipProject”。 sbt 任何地方。

由于我只是使用 lagom 的默认设置运行,我认为它应该开箱即用。这里有什么问题?

0 投票
1 回答
260 浏览

lagom - Lagom 是否仅支持 REST?

我知道这是一个奇怪的问题……毕竟,为什么现在有人会使用 SOAP?但我想建立一个概念证明,我需要生成一个 SOAP 服务。我不清楚如何在 Lagom 中完成这项工作,但从文档来看,它似乎非常关注 REST,因此对于我正在做的事情来说,它看起来不是一个好的选择。

0 投票
1 回答
849 浏览

java - Lagom lagomServiceLocatorStart 不工作 - 连接被拒绝

我创建了一个名为 hello-lagom 的示例 Lagom 项目,一切似乎都运行良好。但是,当我尝试通过首先启动服务定位器然后运行项目来运行 helloworld-impl 项目时,如下所示:

控制台显示服务定位器正在运行:

然而,Lagom 在启动 helloworld-impl 服务时抛出连接被拒绝异常:

使用 lagomCassandraStart 启动嵌入式 cassandra 并没有帮助。不仅 cassandra 服务而且 helloworld-impl 无法注册到服务定位器。我试图 telnet 端口,但它返回连接被拒绝。

这可能是仅在尝试独立运行服务时发生的错误,还是我可能缺少某些东西?

0 投票
1 回答
839 浏览

cassandra - Lagom 框架 / Persistent Read Side / Cassandra / DataStax / 表未配置

我从http://www.lagomframework.com/documentation/1.0.x/ReadSide.html成功编译了代码示例

这是关于 CQRS 模式的读取端。

唯一的问题是:它不运行。

看起来像配置问题......而Lagom的官方文档此时非常不完整。

错误说:

好的,代码中有一行代码执行 cassandra 查询,从 & 中选择并插入到名为 postsummary 的表中。

我认为这些表是默认自动创建的。无论如何,有疑问,我只是将这一行添加到我的 application.conf 中:

仍然......,没有运气,重新启动后同样的错误。

也许它与启动期间的另一个错误有关,即:

我想...好吧,也许它正在尝试联系 9042(默认 cassandra 端口),而 lagom 默认情况下在 4000 开始嵌入 cassandra。

所以我尝试在 application.conf 中添加这些行:

仍然......,没有运气,同样的错误。

任何人都可以帮我解决它。我需要运行这个示例,这是使用 lagom 进行 CQRS 研究的关键部分。

一些参考:https ://github.com/lagom/lagom/blob/master/persistence/src/main/resources/reference.conf

以下是一些截图:

在此处输入图像描述

在此处输入图像描述


顺便说一句,我通过在代码中创建表来解决它,从事件处理器的准备方法中调用此方法:

谢谢!,拉卡

0 投票
1 回答
1319 浏览

websocket - Lagom 框架 / 流式响应 / websocket / pathCall / Descriptor / Creator 而不是 Function

我的服务是这样声明的:

滴答声有效。滴答声没有。

当我使用 websocket 客户端(到 ws://localhost:9000/api/bloggie/tock )调用它时,我得到“未定义”作为响应,表明没有找到该 URL 的映射。

经过一些实验,发现了原因:tick 有效,因为它具有 url 参数(:interval)。Tick 不起作用,因为它没有 url 参数。严重 pathCall 要求您在 URL 中有参数?所以我检查了服务的API:http ://www.lagomframework.com/documentation/1.0.x/api/java/com/lightbend/lagom/javadsl/api/Service.html

pathCall 有几个重载的声明。显然蜱虫使用这个:

所以从签名来看,是的,它需要方法来获取参数。因此,如果方法(例如 tock)不带参数,则绑定将在运行时失败。所以我想我需要改用这个:

问题是......我不知道怎么做。我还没有看到在 pathCall 中使用 akka.japi.function.Creator 的任何示例。

我试过这个:

它编译。但它在运行时抛出一个错误:

提前致谢!


我只是做了一些实验......全部编译,但没有一个工作......

结果:编译成功。运行时:路径未知(无绑定 (?))。

然后我尝试了

结果:异常。

然后我尝试了:

结果:异常


更新:“已解决”(部分)。发现这个有效:

我可以使用以下 URL 打开它:ws://localhost:9000/tock

所以......,当这些函数不需要参数时,我不能为那些返回流的函数提供结构良好的 URL?至少现在 (?)。


更新:似乎这个问题不仅发生在 pathCall 上。我在休息电话中遇到了同样的问题。这个不起作用(没有约束力):

这个有效:

谢谢!