Hi,
I am trying to get AOP to work, but didn’t had success yet.
It’s just about a simple logging example.
I would like to get a simple logging message for each execution of a method in “ProjectManagementService� class.
Unfortunately nothing happens, but there is also no error message.
Pleas help me. What am I doing wrong?
Jan
Created the Advice:
Code:public class ProjectManagementLoggingAdvice implements MethodBeforeAdvice { public void before(Method method, Object[] args, Object target){ System.out.println("Servicemethod "+method.getName().toString()+" called!"); } }
Configuring the applicationContext:
Code:<!-- AOP Beans :: start :: --> <bean id="debugInterceptor" class="org.springframework.aop.interceptor.DebugInterceptor" /> <bean id="ProjectServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyTargetClass"> <value>true</value> </property> <property name="optimize"> <value>true</value> </property> <property name="target"> <ref bean="ProjectManagementService"/> </property> <property name="interceptorNames"> <list> <value>ProjectManagementLoggingAdvice</value> <value>debugInterceptor</value> </list> </property> </bean> <bean id="ProjectManagementLoggingAdvice" class="de.adtech.swd.modules.aop.ProjectManagementLoggingAdvice" /> <!-- AOP Beans :: end :: --> <!-- ProjectManangement :: start :: --> <bean id="ProjectManagementController" class="de.adtech.swd.frontcontroller.ProjectManagementController"> <property name="projectms"> <ref bean="ProjectManagementService"/> </property> </bean> <bean id="ProjectManagementService" class="de.adtech.swd.model.services.ProjectManagementService" singleton="true"> <property name="projectBDao"> <ref bean="ProjectManagementDao"/> </property> <property name="mediator"> <ref bean="ProjectManagementMediator"/> </property> </bean>
Do actions in Controller:
Do I have to get Access to the ProjectManagementService by using something like :Code:public class ProjectManagementController implements Controller { private ProjectManagementService projectms; public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { //fill all needed beans for jsf view projectms.fillProjectBeanList(); projectms.fillCustomerBeanList(); //create selectItems for jsf view List customers = projectms.getCustomerBeanList(); projectms.generateSelectItemsOfCustomers(customers); return new ModelAndView("projectmanagement_list"); } public void setProjectms(ProjectManagementService pms) { this.projectms = pms; } }
to be able to use Spring AOP ? (I hope not)Code:ApplicationContext ctx = new FileSystemXmlApplicationContext(configFile); …ctx.getBean("ProjectManagementService");


. What am I doing wrong?
Reply With Quote