Проблема с перехватчиком метода Spring - PullRequest
0 голосов
/ 04 августа 2011

У меня проблема с использованием перехватчика 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, в котором есть несколько методов search и searchJSONp. Я создал перехватчик Named Method Cut для перехвата этих двух вызовов методов и, следовательно, некоторой инициализации с использованием пользовательского класса перехватчика. Но каждый раз, когда методы вызываются, перехватчик не вызывается.

Не уверен, что мне здесь не хватает, любой указатель будет оценен.

-Спасибо

1 Ответ

0 голосов
/ 04 августа 2011

Я могу быть совершенно не прав, но ты не хочешь

<ref bean="connectResource" />

вместо

<ref bean="acadConnectResource" />

в вашем <jaxrs:server>? Вы используете прокси-сервер, но используете его вместо прокси.

...