add
This commit is contained in:
parent
ace38f0baa
commit
0be221d4f8
21
FTP mget 批量下载跳过交互.md
Normal file
21
FTP mget 批量下载跳过交互.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
### FTP mget 批量下载跳过交互
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
默认情况下ftp里面的交互式提示是开启的,平常如果是下载多个文件时,这种提示很让人烦,
|
||||||
|
|
||||||
|
如果是在shell脚本里面要从ftp服务器上一次mget多个文件,写个交互式脚本很麻烦.最好是把这个交互式提示关掉.
|
||||||
|
|
||||||
|
进入ftp命令后,prompt会将交互式提示的配置置反,
|
||||||
|
|
||||||
|
如果原先交互式提示是开着的,
|
||||||
|
|
||||||
|
则使用prompt之后就关闭,如果原先是关闭的,
|
||||||
|
|
||||||
|
则使用prompt后就打开.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
当然也可以直接加参数如prompt on或者prompt off.
|
2759
Spark知识体系五万字讲解,学习与面试收藏这篇就够了!.md
Normal file
2759
Spark知识体系五万字讲解,学习与面试收藏这篇就够了!.md
Normal file
File diff suppressed because it is too large
Load Diff
113
java/springboot-事件.md
Normal file
113
java/springboot-事件.md
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
## springboot事件
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 事务本身
|
||||||
|
|
||||||
|
实现 ApplicationEvent 类
|
||||||
|
|
||||||
|
```java
|
||||||
|
@Getter
|
||||||
|
public static class SchSyncToUpcomingEndEvent extends ApplicationEvent {
|
||||||
|
public SchSyncToUpcomingEndEvent(Object source) {
|
||||||
|
super(source);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 事务发布
|
||||||
|
|
||||||
|
```java
|
||||||
|
applicationEventPublisher.publishEvent()
|
||||||
|
applicationEventMulticaster.multicastEvent()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 注解接收事件
|
||||||
|
|
||||||
|
默认同步处理 需要异步处理 添加@Async 注解
|
||||||
|
|
||||||
|
```
|
||||||
|
/**
|
||||||
|
* 监听 SCH 同步至航班计划完成事件。
|
||||||
|
* 开始 航班计划同步至算法
|
||||||
|
*
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
|
@Async
|
||||||
|
@EventListener(FlightPlanEvent.SchSyncToUpcomingEndEvent.class)
|
||||||
|
public void syncCurrentStatusToAlgListener(FlightPlanEvent.SchSyncToUpcomingEndEvent event) {
|
||||||
|
XxlJobHelper.log("同步当前航班状态至算法 开始");
|
||||||
|
XxlJobHelper.log("同步当前航班状态至算法 结束");
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 编程式接收事务
|
||||||
|
|
||||||
|
监听器
|
||||||
|
|
||||||
|
```java
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class EventListener implements ApplicationListener<CustomEvent>{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onApplicationEvent(CustomEvent event) {
|
||||||
|
//这里也可以监听所有事件 使用 ApplicationEvent 类即可
|
||||||
|
//这里仅仅监听自定义事件 CustomEvent
|
||||||
|
log.info("ApplicationListener方式监听事件:{}", event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
注册监听器
|
||||||
|
|
||||||
|
```java
|
||||||
|
@SpringBootApplication
|
||||||
|
public class Application {
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
SpringApplication app =new SpringApplication(Application.class);
|
||||||
|
app.addListeners(new MyApplicationStartingEventListener());//加入自定义的监听类
|
||||||
|
app.run(args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 事务事件
|
||||||
|
|
||||||
|
需要等 事务发布者的事务完成提交 才能接收到事件
|
||||||
|
|
||||||
|
事务事件 只能接收一次
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
@Async
|
||||||
|
@TransactionalEventListener(value = FlightPlanEvent.SchSyncToUpcomingEndEvent.class, phase = TransactionPhase.AFTER_COMMIT)
|
||||||
|
public void syncBaseDataUpdateListener(FlightPlanEvent.SchSyncToUpcomingEndEvent event) {
|
||||||
|
syncBaseData();
|
||||||
|
syncSchRouteToRedis();
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user