Azure DocumentDB和Spring Boot冲突

约翰

在我的spring boot应用程序中,我client.getDatabaseAccount()在两个地方运行此简单代码

1)在main方法中。在春季启动“启动”之前,DocumentClient效果很好!!!

public static void main(String[] args) { 
// just to test if it can connect to cosmos db before spring boot starts 
DocumentClient client = new DocumentClient("URL","KEY", new ConnectionPolicy(), ConsistencyLevel.Session); 
// this runs great and connects to azure cosmos db. 
client.getDatabaseAccount();
SpringApplication.run(DemoApplication.class, args);
} 

2)在服务类中。client.getDatabaseAccount()调用以下方法(使用完全相同的代码)时,它将引发异常

@Service 
@Component 
public class TestService { 
public DocumentClient connectCosmos() throws Exception { 
DocumentClient client = new DocumentClient("URL","KEY", new ConnectionPolicy(), ConsistencyLevel.Session); 
// this throws an exception 
client.getDatabaseAccount(); 
}
}

错误:

Execution encountered exception: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, status code 403 sub status code null.

显然,证书没有问题,因为两个确切的代码段在同一个SpringBootApplication中运行


这是POM azure-documentdb

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-documentdb</artifactId>
    <version>2.4.7</version>
</dependency>

为什么会这样?我唯一的猜测是Spring Boot不喜欢azure-documentdb。如何azure-documentdb在Spring Boot中执行代码。我不想使用,Azure Document DB Spring Boot Starter因为我的Spring Boot后端数据库是别的东西,我只需要azure-documentdb获取少量数据。我不想Azure Document DB Spring Boot Starter将整个Spring Boot项目备份为ORM那么有可能azure-documentdb在Spring Boot项目中包含pom吗?

拉维·泰拉

约翰,我所做的事情与您尝试过的非常相似,并且对我没有任何问题。

    @Service  
    public class CosmosService {
        public  void connectCosmos() throws Exception {
            DocumentClient client = new DocumentClient("https://somename-cosmosdb.documents.azure.com:443/", "somepassword", new ConnectionPolicy(), ConsistencyLevel.Session);
            client.getDatabaseAccount();

            FeedOptions options = new FeedOptions();
            options.setEnableCrossPartitionQuery(true);
            List<Document> result = client
                    .queryDocuments(
                            "dbs/" + "samples" + "/colls/" + "orders",
                            "SELECT * FROM c",
                            options)
                    .getQueryIterable()
                    .toList();
            result.stream().forEach(System.out::println);
        }
}

应用类别

    @SpringBootApplication
    public class RatellaStackApplication implements CommandLineRunner {

        @Autowired
        CosmosService cosmosService;

        public static void main(String[] args) {
            SpringApplication.run(RatellaStackApplication.class, args);
        }

    @Override
    public void run(String... args) throws Exception {
        cosmosService.connectCosmos();
        System.exit(0);
    }
    }

相依性

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-documentdb</artifactId>
    <version>2.4.7</version>
</dependency>

从控制器调用service方法也可以。

    @RestController
    public class MyController {
        @Autowired
        CosmosService cosmosService;

        @GetMapping("/hello")
        public String hello() throws Exception {
            cosmosService.connectCosmos();
            return "OK";
        }
    }

链接到Rest API的源代码。为简单起见,我将所有内容都放在SpringBoot Application类中。https://gist.github.com/RaviTella/e544ef7b266ba425abead7f05193f717

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Boot和Apache Spark-容器冲突

来自分类Dev

Azure documentDB-ID冲突不会引发异常

来自分类Dev

在Azure表和documentdb之间选择

来自分类Dev

Azure DocumentDB和Azure Table Storage之间的主要区别

来自分类Dev

在 Azure DocumentDB / Azure CosmosDB 中选择字典的键和值

来自分类Dev

Spring Boot中带有Stomp的JAX RS和WebSockets冲突

来自分类Dev

无法使用Spring MongoTemplate在Azure DocumentDB中创建索引

来自分类Dev

Angular / Spring Boot / Azure Ingress - URL 重写

来自分类Dev

DocumentDB和Azure搜索:从documentDB中删除的文档不会在Azure搜索索引中更新

来自分类Dev

为什么 spring boot scanBasePackages 与 spring.jackson.date-format 冲突

来自分类Dev

从Azure DocumentDB导出数据

来自分类Dev

使用Spring Boot Jersey Starter部署为WAR进行部署时发生映射冲突

来自分类Dev

使用Spring Boot Jersey Starter部署为WAR进行部署时发生映射冲突

来自分类Dev

Spring MVC和Spring Security版本冲突

来自分类Dev

无法将Spring Boot应用程序部署到Azure

来自分类Dev

Azure Spring Boot应用程序洞察心跳遥测

来自分类Dev

Spring Boot YARN 覆盖配置,连接到 Azure

来自分类Dev

Microsoft Azure DocumentDB与Azure表存储

来自分类Dev

从Azure管道将Spring Boot Gradle应用程序部署到Azure App Service

来自分类Dev

Spring boot 可执行 jar 通过 Azure devops 部署到 Azure 应用服务

来自分类Dev

Spring Boot和AngularJS

来自分类Dev

Spring Boot和configureMessageConverters

来自分类Dev

Spring Boot和AngularJS

来自分类Dev

Rails + Big Sur + pg和Spring冲突?

来自分类Dev

Spring MVC和Backbone jQuery模板冲突

来自分类Dev

为什么对于Azure DocumentDB有两个键(主键和辅助键)?

来自分类Dev

.NET SDK中的Azure DocumentDB,CreateDocumentQuery不返回“ id”和“ _self”

来自分类Dev

Azure DocumentDB多租户架构

来自分类Dev

动态生成Azure DocumentDB的查询

Related 相关文章

  1. 1

    Spring Boot和Apache Spark-容器冲突

  2. 2

    Azure documentDB-ID冲突不会引发异常

  3. 3

    在Azure表和documentdb之间选择

  4. 4

    Azure DocumentDB和Azure Table Storage之间的主要区别

  5. 5

    在 Azure DocumentDB / Azure CosmosDB 中选择字典的键和值

  6. 6

    Spring Boot中带有Stomp的JAX RS和WebSockets冲突

  7. 7

    无法使用Spring MongoTemplate在Azure DocumentDB中创建索引

  8. 8

    Angular / Spring Boot / Azure Ingress - URL 重写

  9. 9

    DocumentDB和Azure搜索:从documentDB中删除的文档不会在Azure搜索索引中更新

  10. 10

    为什么 spring boot scanBasePackages 与 spring.jackson.date-format 冲突

  11. 11

    从Azure DocumentDB导出数据

  12. 12

    使用Spring Boot Jersey Starter部署为WAR进行部署时发生映射冲突

  13. 13

    使用Spring Boot Jersey Starter部署为WAR进行部署时发生映射冲突

  14. 14

    Spring MVC和Spring Security版本冲突

  15. 15

    无法将Spring Boot应用程序部署到Azure

  16. 16

    Azure Spring Boot应用程序洞察心跳遥测

  17. 17

    Spring Boot YARN 覆盖配置,连接到 Azure

  18. 18

    Microsoft Azure DocumentDB与Azure表存储

  19. 19

    从Azure管道将Spring Boot Gradle应用程序部署到Azure App Service

  20. 20

    Spring boot 可执行 jar 通过 Azure devops 部署到 Azure 应用服务

  21. 21

    Spring Boot和AngularJS

  22. 22

    Spring Boot和configureMessageConverters

  23. 23

    Spring Boot和AngularJS

  24. 24

    Rails + Big Sur + pg和Spring冲突?

  25. 25

    Spring MVC和Backbone jQuery模板冲突

  26. 26

    为什么对于Azure DocumentDB有两个键(主键和辅助键)?

  27. 27

    .NET SDK中的Azure DocumentDB,CreateDocumentQuery不返回“ id”和“ _self”

  28. 28

    Azure DocumentDB多租户架构

  29. 29

    动态生成Azure DocumentDB的查询

热门标签

归档