Kafka进阶篇知识点
Kafka高级篇知识点
44个Kafka知识点(基础+进阶+高级)解析如下
由于篇幅有限,小编已将上面介绍的**《Kafka源码解析与实战》、Kafka面试专题解析、复习学习必备44个Kafka知识点(基础+进阶+高级)都整理成册,全部都是PDF文档**
/**
-
声明返回通知 并将通知应用到切入点上
-
目标类方法执行完毕执行该通知
*/
@AfterReturning(value=“cut()”)
public void afterReturning(){
System.out.println(“返回通知…”);
}
/**
-
声明最终通知 并将通知应用到切入点上
-
目标类方法执行过程中是否发生异常 均会执行该通知 相当于异常中的 finally
*/
@After(value=“cut()”)
public void after(){
System.out.println(“最终通知…”);
}
/**
-
声明异常通知 并将通知应用到切入点上
-
目标类方法执行时发生异常 执行该通知
*/
@AfterThrowing(value=“cut()”,throwing=“e”)
public void afterThrowing(Exception e){
System.out.println(“异常通知…方法执行异常时执行:”+e);
}
/**
-
声明环绕通知 并将通知应用到切入点上
-
方法执行前后 通过环绕通知定义相应处理
*/
@Around(value=“cut()”)
public Object around(ProceedingJoinPoint pjp) throws Throwable{
System.out.println(“环绕前置…”);
System.out.println(“环绕通知”);
System.out.println(pjp.getTarget()+“–”+pjp.getSignature());
Object result=pjp.proceed();//执行目标对象方法
System.out.println(“环绕后置…”);
return result;
}
}
Aop 匹配方法规则表达式语言(简要了解)
Aop 切入点表达式简介
执行任意公共方法:
execution(public *(…))
执行任意的 set 方法
execution(* set*(…))
执行 com.xxx.service 包下任意类的任意方法
execution(* com.xxx.service..(…))
执行 com.xxx.service 包 以及子包下任意类的任意方法
execution(* com.xxx.service….(…))
xml 方式
配置切面、切入点、通知
aop:config
<aop:aspect ref=“logCut”>
<aop:pointcut expression=“execution (* com.xxx.service….(…))”
id=“cut”/>
<aop:before method=“before” pointcut-ref=“cut”/>
<aop:after-returning method=“afterReturning” pointcut-ref=“cut”/>
<aop:after-throwing method=“afterThrowing” throwing=“e” pointcut-ref=“cut”/>
<aop:after method=“after” pointcut-ref=“cut”/>
<aop:around method=“around” pointcut-ref=“cut”/>
</aop:aspect>
</aop:config>
定义 bean
/**
- 声明切面组件
*/
@Component
public class LogCut {
public void before(){
System.out.println(“前置通知…”);
}
public void afterReturning(){
System.out.println(“返回通知…”);
}
public void after(){
System.out.println(“最终通知…”);
}
public void afterThrowing(Exception e){
System.out.println(“异常通知…方法执行异常时执行:” + e);
}
public Object around(ProceedingJoinPoint pjp) throws Throwable{
System.out.println(“环绕前置…”);
System.out.println(“环绕通知”);
System.out.println(pjp.getTarget()+“–”+pjp.getSignature());
Object result=pjp.proceed();
System.out.println(“环绕后置…”);
return result;
}
}
AOP 的基本概念
JoinPoint(连接点)【动态】
被拦截到的每个点,spring 中指被拦截到的每一个方法,spring aop 一个连接点即代表一个方法的执行。
Pointcut(切入点)【静态】
对连接点进行拦截的定义(匹配规则定义 规定拦截哪些方法,对哪些方法进行处理),spring 这块有专门的表达式语言定义。
Advice(通知){重点}
拦截到每一个连接点即(每一个方法)前后所要做的操作
前置通知(前置增强)–before() 执行方法前通知
最后
由于篇幅限制,小编在此截出几张知识讲解的图解
59596)]
[外链图片转存中…(img-mVYybovu-1715594259597)]
[外链图片转存中…(img-ZmhEZMUo-1715594259597)]