jQuery in Action, 3rd edition
The moose likes Aspect Oriented Programming and the fly likes Spring 1.2 AOP, Advice is not executing Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Aspect Oriented Programming
Bookmark "Spring 1.2 AOP, Advice is not executing" Watch "Spring 1.2 AOP, Advice is not executing" New topic

Spring 1.2 AOP, Advice is not executing

Man Sharma

Joined: Mar 23, 2009
Posts: 4
I need some help to get my AOP implementation working. I just want to execute a piece of code before invokation of a method.

Here is the code snippet.

<!-- Advice -->
<bean id="urlTamperingDetectorAdvice" class="com.fun.org.msg.util.UrlTampringDetector" />
<!-- Advisor -->
<bean id="urlTamperingAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="mappedNames" value="getRequestBody" />
<property name="advice" ref="urlTamperingDetectorAdvice" />
<!-- Proxy -->
<bean id="fun.org.msg.TaskAProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<bean class="com.fun.org.msg.requester.WebServiceRequesterTaskA" parent="fun.org.msg.WebServiceRequester">
<property name="suffix" value="/approve" />
<property name="fieldUnpackers">
<ref bean="fun.org.TaskUnpacker" />
<property name="interceptorNames">

The class for Advice

public class UrlTampringDetector implements MethodInterceptor
public Object invoke(MethodInvocation methodInvocation) throws Throwable
ValidateUrl();// some logic here
return methodInvocation.proceed();

Now how I am expecting this to called

We have some handlers for different kind of activities, that later executes a list of tasks. e.g.

<bean id="myTask..processor.TaskHandler" class="com.myTask.processor.handler.impl.RequestMessageHandlerImpl">
<property name="taskProcessors">
<ref bean="myTask.FlagInComingParametersTask" />
<ref bean="myTask.SetLocaleSpecificPropertiesTask" />
<ref bean="myTask.Host_Generic_Task" />

<bean id="myTask.Host_Generic_Task" class="fun.org.msg.HostMappedTaskList">
<property name="taskMap">
<entry key="hostType1">
<ref bean="fun.org.msg.TaskAProxy" />

In fun.org.msg.HostMappedTaskList, it is calling a method of the WebServiceRequesterTaskA class.

In my scenario the method of target class is being executed but my proxy's method is not being executed. I dont know what I am doing wrong.
Have you checked out Aspose?
subject: Spring 1.2 AOP, Advice is not executing
It's not a secret anymore!