gpt4 book ai didi

java - 如果没有 Web 层并因此没有 HTTP session ,CDI 是否有意义?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:26:06 28 4
gpt4 key购买 nike

新的 JSR 299“Java EE 的上下文和依赖注入(inject)”似乎是基于“作用域”的概念。

创建 bean 并将其关联到受支持的范围之一:应用程序、 session (映射到 HTTP session )、对话和请求。

如果没有 HTTP session (例如,通过 EJB 远程处理公开功能的企业应用程序),使用 CDI 是否有意义,因为托管 Bean 不会关联到任何上下文(因为它们不存在) ?

在这种情况下甚至可以使用 CDI 吗?会给它带来哪些优势?

最佳答案

这让我想起了我之前问过的问题:How does @SessionScoped work with EJB? Is CDI only for web-tier?

似乎“作用域”的概念只与 HTTP session 相关。
但是,我可以看到 @ApplicationScoped 范围的有效使用,作为实现应用程序单例 bean 的一种方式,尽管请求是 HTTP 请求。

Javadoc说:

The application scope is active:

(...)

  • during any Java EE web service invocation,

  • during any remote method invocation of any EJB, during any asynchronous method invocation of any EJB, during any call to an EJB timeout method and during message delivery to any EJB message-driven bean,

关于java - 如果没有 Web 层并因此没有 HTTP session ,CDI 是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9016937/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com