JAVA一个接口多个实现逐个调用
2023-09-27 14:26:24 时间
经测试确认,当一个接口有多个实现时,调用时只会执行一个
有时候需要多个实现调用,方法示例如下:
public interface TransCallbackInterface { public void callback(String taskId, int code, String fixed); }
@Component public class TransCallbackDy implements InitializingBean,TransCallbackInterface{ @Override public void callback(String taskId, int code, String fixed) { System.out.println("TransCallback"); }
@Override
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
System.out.println("callback registerCallbackProcessor .");
FileTransferShedule.registerCallbackProcessor(this);
}
}
@Component public class TransCallbackDy implements InitializingBean, TransCallbackInterface{ @Override public void callback(String taskId, int code, String fixedInfo) { System.out.println("TransCallback"); }
@Override
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
System.out.println("callback registerCallbackProcessor .");
FileTransferShedule.registerCallbackProcessor(this);
}
}
调用方式:
@Component public class FileTransferShedule implements InitializingBean, DisposableBean { @Override public void afterPropertiesSet() throws Exception { } @Override public void destroy() throws Exception { logger.debug("service closed"); } private static List<TransCallbackInterface> processors = new ArrayList<TransCallbackInterface>(); public static void registerCallbackProcessor( TransCallbackInterface processor) { synchronized (processors) { processors.add(processor); } } public static void unregisterCallbackProcessor( TransCallbackInterface processor) { synchronized (processors) { processors.remove(processor); } } public void callback(HttpServletRequest request) { logger.debug("回调接口测试"); try { Throwable t = null; synchronized (processors) { for (TestCallbackInterface processor : processors) { try { processor.callback(); } catch (Throwable e) { t = e; } } } if (t != null) { throw new IOException(t); } System.out.println("test"); } catch (Exception e) { e.printStackTrace(); } } }
相关文章
- 简单学JAVA之---接口的定义与实现
- Java -- 获取指定接口的所有实现类或获取指定类的所有继承类
- Java集合框架Set接口
- JAVA-jar包下载地址
- 《Java 2D游戏编程入门》—— 1.3 使用主动渲染
- Java接口之间的继承
- Java接口 详解(二)
- JAVA日志库2
- java接口和抽象类的比较
- Java ThreadFactory接口用法
- 深入理解Java的接口和抽象类
- Java 集合排序策略接口 Comparator
- 三种方法实现java调用Restful接口
- java jdk8 使用stream实现两个list集合合并成一个list集合(对象属性的合并)
- Java实现通过经纬度调用腾讯地图接口获取行政地区信息
- 【JAVA】进程与线程的概念_继承Thread类创建线程_实现Runnable接口创建线程
- java中接口的定义与实现
- java中接口的定义与实现
- 【java养成】:案例(模拟银行新用户现金业务办理、USB接口程序设计、身份证校验位和身份提取)
- java中,一个类实现某个接口,必须重写接口中的所有方法吗?
- java泛型demo
- Windows和Linux 导入java https调用接口时的受信任证书