diff --git a/.gitignore b/.gitignore index b56f1dd..6a1f849 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ build/ ### VS Code ### .vscode/ +/milvus-solon-demo/ +/milvus-plus-parent diff --git a/milvus-plus-boot-starter/pom.xml b/milvus-plus-boot-starter/pom.xml index 2062bec..1b1af64 100644 --- a/milvus-plus-boot-starter/pom.xml +++ b/milvus-plus-boot-starter/pom.xml @@ -2,168 +2,37 @@ 4.0.0 + io.github.javpower - milvus-plus-boot-starter - 2.4.0-SNAPSHOT - milvus-plus-boot-starter - a tool about milvus-plus - https://github.com/javpower/milvus-plus - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - https://github.com/javpower/milvus-plus-boot-starter - scm:git@github.com/javpower/milvus-plus.git - scm:git@github.com/javpower/milvus-plus.git - - - - gc.x - javpower@163.com - https://github.com/javpower - +8 - - - - 1.8 - UTF-8 - UTF-8 - 2.7.13 - 2.3.2 - - - - org.springframework.boot - spring-boot-starter - - - org.springframework.boot - spring-boot-starter-web - - - io.github.javpower - milvus-plus-core - 2.4.0-SNAPSHOT - - - net.dreamlu - mica-auto - ${mica-auto.vaersion} - provided - + milvus-plus-parent + ${revision} + ../milvus-plus-parent/pom.xml + + milvus-plus-boot-starter + jar - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-web + + + io.github.javpower + milvus-plus-core + + + net.dreamlu + mica-auto + ${mica-auto.vaersion} + provided + - - - ossrh - https://s01.oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ - - + - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - UTF-8 - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.7 - true - - ossrh - https://s01.oss.sonatype.org/ - true - - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - attach-sources - - jar-no-fork - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.9.1 - - private - true - UTF-8 - UTF-8 - UTF-8 - -Xdoclint:none - - - - package - - jar - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - - - org.apache.maven.plugins - maven-deploy-plugin - 2.8.2 - - - - - + diff --git a/milvus-plus-core/pom.xml b/milvus-plus-core/pom.xml index ee08b11..1555329 100644 --- a/milvus-plus-core/pom.xml +++ b/milvus-plus-core/pom.xml @@ -2,196 +2,65 @@ 4.0.0 + io.github.javpower - milvus-plus-core - 2.4.0-SNAPSHOT - milvus-plus-core - a tool about milvus-plus-core - https://github.com/javpower/milvus-plus - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - https://github.com/javpower/milvus-plus-boot-starter - scm:git@github.com/javpower/milvus-plus.git - scm:git@github.com/javpower/milvus-plus.git - - - - gc.x - javpower@163.com - https://github.com/javpower - +8 - - - - 1.8 - UTF-8 - UTF-8 - 2.7.13 - 2.3.2 - - - - org.springframework.boot - spring-boot-starter - - - com.google.protobuf - protobuf-java - 3.24.0 - - - org.projectlombok - lombok - 1.18.22 - - - io.milvus - milvus-sdk-java - 2.4.0 - - - org.apache.logging.log4j - log4j-slf4j-impl - - - org.apache.hadoop - hadoop-client - - - com.fasterxml.jackson.dataformat - jackson-dataformat-csv - - - com.azure - azure-storage-blob - - - com.azure - azure-identity - - - - - net.dreamlu - mica-auto - ${mica-auto.vaersion} - provided - + milvus-plus-parent + ${revision} + ../milvus-plus-parent/pom.xml + + milvus-plus-core + jar + + + org.springframework.boot + spring-boot-starter + + + com.google.protobuf + protobuf-java + 3.24.0 + + + org.projectlombok + lombok + 1.18.22 + + + io.milvus + milvus-sdk-java + 2.4.0 + + + org.apache.logging.log4j + log4j-slf4j-impl + + + org.apache.hadoop + hadoop-client + + + com.fasterxml.jackson.dataformat + jackson-dataformat-csv + + + com.azure + azure-storage-blob + + + com.azure + azure-identity + + + + + net.dreamlu + mica-auto + ${mica-auto.vaersion} + provided + - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - + - - - ossrh - https://s01.oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - UTF-8 - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.7 - true - - ossrh - https://s01.oss.sonatype.org/ - true - - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - attach-sources - - jar-no-fork - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.9.1 - - private - true - UTF-8 - UTF-8 - UTF-8 - -Xdoclint:none - - - - package - - jar - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - - - org.apache.maven.plugins - maven-deploy-plugin - 2.8.2 - - - - - - + diff --git a/milvus-plus-parent/pom.xml b/milvus-plus-parent/pom.xml new file mode 100644 index 0000000..0fbf702 --- /dev/null +++ b/milvus-plus-parent/pom.xml @@ -0,0 +1,180 @@ + + + 4.0.0 + io.github.javpower + milvus-plus-parent + ${revision} + pom + ${project.artifactId} + a tool about milvus-plus + https://github.com/javpower/milvus-plus + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + https://github.com/javpower/milvus-plus + scm:git@github.com/javpower/milvus-plus.git + scm:git@github.com/javpower/milvus-plus.git + + + + gc.x + javpower@163.com + https://github.com/javpower + +8 + + + + 2.4.0-SNAPSHOT + ${java.version} + ${java.version} + 3.11.0 + 3.6.0 + 3.3.1 + UTF-8 + UTF-8 + 2.7.6 + 2.7.13 + 2.3.2 + 1.8 + + + + + + + + io.github.javpower + milvus-plus-core + ${revision} + + + io.github.javpower + milvus-plus-boot-starter + ${revision} + + + io.github.javpower + milvus-plus-solon-plugin + ${revision} + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + UTF-8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot.version} + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.7 + true + + ossrh + https://s01.oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + private + true + UTF-8 + UTF-8 + UTF-8 + -Xdoclint:none + + + + package + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + org.apache.maven.plugins + maven-deploy-plugin + 2.8.2 + + + + + + + ../milvus-plus-core + ../milvus-plus-solon-plugin + ../milvus-plus-boot-starter + + + + + diff --git a/milvus-plus-solon-starter/.gitignore b/milvus-plus-solon-plugin/.gitignore similarity index 100% rename from milvus-plus-solon-starter/.gitignore rename to milvus-plus-solon-plugin/.gitignore diff --git a/milvus-plus-solon-plugin/pom.xml b/milvus-plus-solon-plugin/pom.xml new file mode 100755 index 0000000..8b565ea --- /dev/null +++ b/milvus-plus-solon-plugin/pom.xml @@ -0,0 +1,61 @@ + + + 4.0.0 + + io.github.javpower + milvus-plus-parent + ${revision} + ../milvus-plus-parent/pom.xml + + milvus-plus-solon-plugin + jar + + + + + io.github.javpower + milvus-plus-core + + + + + org.noear + solon + ${solon.version} + + + + org.noear + solon.logging.logback + ${solon.version} + test + + + + org.noear + solon-api + ${solon.version} + test + + + + org.noear + solon-test + ${solon.version} + test + + + + + + tencent + https://mirrors.cloud.tencent.com/nexus/repository/maven-public/ + + false + + + + + \ No newline at end of file diff --git a/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/XPlugin.java b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/XPlugin.java new file mode 100644 index 0000000..2bacc38 --- /dev/null +++ b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/XPlugin.java @@ -0,0 +1,14 @@ +package io.github.javpower.solon; + +import io.github.javpower.solon.entity.MilvusProperties; +import io.github.javpower.solon.service.MilvusInit; +import org.noear.solon.core.AppContext; +import org.noear.solon.core.Plugin; + +public class XPlugin implements Plugin { + + public void start(AppContext context) throws Throwable { + context.beanMake(MilvusProperties.class); + context.beanMake(MilvusInit.class); + } +} diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/entity/MilvusProperties.java b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/entity/MilvusProperties.java similarity index 62% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/entity/MilvusProperties.java rename to milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/entity/MilvusProperties.java index fdcbaf2..0ae92c8 100644 --- a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/entity/MilvusProperties.java +++ b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/entity/MilvusProperties.java @@ -1,9 +1,7 @@ package io.github.javpower.solon.entity; - - import lombok.Data; -import org.noear.solon.annotation.Component; +import org.noear.solon.annotation.Configuration; import org.noear.solon.annotation.Inject; import java.util.List; @@ -12,14 +10,11 @@ import java.util.List; * @author xgc **/ @Data -@Component +@Inject("${milvus}") //see https://solon.noear.org/article/326 +@Configuration public class MilvusProperties { - @Inject("${milvus.enable}") private boolean enable; - @Inject("${milvus.uri}") private String uri; - @Inject("${milvus.token}") private String token; - @Inject("${milvus.packages}") private List packages; } \ No newline at end of file diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/mapper/MilvusMapper.java b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/mapper/MilvusMapper.java similarity index 74% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/mapper/MilvusMapper.java rename to milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/mapper/MilvusMapper.java index 601dd2f..c90cf43 100644 --- a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/mapper/MilvusMapper.java +++ b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/mapper/MilvusMapper.java @@ -1,14 +1,12 @@ package io.github.javpower.solon.mapper; import io.github.javpower.milvus.plus.core.mapper.BaseMilvusMapper; -import io.github.javpower.solon.service.MilvusInit; import io.milvus.v2.client.MilvusClientV2; - +import org.noear.solon.Solon; public class MilvusMapper extends BaseMilvusMapper { - @Override public MilvusClientV2 getClient() { - return MilvusInit.client; + return Solon.context().getBean(MilvusClientV2.class); } } diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/service/MilvusInit.java b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/service/MilvusInit.java similarity index 54% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/service/MilvusInit.java rename to milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/service/MilvusInit.java index 895a36e..c69b342 100644 --- a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/service/MilvusInit.java +++ b/milvus-plus-solon-plugin/src/main/java/io/github/javpower/solon/service/MilvusInit.java @@ -3,38 +3,29 @@ package io.github.javpower.solon.service; import io.github.javpower.milvus.plus.service.AbstractMilvusClientBuilder; import io.github.javpower.solon.entity.MilvusProperties; import io.milvus.v2.client.MilvusClientV2; -import org.noear.solon.annotation.Component; -import org.noear.solon.annotation.Init; -import org.noear.solon.annotation.Inject; +import org.noear.solon.annotation.*; import org.noear.solon.core.bean.LifecycleBean; import org.springframework.beans.BeanUtils; -@Component +@Configuration public class MilvusInit extends AbstractMilvusClientBuilder implements LifecycleBean { - - public static MilvusClientV2 client; - @Inject - MilvusProperties milvusProperties; - - // Spring会调用这个方法来初始化client - @Init - public void initialize() { - io.github.javpower.milvus.plus.model.MilvusProperties milvusProperties1=new io.github.javpower.milvus.plus.model.MilvusProperties(); - BeanUtils.copyProperties(milvusProperties,milvusProperties1); + //see https://solon.noear.org/article/324 + @Bean + public MilvusClientV2 init(MilvusProperties milvusProperties) { + io.github.javpower.milvus.plus.model.MilvusProperties milvusProperties1 = new io.github.javpower.milvus.plus.model.MilvusProperties(); + BeanUtils.copyProperties(milvusProperties, milvusProperties1); super.setProperties(milvusProperties1); super.initialize(); - client = getClient(); + return getClient(); } - @Override + public void start() throws Throwable { } - @Override public void stop() throws Throwable { super.close(); - LifecycleBean.super.stop(); } } \ No newline at end of file diff --git a/milvus-plus-solon-plugin/src/main/resources/META-INF/solon/milvus-plus-solon-plugin.properties b/milvus-plus-solon-plugin/src/main/resources/META-INF/solon/milvus-plus-solon-plugin.properties new file mode 100644 index 0000000..eeac9c6 --- /dev/null +++ b/milvus-plus-solon-plugin/src/main/resources/META-INF/solon/milvus-plus-solon-plugin.properties @@ -0,0 +1,2 @@ +solon.plugin=io.github.javpower.solon.XPlugin +solon.plugin.priority=1 \ No newline at end of file diff --git a/milvus-plus-solon-starter/pom.xml b/milvus-solon-demo/pom.xml similarity index 81% rename from milvus-plus-solon-starter/pom.xml rename to milvus-solon-demo/pom.xml index e5bccc5..78eb833 100755 --- a/milvus-plus-solon-starter/pom.xml +++ b/milvus-solon-demo/pom.xml @@ -12,28 +12,29 @@ io.github.javpower - milvus-plus-solon-starter + milvus-solon-demo 1.0 jar - milvus-plus-solon-starter + milvus-solon-demo 1.8 + 2.7.6 io.github.javpower - milvus-plus-core + milvus-plus-solon-plugin 2.4.0-SNAPSHOT org.noear solon-web - + org.noear solon.logging.logback @@ -48,13 +49,6 @@ ${project.artifactId} - - - - org.noear - solon-maven-plugin - - diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/App.java b/milvus-solon-demo/src/main/java/io/github/javpower/solon/App.java similarity index 100% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/App.java rename to milvus-solon-demo/src/main/java/io/github/javpower/solon/App.java diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/DemoController.java b/milvus-solon-demo/src/main/java/io/github/javpower/solon/DemoController.java similarity index 100% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/DemoController.java rename to milvus-solon-demo/src/main/java/io/github/javpower/solon/DemoController.java diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/test/model/Face.java b/milvus-solon-demo/src/main/java/io/github/javpower/solon/test/model/Face.java similarity index 100% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/test/model/Face.java rename to milvus-solon-demo/src/main/java/io/github/javpower/solon/test/model/Face.java diff --git a/milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/test/test/FaceMilvusMapper.java b/milvus-solon-demo/src/main/java/io/github/javpower/solon/test/test/FaceMilvusMapper.java similarity index 100% rename from milvus-plus-solon-starter/src/main/java/io/github/javpower/solon/test/test/FaceMilvusMapper.java rename to milvus-solon-demo/src/main/java/io/github/javpower/solon/test/test/FaceMilvusMapper.java diff --git a/milvus-plus-solon-starter/src/main/resources/app.yml b/milvus-solon-demo/src/main/resources/app.yml similarity index 94% rename from milvus-plus-solon-starter/src/main/resources/app.yml rename to milvus-solon-demo/src/main/resources/app.yml index 33532f6..006a84e 100755 --- a/milvus-plus-solon-starter/src/main/resources/app.yml +++ b/milvus-solon-demo/src/main/resources/app.yml @@ -7,7 +7,7 @@ solon.app: milvus: uri: https://in03-a5357975ab80da7.api.gcp-us-west1.zillizcloud.com - token: xxx + token: xxxx enable: true packages: - io.github.javpower.solon.test.model \ No newline at end of file diff --git a/milvus-spring-demo/pom.xml b/milvus-spring-demo/pom.xml index 285fc9f..6d5dd1a 100644 --- a/milvus-spring-demo/pom.xml +++ b/milvus-spring-demo/pom.xml @@ -18,12 +18,6 @@ org.springframework.boot spring-boot-starter - - - org.springframework.boot - spring-boot-starter-test - test - io.github.javpower milvus-plus-boot-starter diff --git a/milvus-spring-demo/src/main/resources/application.yml b/milvus-spring-demo/src/main/resources/application.yml index 91c36a6..6fd19d7 100644 --- a/milvus-spring-demo/src/main/resources/application.yml +++ b/milvus-spring-demo/src/main/resources/application.yml @@ -3,7 +3,7 @@ server: milvus: uri: https://in03-a5357975ab80da7.api.gcp-us-west1.zillizcloud.com - token: 6fab5641a3156d2666feba14390e4ef4b6d376b5dce91faed303eec91a4bdb82239b70b29eb252b981daa3170516245818d4ee12 + token: xxx enable: true packages: - io.github.javpower.milvus.demo.model \ No newline at end of file diff --git a/pom.xml b/pom.xml index 4e679af..5c2ce13 100644 --- a/pom.xml +++ b/pom.xml @@ -12,8 +12,10 @@ milvus-core-demo milvus-spring-demo + milvus-solon-demo milvus-plus-boot-starter milvus-plus-core + milvus-plus-solon-plugin