gpt4 book ai didi

jboss - 将注释从 JBoss Seam 更改为 CDI (JEE6)

转载 作者:行者123 更新时间:2023-12-04 19:15:29 25 4
gpt4 key购买 nike

我们正在将我们的应用程序从 JBoss Seam 迁移到 CDI (JEE6),因此我们正在更改一些注释,例如 @In 和 @Out,我们发现有很多有用的信息,但是我们在尝试找出如何替换时遇到了一些麻烦具有特定模式的注释:

对于@In 注释

@Name("comprobantes")//context name
...
@In(create=false,value="autenticadoPOJO",required=false)
private UsuarioPOJO autenticadoPOJO;

我们可以使用 CDI 中的 @Inject,但是如何为这种情况设置上下文变量的名称?。

对于@Out 注释
@Out(scope = ScopeType.SESSION, value = "autenticadoPOJO", required = false)

我读过一些博客,他们说我可以在 CDI 中使用 @Produces,我们如何在添加此注释之前或之后设置范围?

我感谢任何帮助或任何有用的文档。

最佳答案

恐怕没有像 @Out 的 1:1 兼容性这样的东西.

从技术上讲,@Out在 Seam 2 中,所有方法调用的拦截器都实现了 - 结果证明这是一个相当大的性能瓶颈。

在 CDI 中,大多数托管 bean 是代理的,这使得在技术上不可能以 Seam 2 方式实现输出。

你能做的(好吧,你实际上必须做的)正在经历 @Out 的所有用法。并用一些@Producer 逻辑单独替换它。看看this official example这里。在 Seam 2 中,您会将经过身份验证的用户输出到 session 范围,在 CDI 中,一个小生产者方法(几乎)执行相同的操作。

这应该会给你一个好的开始,随时提出进一步的问题:)

关于jboss - 将注释从 JBoss Seam 更改为 CDI (JEE6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10115561/

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