Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring注释/记录Spring自定义事件的方法_Java_Spring_Spring Boot_Kotlin - Fatal编程技术网

Java Spring注释/记录Spring自定义事件的方法

Java Spring注释/记录Spring自定义事件的方法,java,spring,spring-boot,kotlin,Java,Spring,Spring Boot,Kotlin,我正在开发一个分为不同服务的大型spring启动应用程序 随着应用程序变得越来越大,我开始看到服务之间存在一些深度耦合,因此我在应用程序的某些部分上使用springevents()实现了一个基本的发布/订阅模型,以减少耦合 每个服务创建和发布自定义事件,其他服务订阅它们想要使用的事件 我想记录每个服务发布和订阅的事件,以帮助提高可读性和调试 是否有任何特定的spring注释/方法可以帮助完成此任务?通常我们只使用javadoc来完成此类文档。您可以在服务的方法中这样做: /** * @para

我正在开发一个分为不同服务的大型spring启动应用程序

随着应用程序变得越来越大,我开始看到服务之间存在一些深度耦合,因此我在应用程序的某些部分上使用springevents()实现了一个基本的发布/订阅模型,以减少耦合

每个服务创建和发布自定义事件,其他服务订阅它们想要使用的事件

我想记录每个服务发布和订阅的事件,以帮助提高可读性和调试


是否有任何特定的spring注释/方法可以帮助完成此任务?

通常我们只使用javadoc来完成此类文档。您可以在服务的方法中这样做:

/**
 * @param idFilial to be fetched
 * @return Filial object in case there is a return in the search, otherwise an Optional.empty ()
 * @implNote Search for a specific Filial from an id
 * */
Optional <Filial> findById(Long idFilial);
/**
*@param idFilial待取
*@return子对象,以防搜索中有返回,否则为可选的.empty()
*@implNote从id搜索特定子代
* */
可选findById(长idFilial);

我不知道具体的注释,但我通常会使用一个
密封类来保存我的事件,这样我就可以确保所有事件都位于一个位置:

密封类MyEvent(源代码:Any,名称:String):ApplicationEvent(源代码){
数据类SomeEvent(val源:Any,val名称:String):MyEvent(源,名称)
// ...
}
然后可以在侦听器上使用注释:

@组件
类SomeListener{
@EventListener(条件=“#event.name eq'hey')
有趣的处理条件(事件:SomeEvent){
//处理事件
}
}
这有助于不可恢复性,因为您只需要查找
@EventListener
s

您还可以使用一个事件侦听器来侦听所有事件,然后您可以从收集到的信息中绘制一个图表