java - 项目正在寻找数据源,但我正在使用 MongoDB

标签 java spring mongodb spring-batch

描述:我正在使用 MongoDB,它一直要求提供数据源。我排除了以下内容:

  exclude=DataSourceAutoConfiguration.class,
  DataSourceTransactionManagerAutoConfiguration.class,
  HibernateJpaAutoConfiguration.class,
  JpaRepositoriesAutoConfiguration.class})

错误:

 Error starting ApplicationContext. To display the conditions report re-run 
 your application with 'debug' enabled.
 2018-10-29 11:03:25.968 ERROR 4676 --- [  restartedMain] 
 o.s.b.d.LoggingFailureAnalysisReporter   : 

描述:

***************************
APPLICATION FAILED TO START
***************************


Parameter 1 of method batchConfigurer in org.springframework.boot.autoconfigure.batch.BatchConfigurerConfiguration$JdbcBatchConfiguration required a bean of type 'javax.sql.DataSource' that could not be found.
- Bean method 'dataSource' not loaded because @ConditionalOnProperty (spring.datasource.jndi-name) did not find property 'jndi-name'
- Bean method 'dataSource' not loaded because @ConditionalOnClass did not find required class 'javax.transaction.TransactionManager'
Action:

Consider revisiting the entries above or defining a bean of type 'javax.sql.DataSource' in your configuration.

最佳答案

Spring Boot 旨在构建生产级应用程序。当它用于构建 Spring Batch 应用程序时,需要一个数据源来保存 Spring Batch 元数据(请参阅 BATCH-2704 )。

但您始终可以使用:

  • Spring Boot(H2、HSQL 或 Derby)支持的嵌入式数据源,只需将其添加到类路径即可。 Spring Batch 将自动获取此数据源
  • 或提供自定义 BatchConfigurer 并使用 MapJobRepository(请参阅 here)

希望这有帮助。

关于java - 项目正在寻找数据源,但我正在使用 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53049596/

相关文章:

java - 使用 Java 获取 Internet 文件并将其创建为 File 对象?

java - 随机数发生器

java - Spring反序列化带有额外列的manytomany表

c++ - 加载共享库时出错 : libbsoncxx. so._noabi:无法打开共享对象文件:没有这样的文件或目录

node.js - MongoDB 不在日期范围内

java - Google Guice 和 JPA 注入(inject) - 奇怪的错误

java - 将 Spring Boot jar 部署到 Azure,并使 Azure 重新启动

java - @Service 是否保证 Spring 中的唯一性?

node.js - 在 Node + Mongo 中强制执行单个 DB Writer

java - 基于 WEB 的应用程序与桌面集成 - 技术?