[jboss-user] [JBoss AOP Users] - JBoss Microcontainer with JBoss AOP in a standalone app.
pekarna
do-not-reply at jboss.com
Sun Nov 8 22:24:06 EST 2009
Hi,
I'm trying to create a standalone app using JBoss Microcontainer for IoC and JBoss AOP for, well, AOP.
I've boot-strapped, deployed a descriptor with AOP XML, so far so good.
But the aspect is not performed. Do I need to enable AOP plugin ors something?
Please check the code below.
Thanks for help.
| <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
| xmlns="urn:jboss:bean-deployer:2.0"
| xmlns:aop="urn:jboss:aop-beans:1.0">
|
| <bean name="myGarage" class="cz.zizka.ondra.jbmctest.Garage">
| <property name="car">
| <bean name="myCar" class="cz.zizka.ondra.jbmctest.Car">
| <property name="name">Red Devil</property>
| </bean>
| </property>
| </bean>
|
| <aop:interceptor name="FuelInterceptor" class="cz.zizka.ondra.jbmctest.FuelInterceptor"/>
|
| <aop:bind pointcut="execution(* cz.zizka.ondra.jbmctest.Car->set*Fuel(..)">
| <aop:interceptor-ref name="FuelInterceptor"/>
| </aop:bind>
|
| </deployment>
|
| public static void main( String[] args ) throws Throwable
| {
| // Bootstrap.
| BasicBootstrap bootstrap = new BasicBootstrap();
| bootstrap.run();
|
| // Load the bean definitions.
| URL url = Thread.currentThread().getContextClassLoader().getResource("jboss-beans.xml");
| BasicXMLDeployer deployer = new BasicXMLDeployer( bootstrap.getKernel() );
| deployer.deploy( url );
|
| KernelController cont = bootstrap.getKernel().getController();
| ControllerContext context = cont.getInstalledContext("myGarage");
| System.out.println( "I have a garage: "+context.getTarget());
|
| // Put some fuel in.
| Car myCar = (Car) cont.getInstalledContext("myCar").getTarget();
| myCar.setLitresOfFuel( myCar.getLitresOfFuel() + 1 );
| System.out.println( "I have a garage: "+context.getTarget());
|
|
| deployer.shutdown();
|
| }
|
| public class FuelInterceptor implements Interceptor {
|
| private static final Logger log = Logger.getLogger( FuelInterceptor.class.getName() );
|
| public Object invoke(Invocation invocation) throws Throwable
| {
| System.out.println( "In FuelInterceptor." );
| if( true ) throw new Exception(); // To see that it's really NOT called.
| Object target = invocation.getTargetObject();
| long time = System.currentTimeMillis();
| log.info("Invocation [" + target + "] start: " + time);
| try{
| return invocation.invokeNext();
| }
| finally{
| log.info("Invocation [" + target + "] time: " + (System.currentTimeMillis() - time));
| }
| }
|
| public String getName() {
| return FuelInterceptor.class.getName();
| }
| }// class FuelInterceptor
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264485#4264485
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264485
More information about the jboss-user
mailing list