gpt4 book ai didi

java - 恢复发送到 EJB 的环境属性

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:22 24 4
gpt4 key购买 nike

我有一个委托(delegate),它通过 InitialContext as shown here 实例化相应的 Bean 发送凭证(Josso 身份验证) .

在Bean中,我尝试使用SessionContext恢复Josso数据,如下所示:

@Resource private SessionContext context;

我面临的问题是我无法在 Bean 范围内检索 Josso 数据。我尝试过“context.getEnvironment()”,但此方法已被弃用,我没有找到任何替代方法。

为了找到解决方案,我尝试过:

context.lookup(JNDI_BEAN_NAME);
context.lookup("java:comp/env/JNDI_BEAN_NAME")
context.lookup("java:comp/env")

但是前两个命令只返回 Bean 本身,最后一个命令只返回全局变量。

“context.getEnvironment()”的正确替代方法是什么?

最佳答案

java:comp/env 仅查找容器管理的资源,并且在运行时是只读的。如果需要,您可以公开一个从委托(delegate)获取 Josso 凭据的本地接口(interface)。

@Local
public interface AuthenticatorLocal {
void getJossoCredentials();
}

否则,您可以只使用context.getCallerPrincipal()

关于java - 恢复发送到 EJB 的环境属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35698942/

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