我遇到使用Spring拦截器的问题。我有一个CXF服务端点方法,我正在尝试使用拦截器进行包装来进行一些初始化。由于某种原因,没有调用拦截器。这是我的春季参赛作品:
<jaxrs:server id="acadConnectServer" address="/rest/acadconnect3">
<jaxrs:serviceBeans>
<ref bean="acadConnectResource" />
</jaxrs:serviceBeans>
</jaxrs:server>
<bean id="acadConnectResource"
class="com.test.connectchannel.service.AcadConnectChannelResource" />
<bean id="connectResource" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target" ref="acadConnectResource" />
<property name="interceptorNames">
<list>
<value>methodPointCut</value>
</list>
</property>
</bean>
<bean id="methodPointCut"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<ref local="methodInterceptor" />
</property>
<property name="mappedNames">
<list>
<value>search</value>
<value>searchJSONP</value>
</list>
</property>
</bean>
<bean id="methodInterceptor"
class="com.test.connectchannel.util.ConnectChannelInterceptor">
</bean>
如您所见,我有一个CXF端点类AcadConnectChannelResource,它有几种方法搜索和searchJSONp。我已经创建了Named Method Cut拦截器来拦截这两个方法调用,因此使用自定义intercetor类进行初始化。但是,每次调用方法时,都不会调用拦截器。
不确定我在这里缺少什么,任何指针都会受到赞赏。
-Thanks
答案 0 :(得分:0)
我可能完全错了,但你不想要
<ref bean="connectResource" />
而不是
<ref bean="acadConnectResource" />
你<jaxrs:server>
中的?您正在代理资源,但使用原始资源而不是代理。