获取Spring消息上下文
如何从Java类中获取Spring获取Spring消息上下文,spring,get,message,Spring,Get,Message,如何从Java类中获取SpringMessageContext 我应该使用一些@Resource或@Autowire将上下文变量注入到类中,或者,例如,使用一些全局上下文SpringContext或其他一些来获取消息上下文 什么是方法?我先读一下 @Resource WebServiceContext wsContext; @WebMethod public String echoHello(String msg) { MessageContext context = wsContex
MessageContext
我应该使用一些@Resource
或@Autowire
将上下文
变量注入到类中,或者,例如,使用一些全局上下文SpringContext或其他一些来获取消息上下文
什么是方法?我先读一下
@Resource WebServiceContext wsContext;
@WebMethod public String echoHello(String msg) {
MessageContext context = wsContext.getMessageContext();
...
}
这就是如何在服务器端完成的。在客户端,请求和响应上下文只是从服务存根中检索的简单映射(即使您没有明确请求,也会实现);他们不需要添加的范围管理。如果我理解正确,您将SpringWebflow与JSF一起使用,并且需要从JSF中访问Webflow 如果是这样,您可以始终使用(注意使用Webflow中的一个,因为Spring MVC有自己的!),但它使用
ThreadLocal
,因此它不太优雅:
MessageContext messageContext =
RequestContextHolder.getRequestContext().getMessageContext();
您不能使用标准DI,因为
MessageContext
是由FlowExecutor
在每次流启动或恢复时根据每个请求创建的,在flow.xml中使用MessageSource
添加如下消息上下文:
<transition on="search">
<evaluate expression="service.search(service.id, messageContext)" result="scope" />
</transition>`
你在用SWS吗?如果有,哪个版本?您想在哪里访问MessageContext,客户机/服务器?我需要从带有ActioListener参数的方法中的JavaBean中获取MessageContext,它是从.xhtml(即jsf页面)调用的。我使用Spring web-flow。看起来,我需要的是,一试用就给你反馈我认为@sergionni是另一个意思。在新版本中,RequestContextHolder.getRequestContext()不再可用。
public List search(String serviceId, MessageContext messageContext) {
...
messageContext.addMessage(
...
}