好吧,不知怎的,我感到愚蠢,必须有一些明显我不知道的东西......
我正在使用Apache CXF(2.7.x)来提供一个包含检索某些视频数据的方法的宁静服务。有些客户端需要能够使用字节范围进行请求。我需要知道的第一件事是客户端实际请求的字节范围,所以我想我会看一下http标头。 据我所知,我需要做的就是将MessageContext作为资源放在我的服务类中:
@Resource
MessageContext ctx;
问题是,这失败了,因为没有这样的bean:
Injection of resource dependencies failed; nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No matching bean of type [org.apache.cxf.jaxrs.ext.MessageContext] found for dependency
在我的春季配置中,我有以下内容:
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
在某处我读到不再需要cxf-extension-jaxrs-binding.xml,据我所知,这个文件甚至不存在于我的依赖项中。
那我在这里错过了什么? 或者是否有另一种方法来支持字节范围请求?
答案 0 :(得分:0)
好的,用
解决了MessageContext ctx = new MessageContextImpl(PhaseInterceptorChain.getCurrentMessage());
我不确定这是否是一个很好的解决方案,但它确实有用。