This is an automated email from the ASF dual-hosted git repository.
gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 5f3c9c36a5 [Fix][Connector-V2] Fix connector support SPI but without
no args constructor (#6551)
5f3c9c36a5 is described below
commit 5f3c9c36a51d8db7aee45583bc186ba549576e36
Author: Jia Fan <[email protected]>
AuthorDate: Thu Mar 21 13:58:10 2024 +0800
[Fix][Connector-V2] Fix connector support SPI but without no args
constructor (#6551)
---
.../cdc/mongodb/MongodbIncrementalSource.java | 6 ----
.../cdc/mysql/source/MySqlIncrementalSource.java | 6 ----
.../postgres/source/PostgresIncrementalSource.java | 5 ----
.../source/source/SqlServerIncrementalSource.java | 6 ----
.../connectors/doris/source/DorisSource.java | 2 --
.../elasticsearch/sink/ElasticsearchSink.java | 3 --
.../file/oss/{ => jindo}/config/OssConf.java | 2 +-
.../oss/{ => jindo}/config/OssConfigOptions.java | 2 +-
.../exception/OssJindoConnectorException.java | 2 +-
.../file/oss/{ => jindo}/sink/OssFileSink.java | 8 +++---
.../oss/{ => jindo}/sink/OssFileSinkFactory.java | 4 +--
.../file/oss/{ => jindo}/source/OssFileSource.java | 8 +++---
.../{ => jindo}/source/OssFileSourceFactory.java | 4 +--
.../connectors/test/OssJindoFactoryTest.java | 4 +--
.../seatunnel/file/oss/sink/OssFileSink.java | 4 ---
.../seatunnel/file/s3/sink/S3FileSink.java | 4 ---
.../seatunnel/hudi/source/HudiSourceFactory.java | 3 +-
.../seatunnel/iceberg/sink/IcebergSink.java | 3 --
.../seatunnel/iceberg/source/IcebergSource.java | 2 --
.../starrocks/source/StarRocksSource.java | 3 --
.../connector/ConnectorSpecificationCheckTest.java | 32 ++++++++++++++++++++++
21 files changed, 51 insertions(+), 62 deletions(-)
diff --git
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-mongodb/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mongodb/MongodbIncrementalSource.java
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-mongodb/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mongodb/MongodbIncrementalSource.java
index 0045b03c48..e85b4b57a7 100644
---
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-mongodb/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mongodb/MongodbIncrementalSource.java
+++
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-mongodb/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mongodb/MongodbIncrementalSource.java
@@ -19,7 +19,6 @@ package org.apache.seatunnel.connectors.seatunnel.cdc.mongodb;
import org.apache.seatunnel.api.configuration.Option;
import org.apache.seatunnel.api.configuration.ReadonlyConfig;
-import org.apache.seatunnel.api.source.SeaTunnelSource;
import org.apache.seatunnel.api.source.SupportParallelism;
import org.apache.seatunnel.api.table.catalog.CatalogTable;
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
@@ -41,16 +40,11 @@ import
org.apache.seatunnel.connectors.seatunnel.cdc.mongodb.sender.MongoDBConne
import
org.apache.seatunnel.connectors.seatunnel.cdc.mongodb.source.dialect.MongodbDialect;
import
org.apache.seatunnel.connectors.seatunnel.cdc.mongodb.source.offset.ChangeStreamOffsetFactory;
-import com.google.auto.service.AutoService;
-import lombok.NoArgsConstructor;
-
import javax.annotation.Nonnull;
import java.util.List;
import java.util.Optional;
-@NoArgsConstructor
-@AutoService(SeaTunnelSource.class)
public class MongodbIncrementalSource<T> extends IncrementalSource<T,
MongodbSourceConfig>
implements SupportParallelism {
diff --git
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/MySqlIncrementalSource.java
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/MySqlIncrementalSource.java
index 67ff9ff607..da11ede246 100644
---
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/MySqlIncrementalSource.java
+++
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/MySqlIncrementalSource.java
@@ -19,7 +19,6 @@ package
org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source;
import org.apache.seatunnel.api.configuration.Option;
import org.apache.seatunnel.api.configuration.ReadonlyConfig;
-import org.apache.seatunnel.api.source.SeaTunnelSource;
import org.apache.seatunnel.api.source.SupportParallelism;
import org.apache.seatunnel.api.table.catalog.CatalogTable;
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
@@ -42,14 +41,9 @@ import
org.apache.seatunnel.connectors.seatunnel.cdc.mysql.config.MySqlSourceCon
import
org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source.offset.BinlogOffsetFactory;
import
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.JdbcCatalogOptions;
-import com.google.auto.service.AutoService;
-import lombok.NoArgsConstructor;
-
import java.time.ZoneId;
import java.util.List;
-@NoArgsConstructor
-@AutoService(SeaTunnelSource.class)
public class MySqlIncrementalSource<T> extends IncrementalSource<T,
JdbcSourceConfig>
implements SupportParallelism {
static final String IDENTIFIER = "MySQL-CDC";
diff --git
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-postgres/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/postgres/source/PostgresIncrementalSource.java
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-postgres/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/postgres/source/PostgresIncrementalSource.java
index 0ed65a873c..053e38440c 100644
---
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-postgres/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/postgres/source/PostgresIncrementalSource.java
+++
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-postgres/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/postgres/source/PostgresIncrementalSource.java
@@ -19,7 +19,6 @@ package
org.apache.seatunnel.connectors.seatunnel.cdc.postgres.source;
import org.apache.seatunnel.api.configuration.Option;
import org.apache.seatunnel.api.configuration.ReadonlyConfig;
-import org.apache.seatunnel.api.source.SeaTunnelSource;
import org.apache.seatunnel.api.source.SupportParallelism;
import org.apache.seatunnel.api.table.catalog.CatalogTable;
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
@@ -42,12 +41,10 @@ import
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.JdbcCatalogOptions
import org.apache.kafka.connect.data.Struct;
-import com.google.auto.service.AutoService;
import io.debezium.jdbc.JdbcConnection;
import io.debezium.relational.TableId;
import io.debezium.relational.history.ConnectTableChangeSerializer;
import io.debezium.relational.history.TableChanges;
-import lombok.NoArgsConstructor;
import java.time.ZoneId;
import java.util.List;
@@ -55,8 +52,6 @@ import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
-@NoArgsConstructor
-@AutoService(SeaTunnelSource.class)
public class PostgresIncrementalSource<T> extends IncrementalSource<T,
JdbcSourceConfig>
implements SupportParallelism {
diff --git
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-sqlserver/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/sqlserver/source/source/SqlServerIncrementalSource.java
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-sqlserver/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/sqlserver/source/source/SqlServerIncrementalSource.java
index 4ab64ff692..ce9df11514 100644
---
a/seatunnel-connectors-v2/connector-cdc/connector-cdc-sqlserver/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/sqlserver/source/source/SqlServerIncrementalSource.java
+++
b/seatunnel-connectors-v2/connector-cdc/connector-cdc-sqlserver/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/sqlserver/source/source/SqlServerIncrementalSource.java
@@ -19,7 +19,6 @@ package
org.apache.seatunnel.connectors.seatunnel.cdc.sqlserver.source.source;
import org.apache.seatunnel.api.configuration.Option;
import org.apache.seatunnel.api.configuration.ReadonlyConfig;
-import org.apache.seatunnel.api.source.SeaTunnelSource;
import org.apache.seatunnel.api.source.SupportParallelism;
import org.apache.seatunnel.api.table.catalog.CatalogTable;
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
@@ -42,14 +41,9 @@ import
org.apache.seatunnel.connectors.seatunnel.cdc.sqlserver.source.source.off
import
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.JdbcCatalogOptions;
import
org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.sqlserver.SqlServerURLParser;
-import com.google.auto.service.AutoService;
-import lombok.NoArgsConstructor;
-
import java.time.ZoneId;
import java.util.List;
-@NoArgsConstructor
-@AutoService(SeaTunnelSource.class)
public class SqlServerIncrementalSource<T> extends IncrementalSource<T,
JdbcSourceConfig>
implements SupportParallelism {
diff --git
a/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/source/DorisSource.java
b/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/source/DorisSource.java
index c18a9444f2..c04f074021 100644
---
a/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/source/DorisSource.java
+++
b/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/source/DorisSource.java
@@ -29,14 +29,12 @@ import
org.apache.seatunnel.connectors.doris.source.reader.DorisSourceReader;
import org.apache.seatunnel.connectors.doris.source.split.DorisSourceSplit;
import
org.apache.seatunnel.connectors.doris.source.split.DorisSourceSplitEnumerator;
-import com.google.auto.service.AutoService;
import lombok.extern.slf4j.Slf4j;
import java.util.Collections;
import java.util.List;
@Slf4j
-@AutoService(SeaTunnelSource.class)
public class DorisSource
implements SeaTunnelSource<SeaTunnelRow, DorisSourceSplit,
DorisSourceState> {
diff --git
a/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/sink/ElasticsearchSink.java
b/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/sink/ElasticsearchSink.java
index 79862879f9..3d160adc07 100644
---
a/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/sink/ElasticsearchSink.java
+++
b/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/sink/ElasticsearchSink.java
@@ -35,15 +35,12 @@ import
org.apache.seatunnel.connectors.seatunnel.elasticsearch.state.Elasticsear
import
org.apache.seatunnel.connectors.seatunnel.elasticsearch.state.ElasticsearchCommitInfo;
import
org.apache.seatunnel.connectors.seatunnel.elasticsearch.state.ElasticsearchSinkState;
-import com.google.auto.service.AutoService;
-
import java.util.Optional;
import static
org.apache.seatunnel.api.table.factory.FactoryUtil.discoverFactory;
import static
org.apache.seatunnel.connectors.seatunnel.elasticsearch.config.SinkConfig.MAX_BATCH_SIZE;
import static
org.apache.seatunnel.connectors.seatunnel.elasticsearch.config.SinkConfig.MAX_RETRY_COUNT;
-@AutoService(SeaTunnelSink.class)
public class ElasticsearchSink
implements SeaTunnelSink<
SeaTunnelRow,
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/config/OssConf.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/config/OssConf.java
similarity index 96%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/config/OssConf.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/config/OssConf.java
index 79f74e9010..718be0bc8a 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/config/OssConf.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/config/OssConf.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.config;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config;
import org.apache.seatunnel.shade.com.typesafe.config.Config;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/config/OssConfigOptions.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/config/OssConfigOptions.java
similarity index 96%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/config/OssConfigOptions.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/config/OssConfigOptions.java
index 2a2e272534..8876cbc564 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/config/OssConfigOptions.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/config/OssConfigOptions.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.config;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config;
import org.apache.seatunnel.api.configuration.Option;
import org.apache.seatunnel.api.configuration.Options;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/exception/OssJindoConnectorException.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/exception/OssJindoConnectorException.java
similarity index 95%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/exception/OssJindoConnectorException.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/exception/OssJindoConnectorException.java
index 9e27e1dc92..93327dc233 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/exception/OssJindoConnectorException.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/exception/OssJindoConnectorException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.exception;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.exception;
import org.apache.seatunnel.common.exception.SeaTunnelErrorCode;
import org.apache.seatunnel.common.exception.SeaTunnelRuntimeException;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/sink/OssFileSink.java
similarity index 88%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/sink/OssFileSink.java
index f5be2c7862..ac6ee94992 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/sink/OssFileSink.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.sink;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.sink;
import org.apache.seatunnel.shade.com.typesafe.config.Config;
@@ -26,9 +26,9 @@ import org.apache.seatunnel.common.config.CheckConfigUtil;
import org.apache.seatunnel.common.config.CheckResult;
import org.apache.seatunnel.common.constants.PluginType;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileSystemType;
-import org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssConf;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssConfigOptions;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.exception.OssJindoConnectorException;
+import org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config.OssConf;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config.OssConfigOptions;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.exception.OssJindoConnectorException;
import org.apache.seatunnel.connectors.seatunnel.file.sink.BaseFileSink;
import com.google.auto.service.AutoService;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSinkFactory.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/sink/OssFileSinkFactory.java
similarity index 96%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSinkFactory.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/sink/OssFileSinkFactory.java
index 60a426ccb9..b1bfb439e0 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSinkFactory.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/sink/OssFileSinkFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.sink;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.sink;
import org.apache.seatunnel.api.configuration.util.OptionRule;
import org.apache.seatunnel.api.table.factory.Factory;
@@ -23,7 +23,7 @@ import
org.apache.seatunnel.api.table.factory.TableSinkFactory;
import org.apache.seatunnel.connectors.seatunnel.file.config.BaseSinkConfig;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileFormat;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileSystemType;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssConfigOptions;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config.OssConfigOptions;
import com.google.auto.service.AutoService;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/source/OssFileSource.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/source/OssFileSource.java
similarity index 94%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/source/OssFileSource.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/source/OssFileSource.java
index 7d73f16e7b..6eea28eda3 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/source/OssFileSource.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/source/OssFileSource.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.source;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.source;
import org.apache.seatunnel.shade.com.typesafe.config.Config;
@@ -33,9 +33,9 @@ import
org.apache.seatunnel.connectors.seatunnel.file.config.FileFormat;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileSystemType;
import
org.apache.seatunnel.connectors.seatunnel.file.exception.FileConnectorErrorCode;
import
org.apache.seatunnel.connectors.seatunnel.file.exception.FileConnectorException;
-import org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssConf;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssConfigOptions;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.exception.OssJindoConnectorException;
+import org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config.OssConf;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config.OssConfigOptions;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.exception.OssJindoConnectorException;
import org.apache.seatunnel.connectors.seatunnel.file.source.BaseFileSource;
import
org.apache.seatunnel.connectors.seatunnel.file.source.reader.ReadStrategyFactory;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/source/OssFileSourceFactory.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/source/OssFileSourceFactory.java
similarity index 95%
rename from
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/source/OssFileSourceFactory.java
rename to
seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/source/OssFileSourceFactory.java
index 5a31832b33..a6c9276c76 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/source/OssFileSourceFactory.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/jindo/source/OssFileSourceFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.seatunnel.connectors.seatunnel.file.oss.source;
+package org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.source;
import org.apache.seatunnel.api.configuration.util.OptionRule;
import org.apache.seatunnel.api.source.SeaTunnelSource;
@@ -25,7 +25,7 @@ import
org.apache.seatunnel.api.table.factory.TableSourceFactory;
import
org.apache.seatunnel.connectors.seatunnel.file.config.BaseSourceConfigOptions;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileFormat;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileSystemType;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssConfigOptions;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.config.OssConfigOptions;
import com.google.auto.service.AutoService;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/test/java/org/apache/seatunnel/connectors/test/OssJindoFactoryTest.java
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/test/java/org/apache/seatunnel/connectors/test/OssJindoFactoryTest.java
index 85955f086f..c014f1d492 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/test/java/org/apache/seatunnel/connectors/test/OssJindoFactoryTest.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/test/java/org/apache/seatunnel/connectors/test/OssJindoFactoryTest.java
@@ -17,8 +17,8 @@
package org.apache.seatunnel.connectors.test;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.sink.OssFileSinkFactory;
-import
org.apache.seatunnel.connectors.seatunnel.file.oss.source.OssFileSourceFactory;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.sink.OssFileSinkFactory;
+import
org.apache.seatunnel.connectors.seatunnel.file.oss.jindo.source.OssFileSourceFactory;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
b/seatunnel-connectors-v2/connector-file/connector-file-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
index 5cab55f8ed..de4726fd5c 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-oss/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/oss/sink/OssFileSink.java
@@ -18,15 +18,11 @@
package org.apache.seatunnel.connectors.seatunnel.file.oss.sink;
import org.apache.seatunnel.api.configuration.ReadonlyConfig;
-import org.apache.seatunnel.api.sink.SeaTunnelSink;
import org.apache.seatunnel.api.table.catalog.CatalogTable;
import org.apache.seatunnel.connectors.seatunnel.file.config.FileSystemType;
import org.apache.seatunnel.connectors.seatunnel.file.oss.config.OssHadoopConf;
import
org.apache.seatunnel.connectors.seatunnel.file.sink.BaseMultipleTableFileSink;
-import com.google.auto.service.AutoService;
-
-@AutoService(SeaTunnelSink.class)
public class OssFileSink extends BaseMultipleTableFileSink {
public OssFileSink(ReadonlyConfig readonlyConfig, CatalogTable
catalogTable) {
super(OssHadoopConf.buildWithConfig(readonlyConfig), readonlyConfig,
catalogTable);
diff --git
a/seatunnel-connectors-v2/connector-file/connector-file-s3/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/s3/sink/S3FileSink.java
b/seatunnel-connectors-v2/connector-file/connector-file-s3/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/s3/sink/S3FileSink.java
index 137d199193..b758356952 100644
---
a/seatunnel-connectors-v2/connector-file/connector-file-s3/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/s3/sink/S3FileSink.java
+++
b/seatunnel-connectors-v2/connector-file/connector-file-s3/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/s3/sink/S3FileSink.java
@@ -25,7 +25,6 @@ import org.apache.seatunnel.api.sink.DataSaveMode;
import org.apache.seatunnel.api.sink.DefaultSaveModeHandler;
import org.apache.seatunnel.api.sink.SaveModeHandler;
import org.apache.seatunnel.api.sink.SchemaSaveMode;
-import org.apache.seatunnel.api.sink.SeaTunnelSink;
import org.apache.seatunnel.api.sink.SupportSaveMode;
import org.apache.seatunnel.api.table.catalog.Catalog;
import org.apache.seatunnel.api.table.catalog.CatalogTable;
@@ -39,13 +38,10 @@ import
org.apache.seatunnel.connectors.seatunnel.file.s3.config.S3Conf;
import
org.apache.seatunnel.connectors.seatunnel.file.s3.config.S3ConfigOptions;
import
org.apache.seatunnel.connectors.seatunnel.file.sink.BaseMultipleTableFileSink;
-import com.google.auto.service.AutoService;
-
import java.util.Optional;
import static
org.apache.seatunnel.api.table.factory.FactoryUtil.discoverFactory;
-@AutoService(SeaTunnelSink.class)
public class S3FileSink extends BaseMultipleTableFileSink implements
SupportSaveMode {
private CatalogTable catalogTable;
diff --git
a/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/source/HudiSourceFactory.java
b/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/source/HudiSourceFactory.java
index 796645297b..778efc62a3 100644
---
a/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/source/HudiSourceFactory.java
+++
b/seatunnel-connectors-v2/connector-hudi/src/main/java/org/apache/seatunnel/connectors/seatunnel/hudi/source/HudiSourceFactory.java
@@ -19,12 +19,13 @@ package
org.apache.seatunnel.connectors.seatunnel.hudi.source;
import org.apache.seatunnel.api.configuration.util.OptionRule;
import org.apache.seatunnel.api.source.SeaTunnelSource;
+import org.apache.seatunnel.api.table.factory.Factory;
import org.apache.seatunnel.api.table.factory.TableSourceFactory;
import org.apache.seatunnel.connectors.seatunnel.hudi.config.HudiSourceConfig;
import com.google.auto.service.AutoService;
-@AutoService(SeaTunnelSource.class)
+@AutoService(Factory.class)
public class HudiSourceFactory implements TableSourceFactory {
@Override
diff --git
a/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/sink/IcebergSink.java
b/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/sink/IcebergSink.java
index 06131bc9f7..ad92aa1d75 100644
---
a/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/sink/IcebergSink.java
+++
b/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/sink/IcebergSink.java
@@ -44,8 +44,6 @@ import
org.apache.seatunnel.connectors.seatunnel.iceberg.sink.commit.IcebergAggr
import
org.apache.seatunnel.connectors.seatunnel.iceberg.sink.commit.IcebergCommitInfo;
import
org.apache.seatunnel.connectors.seatunnel.iceberg.sink.state.IcebergSinkState;
-import com.google.auto.service.AutoService;
-
import java.io.IOException;
import java.util.List;
import java.util.Objects;
@@ -54,7 +52,6 @@ import java.util.stream.Collectors;
import static
org.apache.seatunnel.api.table.factory.FactoryUtil.discoverFactory;
-@AutoService(SeaTunnelSink.class)
public class IcebergSink
implements SeaTunnelSink<
SeaTunnelRow,
diff --git
a/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/source/IcebergSource.java
b/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/source/IcebergSource.java
index 3d1cde13a9..7a2fdf9d4f 100644
---
a/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/source/IcebergSource.java
+++
b/seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/source/IcebergSource.java
@@ -49,7 +49,6 @@ import
org.apache.seatunnel.connectors.seatunnel.iceberg.utils.SchemaUtils;
import org.apache.iceberg.Schema;
import org.apache.iceberg.types.Types;
-import com.google.auto.service.AutoService;
import lombok.SneakyThrows;
import java.util.ArrayList;
@@ -58,7 +57,6 @@ import java.util.List;
import static
org.apache.seatunnel.shade.com.google.common.base.Preconditions.checkArgument;
-@AutoService(SeaTunnelSource.class)
public class IcebergSource
implements SeaTunnelSource<
SeaTunnelRow, IcebergFileScanTaskSplit,
IcebergSplitEnumeratorState>,
diff --git
a/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/source/StarRocksSource.java
b/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/source/StarRocksSource.java
index 9bde1b22a3..211a8b96fc 100644
---
a/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/source/StarRocksSource.java
+++
b/seatunnel-connectors-v2/connector-starrocks/src/main/java/org/apache/seatunnel/connectors/seatunnel/starrocks/source/StarRocksSource.java
@@ -26,12 +26,9 @@ import org.apache.seatunnel.api.table.type.SeaTunnelRow;
import org.apache.seatunnel.connectors.seatunnel.starrocks.config.CommonConfig;
import org.apache.seatunnel.connectors.seatunnel.starrocks.config.SourceConfig;
-import com.google.auto.service.AutoService;
-
import java.util.Collections;
import java.util.List;
-@AutoService(SeaTunnelSource.class)
public class StarRocksSource
implements SeaTunnelSource<SeaTunnelRow, StarRocksSourceSplit,
StarRocksSourceState> {
diff --git
a/seatunnel-dist/src/test/java/org/apache/seatunnel/api/connector/ConnectorSpecificationCheckTest.java
b/seatunnel-dist/src/test/java/org/apache/seatunnel/api/connector/ConnectorSpecificationCheckTest.java
index 243d2fc5a8..5b46d81201 100644
---
a/seatunnel-dist/src/test/java/org/apache/seatunnel/api/connector/ConnectorSpecificationCheckTest.java
+++
b/seatunnel-dist/src/test/java/org/apache/seatunnel/api/connector/ConnectorSpecificationCheckTest.java
@@ -17,6 +17,7 @@
package org.apache.seatunnel.api.connector;
+import org.apache.seatunnel.api.sink.SeaTunnelSink;
import org.apache.seatunnel.api.source.SeaTunnelSource;
import org.apache.seatunnel.api.table.factory.FactoryUtil;
import org.apache.seatunnel.api.table.factory.TableSinkFactory;
@@ -33,14 +34,28 @@ import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
+import java.util.ServiceLoader;
@Slf4j
public class ConnectorSpecificationCheckTest {
@Test
public void testAllConnectorImplementFactoryWithUpToDateMethod() throws
ClassNotFoundException {
+
+ ServiceLoader<SeaTunnelSource> sources =
+ ServiceLoader.load(
+ SeaTunnelSource.class,
Thread.currentThread().getContextClassLoader());
+ Map<String, String> sourceWithSPI = new HashMap<>();
+ Iterator<SeaTunnelSource> sourceIterator = sources.iterator();
+ while (sourceIterator.hasNext()) {
+ SeaTunnelSource source = sourceIterator.next();
+ sourceWithSPI.put(source.getPluginName(),
source.getClass().getName());
+ }
List<TableSourceFactory> sourceFactories =
FactoryUtil.discoverFactories(
Thread.currentThread().getContextClassLoader(),
TableSourceFactory.class);
@@ -57,6 +72,10 @@ public class ConnectorSpecificationCheckTest {
TableSourceFactoryContext.class)
.isPresent()
&&
!blockList.contains(factory.getClass().getSimpleName())) {
+ Assertions.assertFalse(
+ sourceWithSPI.containsKey(factory.factoryIdentifier()),
+ "Please remove `@AutoService(SeaTunnelSource.class)`
annotation in "
+ +
sourceWithSPI.get(factory.factoryIdentifier()));
Class<? extends SeaTunnelSource> sourceClass =
factory.getSourceClass();
Optional<Method> prepare =
ReflectionUtils.getDeclaredMethod(sourceClass,
"prepare");
@@ -84,12 +103,25 @@ public class ConnectorSpecificationCheckTest {
List<TableSinkFactory> sinkFactories =
FactoryUtil.discoverFactories(
Thread.currentThread().getContextClassLoader(),
TableSinkFactory.class);
+ ServiceLoader<SeaTunnelSink> sinks =
+ ServiceLoader.load(
+ SeaTunnelSink.class,
Thread.currentThread().getContextClassLoader());
+ Map<String, String> sinkWithSPI = new HashMap<>();
+ Iterator<SeaTunnelSink> sinkIterator = sinks.iterator();
+ while (sinkIterator.hasNext()) {
+ SeaTunnelSink sink = sinkIterator.next();
+ sinkWithSPI.put(sink.getPluginName(), sink.getClass().getName());
+ }
for (TableSinkFactory factory : sinkFactories) {
String factoryName = factory.getClass().getSimpleName();
if (ReflectionUtils.getDeclaredMethod(
factory.getClass(), "createSink",
TableSinkFactoryContext.class)
.isPresent()
&& !blockList.contains(factoryName)) {
+ Assertions.assertFalse(
+ sinkWithSPI.containsKey(factory.factoryIdentifier()),
+ "Please remove `@AutoService(SeaTunnelSink.class)`
annotation in "
+ +
sinkWithSPI.get(factory.factoryIdentifier()));
Class<? extends SeaTunnelSource> sinkClass =
(Class<? extends SeaTunnelSource>)
Class.forName(