gpt4 book ai didi

java - 存储在请求范围内 - 从 SOAPHandler 到 @Producer

转载 作者:行者123 更新时间:2023-11-30 04:37:25 26 4
gpt4 key购买 nike

我需要在运行时根据soap header 的内容动态地将EntityManager分配给我的bean。我的计划是使用 SOAPHandler 从 header 中提取信息,然后将其存储在请求范围中。我有一个方法 @Producer,我设想访问此请求范围,检查存储的变量,并返回适当的实体管理器。

(EntityManager 引用具有相同结构但不同数据的不同数据库)。

我的问题是这样的:如何访问请求上下文来存储名称(在 SOAPHandler 端),然后再次检索请求上下文来检索名称?

感谢任何帮助。

最佳答案

回答我自己的问题:

将其粘贴到 SOAPMessageContext 中,如下所示:

context.put("VARIABLE_KEY", whateverIWantObject );

context.setScope("VARIABLE_KEY", Scope.APPLICATION);

(Scope.APPLICATION很重要)。

在服务层中,您可以从 Web 服务上下文中获取消息上下文,然后将其注入(inject);然后消息上下文将包含您的对象:

@Resource WebServiceContext webContext;

ObjectType theObject = (ObjectType) webContext.getMessageContext().get("VARIABLE_KEY");

关于java - 存储在请求范围内 - 从 SOAPHandler 到 @Producer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141634/

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