java - 如何使 spring @ManagedOperationParameter 与 scala 一起工作

标签 java spring scala

在我的 scala 代码中,这工作正常:

import org.springframework.jmx.export.annotation.{ManagedOperationParameters, ManagedResource, ManagedOperation, ManagedOperationParameter}
    @Override @ManagedOperation(description = "somedesk")
      def getStatsAsStr: String = "blabla"

但是一旦我添加@ManagedOperationParameters,我就会得到illegal start of simple expression for @ManagedOperationParameter(,尽管我确实导入了它。

所以在 java 中编译得很好:

@Override @ManagedOperation(description = "some description")
  @ManagedOperationParameters({@ManagedOperationParameter(name = "myname", description = "myname")
})

在 scala 中无法编译:

import org.springframework.jmx.export.annotation.{ManagedOperationParameters, ManagedResource, ManagedOperation, ManagedOperationParameter}
   @Override @ManagedOperation(description = "some description")
      @ManagedOperationParameters(Array(@ManagedOperationParameter(name = "myname", description = "mydesc")) // PRODUCES 'illegal start of simple expression for @ManagedOperationParameter('
      def getStatsAsStr(myname: String): String = "blabla"

有办法让它发挥作用吗?如果我在同一个项目中使用 java 语法将其创建为 .java ,一切都很好(这意味着我的依赖关系很好),我认为它与 scala 相关code> 语法我不明白它是什么?

最佳答案

内部注释值必须使用不同的语法构造。这应该可行(为了清晰起见添加了空格,不相关);如果没有,请尝试用位置参数替换命名参数。

@ManagedOperationParameters(
  Array(
    new ManagedOperationParameter(name="myname", description="mydesc")
  ))

关于java - 如何使 spring @ManagedOperationParameter 与 scala 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21292252/

相关文章:

Java/android 如何在延迟 3 秒后启动 AsyncTask?

Java按空格、换行、制表符、标点符号分割字符串

java - Spring中注解和xml一定要一起使用吗?

scala - Spark 中的嵌套 JSON

java - SQLITE_ERROR SQL 错误或丢失数据库(接近 "(": syntax error)

java - 通过Java中的SSH隧道连接到Mongo数据库

java - Spring MVC 用户数据更新问题

java - Jasypt 加密不适用于 Maven 配置文件

scala - 如何控制scala并行集合的并发度

java - 运行 sbt 失败 - java.io.IOException : No space left on device