小编jav*_*900的帖子

将对象类型作为参数传递给方法?

我有以下Person通过 Id 返回对象的方法:

   private Person getPersonById(String client) {

    Person output = null;
    EntityManager entityManager = null;

    try {
        entityManager = entityManagement.createEntityManager(client);
        output = entityManager.find(Person.class, id);

    } catch (Exception e) {
     
     // handle
    
    } finally {
        entityManagement.closeEntityManager(client, entityManager);
    }
    return output;
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使这个方法更加通用,以便我也可以传递其他对象类型, Place例如 Cost?请注意,它们不继承相同的超类。

例如,我应该将例如Person.class作为方法参数等传递吗?

java generics class predicate nhibernate-criteria

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

尝试从 spring boot docker 容器连接到 mongo docker 容器时验证 MongoCredential 时出错?

我有以下docker compose文件,用于Spring boot container连接到 a 的 a mongoDB container

#
# APIs
#----------------------------------------------
  pokerstats:
    image: pokerstats
    container_name: pokerstats
    ports:
      - 8080:8080
    depends_on: 
      - db

#
# Utilities
#----------------------------------------------
  db:
    image: mongo
    container_name: mongo
    volumes:
      - ./database:/data
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
      MONGO_INITDB_DATABASE: pokerStats  
Run Code Online (Sandbox Code Playgroud)

在我的春季靴子中,application.properties我有:

server.port=8080
spring.main.allow-bean-definition-overriding=true

spring.data.mongodb.uri=mongodb://admin:admin@mongo:27017/pokerStats
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.database=pokerStats
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 Postman 到达端点时,出现以下错误:

{
        "timestamp": "2020-04-07T17:39:19.129+0000",
        "status": 500,
        "error": "Internal Server Error",
        "message": "Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin', source='pokerStats', password=<hidden>, mechanismProperties=<hidden>}; nested …
Run Code Online (Sandbox Code Playgroud)

mongodb docker spring-boot docker-compose application.properties

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

docker:创建一个在 docker-compose 关闭后仍然保存的 mongodb 卷?

我有以下docker-compose.yml文件:

version: "3"

services:
  pokerstats:
    image: pokerstats
    container_name: pokerstats
    ports:
      - 8080:8080
    depends_on: 
      - db
  db:
    image: mongo
    container_name: mongo
    volumes:
      - ./database:/data
    ports:
      - "27018:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
      MONGO_INITDB_DATABASE: pokerstats
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我运行docker-compose downmongo 数据库中的所有数据都会丢失。

如何创建即使 mongo 容器出现故障也能持续存在的 mongo 卷?

persistence mongodb docker docker-compose docker-volume

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

MongoDB 和 Spring Boot - 更新文档的最佳方式?

Java POJO我的 Spring Boot 应用程序中有以下内容:

    public class Round {

        private ObjectId _id;

        @NotEmpty
        @Getter
        @Setter
        @Accessors(fluent = true)
        @JsonProperty("userId")
        private String userId;

        @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy")
        @JsonDeserialize(using = LocalDateDeserializer.class)
        @JsonSerialize(using = LocalDateSerializer.class)
        @Getter
        @Setter
        @Accessors(fluent = true)
        @JsonProperty("date")
        private LocalDate date;

        @Min(value = 1, message = "Score should not be less than 1")
        @Getter
        @Setter
        @Accessors(fluent = true)
        @JsonProperty("score")
        private int score;

        // rest of fields

}
Run Code Online (Sandbox Code Playgroud)

我有以下内容MongoRepository

@Repository
public interface RoundRepository extends MongoRepository<Round, String> …
Run Code Online (Sandbox Code Playgroud)

java repository mongodb spring-mongodb spring-repositories

2
推荐指数
2
解决办法
3万
查看次数

DateTimeFormatter - java.lang.IllegalArgumentException:模式字母太多:a

我的代码中有以下行java,我试图格式化日期字符串

 ZonedDateTime zonedDateTime= ZonedDateTime.ofInstant(instant, tz);
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm aa");

 return zonedDateTime.format(formatter);
Run Code Online (Sandbox Code Playgroud)

在第 2 行,我收到此错误:

java.lang.IllegalArgumentException: Too many pattern letters: a
at java.time.format.DateTimeFormatterBuilder.parseField(DateTimeFormatterBuilder.java:1774)
Run Code Online (Sandbox Code Playgroud)

我如何创建一个格式字符串,DateTimeFormatter.ofPattern例如:

2023-04-21 7.00pm
Run Code Online (Sandbox Code Playgroud)

java date-format java-time zoneddatetime datetimeformatter

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

从本地机器上的 Mongo Compass 连接到 Mongo Docker 容器?

我有以下docker compose文件,用于启动mongo按预期工作的docker 容器。

但是,我似乎无法从compass本地计算机连接到容器。

docker inspect在我的 mongo 容器上执行并得到它IP并尝试使用指南针连接,但它没有用 - 连接超时。

它是我的 docker 网络的 IP 还是我需要的 mongo 容器的 IP?

码头工人撰写文件:

version: "3"
services:
  pokerStats:
    image: pokerStats
    container_name: pokerStats
    ports:
      - 8080:8080
    depends_on: 
      - db
  db:
    image: mongo
    container_name: mongo
    volumes:
      - ./database:/data
    ports:
      - "27017:27017"
Run Code Online (Sandbox Code Playgroud)

ip mongodb docker docker-compose mongodb-compass

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

Docker-compose 和 mongoDB:无法在任何兼容版本下启动 WiredTiger?

我有以下docker-compose文件:

version: "3"

services:

    #
    # APIs
    #----------------------------------------------
       pokerstats:
        image: pokerstats
        container_name: pokerstats
        ports:
          - 8080:8080
        depends_on: 
          - db

    #
    # Utilities
    #----------------------------------------------
      db:
        image: mongo
        container_name: mongo
        volumes:
          - ./data/db:/data/db
        ports:
          - "27018:27017"
        environment:
          MONGO_INITDB_ROOT_USERNAME: admin
          MONGO_INITDB_ROOT_PASSWORD: admin
          MONGO_INITDB_DATABASE: pokerStats
Run Code Online (Sandbox Code Playgroud)

在我添加volumes. 但是当我运行时不是:docker-compose up -dmongo 容器立即停止,在日志中我看到错误:

2020-04-10T19:17:17.313+0000 I  STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1457M,cache_overflow=(file_max=0M),session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress],
2020-04-10T19:17:17.772+0000 E  STORAGE  [initandlisten] WiredTiger error (1) [1586546237:772524][29:0x7fe9f284fb00], connection: __posix_open_file, 667: /data/db/WiredTiger.wt: handle-open: open: Operation not permitted Raw: [1586546237:772524][29:0x7fe9f284fb00], connection: __posix_open_file, …
Run Code Online (Sandbox Code Playgroud)

mongodb docker wiredtiger docker-compose docker-volume

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

Spring项目-不可解析的导入POM:找不到io.micrometer:micrometer-bom:pom:2.0.0-M3?

当我尝试mvn clean install这个 spring 项目上时,出现以下错误:

[ERROR] Non-resolvable import POM: Could not find artifact io.micrometer:micrometer-bom:pom:2.0.0-M3 in spring-snapshots (https://repo.spring.io/snapshot) @ org.springframework.boot:spring-boot-dependencies:3.0.0-M2, C:\Users\abc
\.m2\repository\org\springframework\boot\spring-boot-dependencies\3.0.0-M2\spring-boot-dependencies-3.0.0-M2.pom, line 2273, column 19
Run Code Online (Sandbox Code Playgroud)

我在我的文件夹中使用这个基本设置文件.m2

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  
  <pluginGroups>
  </pluginGroups>

  <proxies>
  </proxies>

  <servers>
  </servers>

  <mirrors>
  </mirrors>
  
  <profiles>
  </profiles>

</settings>
Run Code Online (Sandbox Code Playgroud)

一些依赖项下载正常(见下文),但似乎micrometer导致了问题。

Downloading from spring-snapshots: https://repo.spring.io/snapshot/org/springframework/session/spring-session-bom/2022.0.0-M1/spring-session-bom-2022.0.0-M1.pom
Downloading from spring-milestones: https://repo.spring.io/milestone/org/springframework/session/spring-session-bom/2022.0.0-M1/spring-session-bom-2022.0.0-M1.pom
Downloaded from spring-milestones: https://repo.spring.io/milestone/org/springframework/session/spring-session-bom/2022.0.0-M1/spring-session-bom-2022.0.0-M1.pom (2.8 kB at 5.2 kB/s)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

java spring maven spring-boot micrometer

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

将两个 for 循环转换为 Java Stream?

我有以下嵌套的 for 循环,我想转换为使用流,因为我目前正在学习使用流,我该怎么做?

我在下面添加了我当前的尝试,但目前尚不完整。

Part part = getPart();
List<Machines> machines = new ArrayList<>();
List<String> identities = getMachineIdentities();
Set<MachinePart> machineParts = new HashSet<>();

    //create machines
    for (String identity : identities) {
               Machine machine = getMachine(identity);
               machines.add(machine);
           }

    //map to MachineParts
    for (Machine machines : machines) {
               MachinePart machinePart = MachinePartCreator.new(machines, part);
               machineParts.add(machinePart);
           }
Run Code Online (Sandbox Code Playgroud)

流尝试:

Set<MachinePart > machineParts = identities.stream()
    .map(identity-> ??? ).collectors.collect(Collectors.toSet()));
Run Code Online (Sandbox Code Playgroud)

java collections for-loop stream collectors

0
推荐指数
1
解决办法
57
查看次数

无法使用 Postman - AcessDenied 将消息添加到 AWS SQS?

SQS我正在尝试向我的using添加一条消息Postman

当我尝试以下操作时Postman

GET    https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo?Action=SendMessage&MessageBody={"message":"test1}
Run Code Online (Sandbox Code Playgroud)

我得到:

<?xml version="1.0"?>
<ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
    <Error>
        <Type>Sender</Type>
        <Code>AccessDenied</Code>
        <Message>Access to the resource https://sqs.us-east-1.amazonaws.com/205115639995/myQueue.fifo is denied.</Message>
        <Detail/>
    </Error>
    <RequestId>80ddb4e8-5eff-5143-adf6-e39d5cb46aa2</RequestId>
</ErrorResponse>
Run Code Online (Sandbox Code Playgroud)

我已将其AWS ACCESS and SECRET keys保存在环境变量中,并且它们是正确的。

这里可能有什么问题?我需要将我的添加KEYS到请求中吗?

get http amazon-sqs amazon-web-services postman

0
推荐指数
1
解决办法
3196
查看次数

Sonarlint 和 Intelij:可以仅对更改列表中的文件运行分析吗?

我目前正在sonarlint本地运行插件,Intelij效果很好。

我只想为更改列表中的文件运行该插件- 在推送它们并创建拉取请求之前。

有没有办法做到这一点?

java git intellij-idea sonarqube sonarlint

0
推荐指数
1
解决办法
1951
查看次数