问题标签 [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 投票
1 回答
609 浏览

micronaut - 错误:意外错误:非法名称.$HelloControllerDefinition

我遵循了入门指南。应用程序的第一次启动是好的。然后我按照描述添加了一个控制器(HelloController.java in src/main/java/helloworld。当我重新启动服务器时,出现以下错误:

任务:compileJava FAILED 注意:为 1 种类型元素创建 bean 类错误:意外错误:非法名称 .$HelloControllerDefinition 1 错误

我在带有 jdk 1.8_171 的 Windows 10 下

0 投票
1 回答
488 浏览

netflix-zuul - micronaut 可以与 zuul 或 spring 云网关之类的网关一起使用吗?

主要问题是注册表的兼容性。如果不是,如何处理网关问题?

0 投票
1 回答
1550 浏览

jdbc - 在 Micronaut 中使用 @Transactional 而不使用 Hibernate

Micronaut 支持 JDBC,该指南指出 micronaut-spring 中的 @Transactional 可用于 AOP 样式的事务处理。我无法让它工作,当将@Transaction 与普通数据源一起使用时,我得到一个异常,即没有 TransactionManager 到位。

有谁知道我是否可以使用带有 @Transactional 支持的 micronaut 的普通 JDBC?

0 投票
0 回答
273 浏览

groovy - 为什么 micronaut 调用了错误的控制器方法?

我有一个这样的 micronaut API:

在我的单元测试中,当我调用该show方法时,listClubs()实际上是在调用该方法。

为什么会这样?

细节:

认为我的 URL 映射一定是错误的,我开始调试 Netty 以尝试了解框架是如何构造 URL 的。

HttpClientIntroductionAdvice中,上下文显示 API 方法,如下所示:

Club show(Long param0)

拦截器param0在参数映射中设置,与我方法的实际参数名称不匹配。当 URI 模板展开时,这会导致 ID 被丢弃(因此 URI 变为/而不是/1)。

我正在尝试遵循此示例:

https://github.com/alvarosanchez/micronaut-workshop/tree/master/ex02/solution/clubs

我的项目中有一个重要的不同之处,那就是端点设置为 at"/club"而不是 at "/"

@Controller("/club")

@Client("/club")

我正在使用差异工具将我的项目与示例进行比较,但我很难找到任何其他差异(除了包名称更改)。

为什么会这样?我应该寻找什么?

谢谢

更新:

用浏览器测试了目标端点 - 看起来不错。

Gradle clean 不能解决问题。

我从使用 IntelliJ 调试 Application 类切换到使用“gradlew run”,在此过程中,我对 build.gradle 进行了更改(从 gradle CLI 添加 JVM 属性传递)。我还尝试在 IDE 中启用/禁用注释处理器。(注意:在之前的项目中,我一导入 IDE 就启用了注解处理。在这个项目中,我直到出现问题才启用它。)

我认为 build.gradle 更改导致问题消失。由于问题出现不可靠,因此很难确定这是否是导致问题得到修复的更改。

0 投票
1 回答
3216 浏览

mongodb - 如何在 Micronaut 中使用反应式 MongoDB?

我正在尝试使用 MongoDB 构建反应式服务。

我将此依赖项添加到 Micronaut: compile "io.micronaut.configuration:mongo-reactive"

我认为这个库会引入 RxGorm,但我没有在我的类路径中看到类(例如:RxMongoEntity)。

我误解了如何使用这个库吗?是否有任何关于 mongo-reactive 的指南或文档?

0 投票
1 回答
1019 浏览

micronaut - 如何使用一个 HttpClient 实例请求多个不同域的 URL?

文档显示 Http 客户端应该设置一个 URL 或一个服务 ID 来实例化:

如何使用一个 HttpClient 实例请求多个不同域的 URL?

代码将返回错误: No value specified for @Client\r\nPath Taken

0 投票
1 回答
1026 浏览

startup - 启动时未调用 Micronoaut ServerStartupEvent 回调?

刚开始用MN M3做实验。使用以下代码创建了一个最小的 Groovy 服务:

我得到了“开始”,但从未调用过启动事件回调:

开始

10:35:54.066 [main] INFO io.micronaut.runtime.Micronaut - 启动在 897 毫秒内完成。服务器运行:http://localhost:32034

认为这是在 MN 中处理初始化的适当方法?

0 投票
1 回答
554 浏览

gradle - 解决 Micronaut 和 Gradle 5“检测编译类路径上的注释处理器已弃用”警告的警告

我正在尝试从 Gradle 解决以下警告。它仅在我调用测试代码时发生。主要的 Java(仅)运行和构建任务工作正常。

测试代码在 Groovy 中。似乎 Groovy 与 Gradle 和 Micronaut 结合在几周前解决了该消息但顽固地坚持相关任务的项目中提出了此test消息testCompile

从 Micronaut 开始,我通过反复试验发现使用 Lombok 的说明到目前为止,运行 Groovy 测试的唯一方法是在build.gradle文件中使用以下配方。Micronaut 配方指定将 Lombok 放在 Micronaut 之前。这对 Java 构建有效。

为了让 Groovy 代码编译然后执行,我(似乎)需要这样编写我的依赖项:

  • 依赖dep_XXX项只是字符串。
  • AtnProc...”标签是为了具体标识Annotation Processor(即使是同一个坐标)。

如果该compileOnly ( dep micronaut )子句对于诸如使用 Groovy 构建的事情@Inject进行处理是必要的。和 ...

  • 它必须按照显示的顺序,在annotationProcessor(..)子句之后。

尽管此时 Groovy 文件中没有注释。

使用上述构建信息,Groovy 规范可以正常运行和工作。但是我仍然收到Deprecated ...警告。

如果没有这compileOnly( Micronaut )句话,我会得到编译错误并且没有任何运行。 testCompileOnly,groovyCompileOnly或者testAnnotationProcessor什么都不做。

谁知道在使用 Micronaut 时如何使用 Gradle 构建和运行 Groovy 测试?测试与龙目岛罚款共存。

缺少的东西是@Inject,@Singleton等。

期待建议和想法。

0 投票
1 回答
2346 浏览

filter - 使用 micronaut 过滤器缺少一些东西

我正在尝试使用文档第 6.18 节中记录的示例代码在 micronaut 微服务中实现过滤器:

https://docs.micronaut.io/latest/guide/index.html#filters

我有一个 HelloWord 服务,它与文档中提供的服务基本相同,带有一个转到“/hello”的控制器(如文档所述)。我也在使用第 6.18 节中提供的相同 TraceService 和跟踪过滤器。我正在编译和运行服务器没有问题。

不幸的是,当我测试微服务时,过滤器没有被使用。

我很确定我的代码中缺少某些东西,但正如我所说,我使用的是与示例中相同的代码:

请注意,控制器使用文档第 2.2 节中的代码:

https://docs.micronaut.io/latest/guide/index.html#creatingServer

我做了很多事情来尝试查看过滤器发生了什么,包括在服务和过滤器的战略部分中放置少量打印输出。这些打印输出没有打印出来,这告诉我 Micronaut 没有创建或使用过滤器。

显然我错过了一些东西。我怀疑我需要做一些事情才能让系统使用过滤器。不幸的是,文档只讲述了如何制作过滤器,而不是如何在微服务中使用它。此外,似乎没有任何完整的代码示例说明如何使请求系统利用过滤器(也许我需要将注释添加到控制器中???)。

有人能告诉我我错过了什么吗?如何让过滤器工作?至少,有人能提供一个完整的例子来说明如何创建过滤器并在实际的微服务中使用它吗?

0 投票
4 回答
2271 浏览

micronaut - 如何设置 Micronaut 上下文路径

如何为 micronaut 微服务设置上下文路径?我想做一些类似于 Spring Framework 中可用的操作,您可以在其中设置“server.servlet.contextPath”属性。我在这里的 micronaut 文档中找不到任何内容。我想为我的微服务和我的“bar”控制器(例如http://domain/foo/bar)设置一个基本路径。在春天,这看起来像

我目前正在使用 micronaut 1.0.0.M4。我很感激帮助。