Commit d88154a7 authored by wenmo's avatar wenmo

[Optimization-382][alert,metadata] Optimization SPI

parent 7b389ffc
package com.dlink.alert;
import com.dlink.assertion.Asserts;
import sun.misc.Service;
import java.util.Iterator;
import java.util.Optional;
import java.util.ServiceLoader;
import com.dlink.assertion.Asserts;
/**
* Alert
......@@ -17,9 +15,8 @@ public interface Alert {
static Optional<Alert> get(AlertConfig config) {
Asserts.checkNotNull(config, "报警组件配置不能为空");
Iterator<Alert> providers = Service.providers(Alert.class);
while (providers.hasNext()) {
Alert alert = providers.next();
ServiceLoader<Alert> alerts = ServiceLoader.load(Alert.class);
for (Alert alert : alerts) {
if (alert.canHandle(config.getType())) {
return Optional.of(alert.setConfig(config));
}
......
package com.dlink.metadata.driver;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.ServiceLoader;
import com.dlink.assertion.Asserts;
import com.dlink.exception.MetaDataException;
import com.dlink.metadata.result.JdbcSelectResult;
......@@ -7,12 +12,6 @@ import com.dlink.model.Column;
import com.dlink.model.Schema;
import com.dlink.model.Table;
import com.dlink.result.SqlExplainResult;
import sun.misc.Service;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
* Driver
......@@ -24,11 +23,10 @@ public interface Driver {
static Optional<Driver> get(DriverConfig config) {
Asserts.checkNotNull(config, "数据源配置不能为空");
Iterator<Driver> providers = Service.providers(Driver.class);
while (providers.hasNext()) {
Driver gainer = providers.next();
if (gainer.canHandle(config.getType())) {
return Optional.of(gainer.setDriverConfig(config));
ServiceLoader<Driver> drivers = ServiceLoader.load(Driver.class);
for (Driver driver : drivers) {
if (driver.canHandle(config.getType())) {
return Optional.of(driver.setDriverConfig(config));
}
}
return Optional.empty();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment