问题标签 [jsr305]
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.
java - jsr305 ThreadSafe注解的接口是什么意思?
我正在开发一个gRPC server
.
我发现界面ServerInterceptor
是用@ThreadSafe
. 当我想实现时,我对这个注释感到困惑ServerInterceptor
。
这是否意味着我需要确保实现的线程安全?
java - 可以从 JSR-305 中的方法参数可空性推断方法返回值可空性吗?
假设我有一个解析数字的方法,并且应该从它的参数中推断出它的返回值可空性契约:
其中@...
标记代表一些可空性转换。有了这个,我也有类似的东西:
final int n = tryParse("foo", 0)
(在所有情况下都是安全的:n
被认为永远不会有null
所以拆箱不会导致NullPointerException
)@Nullable final Integer n = tryParse("foo", null)
(安全:双手都是空感知的)final int n = tryParse(someVar, null)
someVar
(不安全:如果不是有效的 int 字符串表示,可能会导致 NPE )。
有没有办法根据传递给方法参数可空性的参数绑定返回值的可空性,或者我应该只创建一个具有明确隔离的装箱和原始默认值的重载(这对于这种情况可能很好,但原始类型不是我想处理的唯一情况)?
如果重要:我在构建中不使用静态分析工具,但我使用 IntelliJ IDEA ( javax.annotation
, not org.jetbrains.annotations
) 中的可空性检查并设置警告严重性。
java - Is it possible to combine spring boot @Value with javax.validation.constraints?
I would like to validate values in application.properties
.
I use @Value to inject and @NotBlank to validate the method parameter in a class annotated with @Configuration
.
I have included the hibernate-validator
and the hibernate-validator-annotation-processor
properties. Using Spring 2.2.0.RELEASE.
It doesn't work. The value is injected, but not validated. What am I missing?
osgi - 为什么 Findbugs JSR305 会破坏 RedHat/JBoss Fuse 6.3.0 中 javax.annotations 的 OSGi 包导出?
我们需要FindBugs JSR305作为依赖项,并将其作为包装好的 OSGi 包部署到Fuse 6.3.0。起初看起来一切都很好,组件运行良好。但重启后,许多依赖 javax.annoation API 的包不再启动。我们发现,Fuse 安装自带的 javax.annoation API Bundle 重启后并没有导出 javax.annoation 包。尽管 javax.annotation API 的包启动时没有错误并导出其他包。
RedHat Fuse 6.3.0.475 和相应的 Karaf 2.4.0.redhat-630475 会出现该错误。
我们已经尝试过来自 Maven Repository 的ServiceMix JSR305 Bundle,但它在 1.1.0 版本中导出 javax.annotation,我们需要 3.0.2 版本。也许这也是一个错误,因为我希望从捆绑版本 3.0.2_1 导出 javax.annotation 3.0.2。
复制
设置新的 Fuse 6.3.0 安装。使用“pacakges:exports | grep javax.annoation;” 您可以发现 javax.annoation 是从 System Bundle 导出的 1.0.0 版本和 javax.annoation API 的 1.2.0 版本。
现在将FindBugs JSR305作为打包的 OSGi 包安装到实例。现在有三个 javax.annotation 包的导出,包括 FindBugs JSR305 包的 3.0.2 版,并且一切正常。
第294章 版本=3.0.2
现在通过管理脚本或“dev:restart”重新启动实例,在实例再次启动后,您将看到一些损坏的包,因为 javax.annoation API 停止导出 javax.annotation 包的 1.2.0 版本。
第294章 版本=3.0.2
如果您尝试使用全新的 Fuse 7.0.0 安装,它与 Karaf 4.2.0 一起运行并且仍然包含 javax.annotation API,则不会发生错误。它也适用于 Fuse 7.7.0,但不再包含 javax.annotation API,java.annotation 包仅从 Sytem Bundle 导出。