JavaEEREST(Wink)-RESTAPI类可以定义为singleton吗?

JavaEEREST(Wink)-RESTAPI类可以定义为singleton吗?,rest,jakarta-ee,singleton,jax-rs,apache-wink,Rest,Jakarta Ee,Singleton,Jax Rs,Apache Wink,我将J2EE与WASLiberty和ApacheWink(RESTImpl)一起使用。 在某些情况下,我需要将api类设置为singleton,但是私有构造函数可能无法与REST一起工作。有没有人用api来表示singleton?有什么提示吗 根据 @Scope注释 根据JAX-RS规范,默认情况下,为每个JAX-RS应用程序实例化一次提供者和资源类。这个实例化涉及被调用类的默认构造函数,之后会发生依赖项的注入 由于您的资源类(用您的话说,API类)的实例化将通过注入执行,因此我认为默认的cto

我将J2EE与WASLiberty和ApacheWink(RESTImpl)一起使用。 在某些情况下,我需要将api类设置为singleton,但是私有构造函数可能无法与REST一起工作。有没有人用api来表示singleton?有什么提示吗

根据

@Scope注释 根据JAX-RS规范,默认情况下,为每个JAX-RS应用程序实例化一次提供者和资源类。这个实例化涉及被调用类的默认构造函数,之后会发生依赖项的注入


由于您的资源类(用您的话说,API类)的实例化将通过注入执行,因此我认为默认的ctor可见性不会成为问题(在最坏的情况下,将其公开)

正如您所看到的,我使用的Apache WinkScope注释不是JAX-RS规范的一部分,我猜它的wink特定于JAX-RS规范:“默认情况下,根资源类的生命周期为每个请求,即每次请求URI路径与根资源匹配时都会创建一个新的根资源类实例。”所有其他注释(如@SINGLETON、@Scope)都是JAX-RS extensionsBtw。我刚刚尝试过,甚至使用了@Scope(ScopeType.SINGLETON),构造函数必须是公共的:(不喜欢它公共构造函数不完全是单例模式:(