小编Mat*_*ley的帖子

如何组合List <Predicate <MyClass >>中的所有谓词

我有一个问题,我相信你帮我解决了皱纹问题.

我有

List<Predicate<TaskFx>> predicates
Run Code Online (Sandbox Code Playgroud)

我想在这里使用这些谓词

taskFxList.stream().filter(predicates).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

作为一个谓词合并如下:

predicate1.and(predicate2).and...
Run Code Online (Sandbox Code Playgroud)

我有一个表(13列),其中包含一些结果(在JavaFx中)和6个字段,可以通过这些字段中的值在此表中搜索.我只能输入3个字段的值,所以我的

predicates.size() = 3;
Run Code Online (Sandbox Code Playgroud)

问题是如何最好地动态准备一个

Predicate<TaskFx> predicate
Run Code Online (Sandbox Code Playgroud)

包含由x.and(y).和(z)合并的所有谓词

非常感谢您的帮助!

java predicate java-8 java-stream

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

Spring Boot 应用程序中的错误 - 无法映射重复的端点操作:[MBean call 'topology'] to topologyEndpoint

当我尝试启动 Spring Boot 服务时,出现错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jmxMBeanExporter' defined in class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.actuate.endpoint.jmx.JmxEndpointExporter]: Factory method 'jmxMBeanExporter' threw exception; nested exception is java.lang.IllegalStateException: Unable to map duplicate endpoint operations: [MBean call 'topology'] to topologyEndpoint
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:882)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
    at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66)
    at …
Run Code Online (Sandbox Code Playgroud)

spring-boot openapi openapi-generator

6
推荐指数
2
解决办法
2001
查看次数

Mapstruct - 没有合格的 bean 类型

我尝试自动装配我的映射结构映射器:

@Mapper(uses = {
                A.class,
                B.class,
                C.class
        })
public interface WindowDtoMapper {

    WindowDtoMapper INSTANCE = Mappers.getMapper(WindowDtoMapper.class);
    DetailedDto mapToDetailedDto(Window window);
    ReadDto mapToReadDto(Window window);
}
Run Code Online (Sandbox Code Playgroud)

这有效:

return WindowDtoMapper.INSTANCE.mapToDetailedDto(window)
Run Code Online (Sandbox Code Playgroud)

但为什么我不能使用:

@RequiredArgsConstructor
public class AAA(){
private final WindowDtoMapper windowDtoMapper;


windowDtoMapper.mapToDetailedDto(window)
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

引起原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的“pl.comp.window.application.mapper.WindowDtoMapper”类型的合格 bean:预计至少有 1 个符合自动装配候选资格的 bean。依赖注释:{} 位于 org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1717) 位于 org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1273)

也许我应该继续使用第一个可行的解决方案?这是不好的解决方案吗?

java spring spring-boot mapstruct

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

为什么 Sleuth 不能在我的 Spring Boot 服务中使用 Log4j2

我有一个问题 - 为什么 Sleuth 不能与 Log4j2 一起使用?我已排除默认日志记录库并添加 Log4j2 以使用 application.properties filr 中的一些其他功能”

logging.file=myservice.log
logging.file.max-size= 500MB
logging.file.max-history=14
logging.level.pl.utlimo.*=INFO
Run Code Online (Sandbox Code Playgroud)

我的pom:

   <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope> …
Run Code Online (Sandbox Code Playgroud)

log4j2 spring-boot spring-cloud-sleuth

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

Hamcrest-Matchers.hasProperty:如何检查对象列表是否包含具有具体值的对象

Hamcrest遇到以下问题:我有一个员工列表

List<Employee> employees = hamcrest.getEmployees();
Run Code Online (Sandbox Code Playgroud)

哪里:

public class Employee {

    private String name;
    private int age;
    private double salary;

    public Employee(String name, int age, double salary) {
        super();
        this.name = name;
        this.age = age;
        this.salary = salary;
    }
Run Code Online (Sandbox Code Playgroud)

和:

public List<Employee> getEmployees() {
        Employee e1 = new Employee("Adam", 39, 18000);
        Employee e2 = new Employee("Jola", 26, 8000);
        Employee e3 = new Employee("Kamil", 64, 7700);
        Employee e4 = new Employee("Mateusz", 27, 37000);
        Employee e5 = new Employee("Joanna", 31, 12700);
        Employee e6 …
Run Code Online (Sandbox Code Playgroud)

junit hamcrest matcher

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

Intellij + Bitbucket 中的微服务 + 项目

我想向您询问一下IntelliJ中的项目结构。我想创建我的第一个基于微服务架构的 Web 应用程序。

我希望将IntelliJ中一个项目中的所有微服务视为子模块。我的问题是,我是否应该将每个微服务提交到BitBucket中的单独存储库中,或者将所有微服务提交到一个存储库中?最好的做法是什么?

谢谢你,马修

java repository bitbucket intellij-idea microservices

3
推荐指数
1
解决办法
1502
查看次数

Java 8 Streams - 如何将列表中具有相同字段的元素合并到一个元素并求和

我有一个问题 - 我有元素 A 列表:

class A {
String fieldA;
int fieldB
}
Run Code Online (Sandbox Code Playgroud)

我想将具有相同 fieldA 的所有元素合并到一个元素,并以这种方式汇总 fieldB 中的所有值:

el1 = AAA 5
el2 = AAA 7
el3 = AAA 2
Run Code Online (Sandbox Code Playgroud)

结果:

one element: AAA 14
Run Code Online (Sandbox Code Playgroud)

如何使用 Java 8 Streams 来做到这一点?

所以最后我的列表的元素必须比开始时少。我必须找到具有相同 fieldA 的所有元素,并将它们合并到具有求和 fieldB 的一个元素。

谢谢你!

java java-8 java-stream

3
推荐指数
1
解决办法
7311
查看次数

Spring Data JPA 通过嵌套对象 id 查找(嵌套两次)

是否可以?

我想使用 JPARepository 获取具有特定 CCC.incidentAssessmentResultId id 的所有 AAA 对象。是否可以?

   @Entity
    @Table(schema = "aaa", name = "table")
    public class AAA {

        @Column(name = "kryterium")
        private String criterion;

        @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
        @JoinColumn(name = "id_kryterium_naruszen")
        private List<BBB> violationFactors;

    }

    public class BBB {

        @Column(name = "czynnik")
        private String factor;

        @Column(name = "stopien")
        private float degree;

        @JsonManagedReference
        @OneToOne(mappedBy = "violationFactor")
        private CCC incidentAssessmentFactor;
}

public class CCC {

    @Column(name="komentarz")
    private String comment;

    @Column(name="ocena_naruszenia_wynik_id", updatable=false, insertable=false)
    private Long incidentAssessmentResultId; …
Run Code Online (Sandbox Code Playgroud)

spring hibernate jpa spring-data-jpa

3
推荐指数
1
解决办法
8299
查看次数

如何开始使用 Docker、Dockerfile 和 Docker Compose?

将 Dockerfile 与 docker-compose.yml 结合使用的最佳实践是什么?以及如何使用 Jenkins 进行 CI/CD?

我有 2 个微服务和一个 Postgres 数据库。我创建 docker-compose.yml 文件:

version: '3.1'
services:
  myflashcards-service-dictionary:
    image: myflashcards-service-dictionary
  db:
    image: postgres
    restart: always
    ports:
      - 5434:5432
Run Code Online (Sandbox Code Playgroud)

问题是“image:”部分要写什么?我应该先跑吗 mvn clean install -DskipTests dockerfile:build?但是图像名称呢?

我想知道如何自动化整个 CI/CD。

我有 Dockerfile:

FROM openjdk:8-jdk-alpine

ADD target/myflashcards-service-dictionary.jar myflashcards-service-dictionary.jar

ENTRYPOINT exec java -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=$profile -jar /myflashcards-service-dictionary.jar

EXPOSE 8092
Run Code Online (Sandbox Code Playgroud)

我还有 docker-compose.yml 但 docker-compose.yml 如何知道应该使用哪个图像?

您能否简要概述一下如何将我的微服务应用程序部署到服务器的主要流程?

如何使用 Dockerfile 和 docker-compose?什么时候需要这些文件?我们是否只需要 Dockerfile 来在 Docker Hub 中创建镜像?

docker dockerfile docker-compose

3
推荐指数
1
解决办法
8137
查看次数

Spring WebFlux - 如何从数据库获取数据以供下一步使用

我使用 Spring WebFlux(Project Reactor),但面临以下问题:我必须从 db 获取一些数据才能使用它们来调用另一项服务 - 一个流中的所有内容。怎么做?

public Mono<MyObj> saveObj(Mono<MyObj> obj) {
    return obj
        .flatMap(
            ob->
                Mono.zip(
                        repo1.save(
                          ...),
                        repo2
                            .saveAll(...)
                            .collectList(),
                        repo3
                            .saveAll(...)
                            .collectList())
                    .map(this::createSpecificObject))
        .doOnNext(item-> createObjAndCallAnotherService(item));
  }



private void createObjAndCallAnotherService(Prot prot){
myRepository
        .findById(
            prot.getDomCred().stream()
                .filter(Objects::nonNull)
                .findFirst()
                .map(ConfDomCred::getCredId)
                .orElse(UUID.fromString("00000000-0000-0000-0000-000000000000")))
        .doOnNext( //one value is returned from myRepository -> Flux<MyObjectWithNeededData>
            confCred-> {//from this point the code is unreachable!!! - why????
              Optional<ConfDomCred> confDomCred=
                  prot.getDomCreds().stream().filter(Objects::nonNull).findFirst();

              confDomCred.ifPresent(
                  domCred -> {
                    ProtComDto com=
                        ProtComDto.builder()
                            .userName(confCred.getUsername())
                            .password(confCred.getPassword())                          
                            .build();
                    clientApiToAnotherService.callEndpintInAnotherService(com); //this is a client like Feign …
Run Code Online (Sandbox Code Playgroud)

java reactive-programming project-reactor spring-webflux

2
推荐指数
1
解决办法
1529
查看次数