This is an automated email from the ASF dual-hosted git repository.
liugddx pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 7a9cd574f add imap factory (#3792)
7a9cd574f is described below
commit 7a9cd574f19cc41cb9e36803cfae23e21eb2f523
Author: Guangdong Liu <[email protected]>
AuthorDate: Mon Jan 16 23:16:44 2023 +0800
add imap factory (#3792)
---
.../engine/e2e/ClusterFaultToleranceIT.java | 1 +
.../engine/server/persistence/FileMapStore.java | 17 ++++----
.../imap/storage/api/IMapStorageFactory.java} | 17 ++++----
.../imap-storage-file/pom.xml | 2 +-
.../engine/imap/storage/file/IMapFileStorage.java | 0
.../imap/storage/file/IMapFileStorageFactory.java | 48 ++++++++++++++++++++++
.../engine/imap/storage/file/bean/IMapData.java | 0
.../imap/storage/file/bean/IMapFileData.java | 0
.../imap/storage/file/common/FileConstants.java | 0
.../imap/storage/file/common/WALDataUtils.java | 0
.../engine/imap/storage/file/common/WALReader.java | 0
.../engine/imap/storage/file/common/WALWriter.java | 0
.../imap/storage/file/disruptor/FileWALEvent.java | 0
.../imap/storage/file/disruptor/WALDisruptor.java | 0
.../imap/storage/file/disruptor/WALEventType.java | 0
.../storage/file/disruptor/WALWorkHandler.java | 0
.../imap/storage/file/future/RequestFuture.java | 0
.../storage/file/future/RequestFutureCache.java | 0
.../storage/file/scheduler/SchedulerTaskInfo.java | 0
.../imap/storage/file/IMapFileStorageTest.java | 0
.../file/common/WALReaderAndWriterTest.java | 0
.../storage/file/disruptor/WALDisruptorTest.java | 0
.../{ => imap-storage-plugins}/pom.xml | 24 +++++++----
seatunnel-engine/seatunnel-engine-storage/pom.xml | 6 +--
24 files changed, 86 insertions(+), 29 deletions(-)
diff --git
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterFaultToleranceIT.java
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterFaultToleranceIT.java
index b1d738579..743eeb6b1 100644
---
a/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterFaultToleranceIT.java
+++
b/seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/java/org/apache/seatunnel/engine/e2e/ClusterFaultToleranceIT.java
@@ -654,6 +654,7 @@ public class ClusterFaultToleranceIT {
" initial-mode: EAGER\n" +
" factory-class-name:
org.apache.seatunnel.engine.server.persistence.FileMapStoreFactory\n" +
" properties:\n" +
+ " type: hdfs\n" +
" namespace: /tmp/seatunnel/imap\n" +
" clusterName: seatunnel-clsuter\n" +
" fs.defaultFS: file:///\n" +
diff --git
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/persistence/FileMapStore.java
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/persistence/FileMapStore.java
index af6a7be1d..88428f665 100644
---
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/persistence/FileMapStore.java
+++
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/persistence/FileMapStore.java
@@ -17,17 +17,15 @@
package org.apache.seatunnel.engine.server.persistence;
-import static
org.apache.seatunnel.engine.imap.storage.file.common.FileConstants.FileInitProperties.HDFS_CONFIG_KEY;
-
+import org.apache.seatunnel.engine.common.utils.FactoryUtil;
import org.apache.seatunnel.engine.imap.storage.api.IMapStorage;
-import org.apache.seatunnel.engine.imap.storage.file.IMapFileStorage;
+import org.apache.seatunnel.engine.imap.storage.api.IMapStorageFactory;
import com.google.common.collect.Maps;
import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.map.MapLoaderLifecycleSupport;
import com.hazelcast.map.MapStore;
import lombok.SneakyThrows;
-import org.apache.hadoop.conf.Configuration;
import java.util.Collection;
import java.util.Collections;
@@ -41,13 +39,12 @@ public class FileMapStore implements MapStore<Object,
Object>, MapLoaderLifecycl
@Override
public void init(HazelcastInstance hazelcastInstance, Properties
properties, String mapName) {
- // TODO implemented by loading the factory
- mapStorage = new IMapFileStorage();
+
Map<String, Object> initMap = new
HashMap<>(Maps.fromProperties(properties));
- Configuration configuration = new Configuration();
- configuration.set("fs.defaultFS",
properties.getProperty("fs.defaultFS"));
- initMap.put(HDFS_CONFIG_KEY, configuration);
- mapStorage.initialize(initMap);
+ this.mapStorage =
+
FactoryUtil.discoverFactory(Thread.currentThread().getContextClassLoader(),
IMapStorageFactory.class,
+ (String) initMap.get("type"))
+ .create(initMap);
}
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-api/src/main/java/org/apache/seatunnel/engine/imap/storage/api/IMapStorageFactory.java
similarity index 71%
copy from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
copy to
seatunnel-engine/seatunnel-engine-storage/imap-storage-api/src/main/java/org/apache/seatunnel/engine/imap/storage/api/IMapStorageFactory.java
index 0fc0451d0..c6c53aed9 100644
---
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
+++
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-api/src/main/java/org/apache/seatunnel/engine/imap/storage/api/IMapStorageFactory.java
@@ -18,15 +18,16 @@
*
*/
-package org.apache.seatunnel.engine.imap.storage.file.scheduler;
+package org.apache.seatunnel.engine.imap.storage.api;
-import lombok.Builder;
-import lombok.Data;
+import
org.apache.seatunnel.engine.imap.storage.api.exception.IMapStorageException;
-@Data
-@Builder
-public class SchedulerTaskInfo {
+import java.util.Map;
+
+public interface IMapStorageFactory {
+
+ String factoryIdentifier();
+
+ IMapStorage create(Map<String, Object> configuration) throws
IMapStorageException;
- private long scheduledTime;
- private long latestTime;
}
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/pom.xml
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/pom.xml
similarity index 97%
rename from seatunnel-engine/seatunnel-engine-storage/imap-storage-file/pom.xml
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/pom.xml
index 39b555539..fba2d5603 100644
--- a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/pom.xml
+++
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/pom.xml
@@ -22,7 +22,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <artifactId>seatunnel-engine-storage</artifactId>
+ <artifactId>imap-storage-plugins</artifactId>
<groupId>org.apache.seatunnel</groupId>
<version>${revision}</version>
</parent>
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorage.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorage.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorage.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorage.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageFactory.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageFactory.java
new file mode 100644
index 000000000..9920d3c3f
--- /dev/null
+++
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageFactory.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.seatunnel.engine.imap.storage.file;
+
+import static
org.apache.seatunnel.engine.imap.storage.file.common.FileConstants.FileInitProperties.HDFS_CONFIG_KEY;
+
+import org.apache.seatunnel.engine.imap.storage.api.IMapStorage;
+import org.apache.seatunnel.engine.imap.storage.api.IMapStorageFactory;
+import
org.apache.seatunnel.engine.imap.storage.api.exception.IMapStorageException;
+
+import org.apache.hadoop.conf.Configuration;
+
+import java.util.Map;
+
+public class IMapFileStorageFactory implements IMapStorageFactory {
+ @Override
+ public String factoryIdentifier() {
+ return "hdfs";
+ }
+
+ @Override
+ public IMapStorage create(Map<String, Object> initMap) throws
IMapStorageException {
+ IMapFileStorage iMapFileStorage = new IMapFileStorage();
+ Configuration configuration = new Configuration();
+ configuration.set("fs.defaultFS", (String)
initMap.get("fs.defaultFS"));
+ initMap.put(HDFS_CONFIG_KEY, configuration);
+ iMapFileStorage.initialize(initMap);
+ return iMapFileStorage;
+ }
+}
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapData.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapData.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapData.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapData.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapFileData.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapFileData.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapFileData.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/bean/IMapFileData.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/FileConstants.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/FileConstants.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/FileConstants.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/FileConstants.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALDataUtils.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALDataUtils.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALDataUtils.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALDataUtils.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReader.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReader.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReader.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReader.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALWriter.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALWriter.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALWriter.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/common/WALWriter.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/FileWALEvent.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/FileWALEvent.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/FileWALEvent.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/FileWALEvent.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptor.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptor.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptor.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptor.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALEventType.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALEventType.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALEventType.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALEventType.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALWorkHandler.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALWorkHandler.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALWorkHandler.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALWorkHandler.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFuture.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFuture.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFuture.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFuture.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFutureCache.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFutureCache.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFutureCache.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/future/RequestFutureCache.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/main/java/org/apache/seatunnel/engine/imap/storage/file/scheduler/SchedulerTaskInfo.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageTest.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageTest.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageTest.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/IMapFileStorageTest.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReaderAndWriterTest.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReaderAndWriterTest.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReaderAndWriterTest.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/common/WALReaderAndWriterTest.java
diff --git
a/seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptorTest.java
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptorTest.java
similarity index 100%
rename from
seatunnel-engine/seatunnel-engine-storage/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptorTest.java
rename to
seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/imap-storage-file/src/test/java/org/apache/seatunnel/engine/imap/storage/file/disruptor/WALDisruptorTest.java
diff --git a/seatunnel-engine/seatunnel-engine-storage/pom.xml
b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/pom.xml
similarity index 72%
copy from seatunnel-engine/seatunnel-engine-storage/pom.xml
copy to seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/pom.xml
index 80c98a506..f0427d14a 100644
--- a/seatunnel-engine/seatunnel-engine-storage/pom.xml
+++ b/seatunnel-engine/seatunnel-engine-storage/imap-storage-plugins/pom.xml
@@ -22,19 +22,29 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <artifactId>seatunnel-engine</artifactId>
<groupId>org.apache.seatunnel</groupId>
+ <artifactId>seatunnel-engine-storage</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>seatunnel-engine-storage</artifactId>
+ <artifactId>imap-storage-plugins</artifactId>
<packaging>pom</packaging>
+
<modules>
- <module>checkpoint-storage-api</module>
- <module>checkpoint-storage-plugins</module>
- <module>imap-storage-api</module>
<module>imap-storage-file</module>
</modules>
-
-</project>
\ No newline at end of file
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.auto.service</groupId>
+ <artifactId>auto-service</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.seatunnel</groupId>
+ <artifactId>imap-storage-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/seatunnel-engine/seatunnel-engine-storage/pom.xml
b/seatunnel-engine/seatunnel-engine-storage/pom.xml
index 80c98a506..311e1c62e 100644
--- a/seatunnel-engine/seatunnel-engine-storage/pom.xml
+++ b/seatunnel-engine/seatunnel-engine-storage/pom.xml
@@ -34,7 +34,7 @@
<module>checkpoint-storage-api</module>
<module>checkpoint-storage-plugins</module>
<module>imap-storage-api</module>
- <module>imap-storage-file</module>
+ <module>imap-storage-plugins</module>
</modules>
-
-</project>
\ No newline at end of file
+
+</project>