AspectJ静态织入-CTW 如何配置

切面类定义:略

1.基础配置

        需要在被增强的服务的pom中增加AspectJ的编译插件,在切面资源<aspectLibraries>中添加切面类所属的jar包,切面依赖<weaveDependencies>中增加依赖jar包。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <version>1.10</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
        <complianceLevel>1.8</complianceLevel>
        <verbose>true</verbose>
        <showWeaveInfo>true</showWeaveInfo>

        <aspectLibraries>
            <aspectLibrary>
                <groupId>com.example.bytecode</groupId>
                <artifactId>metric-reportor</artifactId>   //切面所属jar包
            </aspectLibrary>
        </aspectLibraries>
	<weaveDependencies>
	   <weaveDependency>
                	<groupId>com.example.bytecode</groupId>
                <artifactId>metric-reportor</artifactId>   //切面所属jar包
            </weaveDependency>
	   <weaveDependency>
                	<groupId>com.example.bytecode</groupId>
                <artifactId>metric-reportor</artifactId>   //切面所依赖jar包
            </weaveDependency>
	</weaveDependencies>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test-compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2.进阶-如何在指定条件下织入

        可以通过mvn变量控制插件生效,以下例子中,只有当mvn命令中包含 “-DisOpen=true”时,才会编译织入

<profiles>
	<profile>
		<id>isOpen</id>
		<activation>
			<propery>
				<name>isOpen</name>
				<value>true</value>
			</propery>
		</activation>
		<bulid>
			<plugins>
				<plugin>
					…… //同1
				</plugin>
			</plugins>
		</bulid>
	</profile>
</profiles>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值