当前位置: 首页 > 知识库问答 >
问题:

Spring Boot+批处理多模块项目

巫马修为
2023-03-14

我正在建立一个多模块的项目与Spring引导和批处理。

当前的目录结构为:

  • 核心
  • 网站
  • 批处理

核心包含领域对象、存储库、服务。

web和批处理各自有自己的上下文,并用@SpringBootApplication注释,我在执行时使用start-class属性进行配置,例如-dstart-class=com.company.web.webApplication

问题出现在包含核心类时,由于缺少存储库的bean定义,两个应用程序都不会启动,所以听起来组件扫描对核心模块不起作用。

我已经尝试了@SpringBootApplication(ScanBasePackageClasses...@ComponentScan(BasePackageClasses...),但没有成功。

有什么想法,我错过了什么,或者有没有更好的方法来构建这个?

共有1个答案

微生曾琪
2023-03-14

我和你有相似的结构,一切都很好。我可以假设您可能会遇到以下问题--工件的打包:它们不包含核心jar库的依赖关系。

dependencies {
    compile project(':core')
}

你能检查一下你的包装文物吗?它们是否包含核心库?

 类似资料:
  • 我有一个基本的SpringBoot应用程序。使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎,并将包作为可执行的JAR文件。是一个带有Spring Boot的多模块项目,该项目将有3个模块。这里是父模块pom。xml 这里是模块核心 这里是模块web: 从父根目录,我使用以下方法生成所有模块: 但问题是tdk-web-0.0.2-SNAPSHOT。jar不包含tdk-c

  • 父项目为demo-mybatis子模块为mybatis-dao、demo-service。demo-mybatis pom.xml如下: 4.0.0 pom mybatis-DAO Demo-service Demo-mybatis-app org.springframework.Boot spring-boot-starter-parent 2.3.2.release com.example D

  • 我有一个带有myapp-core和myapp-web模块的myapp父pom类型maven项目。myapp-core模块作为依赖项添加到MyApp-Web。 myapp-core模块中的所有类都位于根包com.myapp.core中,而myapp-web模块中的所有类都位于根包com.myapp.web中 主要的application.java也在com.myapp.web包中。由于我的核心模块根

  • 本文档描述了什么是多路处理模块以及它如何为Apache所使用。 简介 Apache HTTP服务器被设计为一个强大的、灵活的能够在多种平台以及不同环境下工作的服务器。不同的平台和不同的环境经常产生不同的需求,或是为了达到同样的最佳效果而采用不同的方法。Apache凭借它的模块化设计很好的适应了大量不同的环境。这一设计使得网站管理员能够在编译时和运行时凭借载入不同的模块来决定服务器的不同附加功能。

  • 我正在尝试实现一个Spring批处理作业,为了处理记录,它需要2-3个db调用,这会减慢记录的处理速度(大小为100万)。如果我使用基于块的处理,它会单独处理每条记录,性能会很慢。因此,我需要一次性处理1000条记录,作为批量处理,这将减少数据库调用,并提高性能。但我的问题是,如果我实现Tasklet,那么我也会失去可重启性和重试/跳过功能,如果使用AggregateInputReader实现,我

  • 我们使用Spring Batch进行一些处理,通过Reader读取一些ID,我们希望通过处理器将它们处理为“块”,然后写入多个文件。但是处理器接口一次只允许处理一个项目,我们需要进行批量处理,因为处理器依赖于第三方,不能为每个项目调用服务。 我看到我们可以为“块”中涉及的所有读取器-处理器-写入器创建包装器,以处理列表<>并委托给一些具体的读取器/处理器/写入器。但这对我来说并不是件好事。像这样: