小编MoA*_*MoA的帖子

不写java代码,只用application.yml配置多个数据源是否适用

我有一个 Spring Boot 应用程序,它将与两个数据库(Cassandra 和 DB2)进行通信。我将在此应用程序中使用 spring 数据。是否适用于只在application.yml文件中配置数据源,而不需要编写java代码?如果是这样,我如何指定每种语言的方言?

注意:此应用程序使用 spring-data-cassandra 作为 cassandra 数据库,使用 spring-data-jpa 作为 db2 数据库。

例如:

spring:
  datasource:
    url: jdbc:db2://myRemoteHost:portNumber/MyDBName
    username: username
    password: password
    driver-class-name: com.ibm.db2.jcc.DB2Driver

  data:
    cassandra:
      cluster-name: cluster name
      keyspace-name: keyspace name
      port: myPortNumber
      contact-points: host1.com
      username: username
      password: password
Run Code Online (Sandbox Code Playgroud)

注意:此问题与Spring Boot 配置和使用两个数据源不同。我的问题是知道它是否适用于仅在 application.yml 文件中配置数据源而无需手动执行,而另一个问题解释了如何手动执行此操作。

java yaml spring-data spring-boot

7
推荐指数
1
解决办法
4596
查看次数

Spring 如何从返回 CompletableFuture 对象的端点获取结果?

在下面的代码中,当端点getPerson被命中时,响应将是一个 Person 类型的 JSON。Spring 如何转换CompletableFuture<Person>Person

@RestController
public class PersonController {

    @Autowired
    private PersonService personService;


    @GetMapping("/persons/{personId}" )
    public CompletableFuture<Person> getPerson(@PathVariable("personId") Integer personId) {

        return CompletableFuture.supplyAsync(() -> personService.getPerson(personId));
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc java-8 completable-future

6
推荐指数
1
解决办法
2113
查看次数

如何将已检查的异常从 CompletableFuture 传递给 ControllerAdvice

如何让 controllerAdvice 类捕获从 completablefutrue 抛出的异常。在下面的代码中,我有一个checkId抛出已检查异常的方法。我使用 completablefuture 调用此方法并将已检查的异常包装在 CompletionException 中。虽然我在控制器通知类中有一个处理程序方法,但它没有处理错误。

package com.example.demo.controller;
@RestController
public class HomeController {

    @GetMapping(path = "/check")
    public CompletableFuture<String> check(@RequestParam("id") int id) {
        return CompletableFuture.supplyAsync(() -> {
            try {
                return checkId(id);
            }
            catch (Exception e) {
                throw new CompletionException(e);
            }
        });
    }

    public String checkId(int id) throws Exception  {
        if (id < 0) {
            throw new MyException("Id must be greater than 0");
        }
        return "id is good";
    }

}
Run Code Online (Sandbox Code Playgroud)

——

package com.example.demo;
public class MyException extends …
Run Code Online (Sandbox Code Playgroud)

java spring java-8 completable-future controller-advice

5
推荐指数
1
解决办法
876
查看次数

OSError:无法读取上下文中的文件:\\?\C:\project\.gradle\6.6.1\executionHistory\executionHistory.lock

我有一个 Gradle 项目,我在这个项目中使用 docker。当我执行命令时gradlew integrationTestDocker,出现以下错误。 OSError: Can not read file in context: \\?\C:\project\.gradle\6.6.1\executionHistory\executionHistory.lock

windows gradle docker docker-compose

4
推荐指数
1
解决办法
1852
查看次数