问题标签 [micronaut]

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 投票
3 回答
3997 浏览

java - Micronaut 中的 Springs 资源是否有等价物?

我正在将一个小型 Spring Boot 应用程序迁移到 Micronaut 1.0.1,我想知道是否有一个等价物org.springframework.core.io.Resource及其实现,例如ClasspathResource

在 Spring Boot 中,我使用其构造函数将资源注入服务。

我怎样才能在 Micronaut 中做到这一点?

0 投票
2 回答
6619 浏览

micronaut - Micronaut 控制器错误页面未找到

我使用 mn create-app example.micronaut.complete 创建了一个新的 micronaut 应用程序

之后,我使用 intellij 打开了项目,并使用以下代码将一个新类作为 TestController 添加到项目中:

但我越来越

每当我尝试访问 /hello 端点时

我的 application.yml 看起来像这样:

0 投票
2 回答
2765 浏览

spring - 我可以在 Micronaut 中使用 spring data jpa 吗?

我想用 JpaRepository 扩展我的 TestRepository 接口,并利用 jpa 方法查询、分页和排序等功能,而无需手动定义实体管理器 bean,也无需编写任何 sql。PS 在 micronaut 项目中

0 投票
1 回答
510 浏览

kotlin - micronaut 不允许从同一基类(实现接口)派生的两个控制器向路由器注册

似乎 Micronaut 不允许从同一基类(实现接口)继承的两个控制器向路由器注册。

这是引发相同异常的简化代码: 然后我得到了这个异常:

这仅适用于一个控制器。如果您从 RestController 中删除接口 RestOperations,它也将起作用。

源自 Netty 的长堆栈跟踪...以:

如果您有任何想法,请告诉我。谢谢你。

0 投票
2 回答
12665 浏览

micronaut - 如何在 Micronaut 中读取应用程序属性?

我使用指南在 micronaut 中发送邮件将 AWS SES API 集成到我的 Micronaut Groovy 应用程序,如果我直接为属性分配值,我可以发送邮件。

我想让它配置驱动,因此一直试图找到实现这一目标的方法。

我尝试了指南中提到的 @Value 注释,但无法使其工作。

进一步深入研究文档显示,Micronaut 有自己的注释,用于在变量中注入属性。

但似乎没有任何效果,我的变量仍然为空。

这里可能有什么问题?

作为参考,以下是我的 application.yml 文件

0 投票
0 回答
1244 浏览

java - micronaut HttpResponse 读取正文

试图捕获实际上是 xml 的 response.body() 文本。

我在这个java micronaut 应用程序这个 groovy 应用程序中都有上面的代码。它出现在我第一次看到 Java 应用程序http://localhost:8081/orders/testxml 时:

但是对java的任何额外尝试都会导致

并跟踪显示:

Groovy 应用程序似乎并没有实际加载任何内容,经过进一步检查,我注意到在 Java 中的原始表示形式为:

出来的东西就像[h87aa..groovy 版本显示[00 11 00 ]一长串数字一样。

最终我试图从一个应用程序发送 xml 并在另一个应用程序上解析它,也许有一个更简单的方法。目前坚持为什么会发生这种奇怪的行为

0 投票
1 回答
328 浏览

kubernetes - Ubuntu上的kubernetes:通过consul与其他主机交互的微服务问题

我已经走了几个星期了,但无法在以下问题上取得进展:

在此视频中进行了总结: https ://www.youtube.com/watch?v=48gb1HBHuC8&t=358s

但从那时起,代码本身/脚本已经更新。有各种 shell 脚本。

编写的微服务应用程序是在 Micronauts 中编写的,如果它以文档化的方式执行而不通过 kubernetes,它看起来确实可以正常工作。(所以我们知道它确实有效)

现在尝试通过 kubernetes 使其工作,我最终得到以下结果:

请注意服务名称front stock,这是我们将重点关注的两个。

他们被称为front-deployment服务stock-deployment。IT 已重命名,因为您可以根据 consul 看到:

这些是可解析的名称:在这种情况下,stock-deployment 正在解析为 ip,10.109.203.36现在在下面称为 stock:

我们有以下豆荚:

如果我运行:

如果我运行:

使用这些方法中的任何一种,DNS 似乎都可以正常工作。

如果我跑

问题是这样的:

上面的 curl 正在调用beer-front 应用程序 GatewayController方法查找,该方法调用stockControllerClient.find:这反过来又在 beer-stock 应用程序中调用 StockController

我知道它试图打电话给客户:

但实际的客户端方法似乎都无法访问远程服务。

主要问题是我不太确定 httpClients 无法连接到远程服务的哪一点出了问题。虽然 consul 配置不正确,但实际的应用程序无法注册自己并且无法启动。

版本:

以下端口转发到本地主机:

作为一个兴趣点,我启用了http客户端跟踪并点击了前端应用程序的当前ip:8080/stock,这是产生的日志:

任何帮助将非常感激。项目链接在上面的链接中,有各种 shell 脚本,设置和运行它相当复杂,所以也许在视频上观看片刻可能更实用。

更新 我基本上已经远离这个但我真的无法继续,目前升级到最新的 consul-helm v0.5.0 和 micronaut 1.0.4 但仍然面临同样的问题,不太确定这是否正常:

我最终在这个分支上制作了一个非常基本的基于 2 应用程序的版本

有一个更新的更完整的日志 - 在此处找到 - 运行 ./install-minikube.sh 后的全新安装(如果要为其他人运行此脚本,则需要更改 docker 用户名)生成日志

0 投票
3 回答
2096 浏览

java - Micronaut:测试失败,页面未找到,但可以通过浏览器正常访问页面

我正在学习如何使用 Micronaut 来创建 REST 服务,但是我看不到测试设置有问题,无论我在代码或 gradle 中进行什么更改,我在运行测试时总是会收到一个恼人的“找不到页面”错误,但是不是在应用程序正常运行时。

App在包中有一个名为的类br.com.myproject。在这个类中我只有main方法,如下:

在一个子包br.com.myproject.controllers中,我有一个带有HelloController注释的类,@Get("/hello")它应该以一个“Hello,World!”响应。文本,当我通过浏览器访问它时它会正常运行:

在测试目录中,我有一个HelloControllerTest可以确保我的/hello端点正常工作的类。但不幸的是,我的测试因PageNotFound异常而失败。

我的课堂测试如下:

最后,我的 gradle 设置:

我的测试和我的 gradle 设置都是基于 Micronaut 文档(这个)中的一个代码示例编写的。并且代码示例中的测试以某种方式正常工作。

例如,这些是我在这里问之前尝试过的:

  • 更改了依赖项的版本以匹配代码示例中的版本:它不起作用;
  • 将所有类放在同一个包(br.com.myproject)下:它不起作用;
  • 将示例代码的 gradle 设置复制/粘贴到我的 gradle 设置中并正确更改包名称:它不起作用;
  • 打印出测试中使用的 URL 只是为了检查它是否正确:它是正确的,但仍然会抛出“找不到页面”。

但是,当我运行应用程序并将地址输入浏览器时,一切正常。

我用谷歌搜索了关键字“未找到 micronaut 测试页面”和类似的关键字,但没有发现任何有用的文章可以帮助我解决此错误。

顺便提一下:我对 gradle 配置并不完全熟悉,因此我怀疑我可能在这里缺少一些东西。

有谁知道我可能会错过什么?

我很感激任何提示。

谢谢 =)

0 投票
1 回答
2596 浏览

java - 如何在 Micronaut 中下载(流式传输)大(生成)文件

在我的应用程序中,我正在生成大型 pdf/csv 文件。
我想知道是否有任何方法可以在 Micronaut 中流式传输大文件,而无需在发送到客户端之前将其完全保存在内存中。

0 投票
1 回答
291 浏览

micronaut - 使用 micronaut 和 gorm 的无限递归

我来自 Grails 背景,最近使用 GORM 在 Micronaut 中启动了一个项目。

我有以下代码:

该应用程序编译并启动没有问题,但是当我尝试访问 url http:localhost:8080/author 时,我收到以下错误:

10:25:29.431 [nioEventLoopGroup-1-2] 错误 imhsnetty.RoutingInBoundHandler - 发生意外错误:错误编码对象 [[micronaut.query.association.domain.Author:1,micronaut.query.association.domain.Author:2] ] to JSON:无限递归(StackOverflowError)(通过引用链:micronaut.query.association.domain.Book["author"]-

| Micronaut 版本:1.0.1 | JVM 版本:1.8.0_192 操作系统:Linux 4.19.4-arch1-1-ARCH

难道我做错了什么?谢谢,如果我的信息没有以正确的方式发布,请原谅我。这是我第一次尝试堆栈溢出。