小编sam*_*ers的帖子

Docker将日志保存在哪里?

Docker 似乎允许通过 /etc/docker/daemon.json 或运行容器时的选项来指定任何选择的日志驱动程序。此外,它也允许指定驱动程序选项,但是否可以提及日志本身存储的位置。或者至少我可以知道 docker 保存日志的位置,即使该位置不可自定义。

参考:例如考虑默认驱动程序 - JSON 文件日志记录驱动程序

需要考虑的环境: Ubuntu/CentOS/Windows 等...但正在寻找通用解决方案。

logging docker ubuntu-18.04

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

使用 spring-data-jpa 和 hibernate 作为 jpa 提供程序时的对象/实体生命周期?

当使用 spring-data-jpa 和 hibernate 作为 jpa 提供者时,对象/实体生命周期与直接使用 hibernate 或由 hibernate 定义(或者可能是 jpa 规范本身)时相同。

Hibernate 将这些生命周期定义为实体 - Transient, Persistent, Detached, Removed。使用 spring-data-jpa 时这些相同的生命周期也适用吗?如果是这样,下面 Hibernate 提供的方法如何与 spring jpa crud 存储库的方法进行映射。

//below methods in hibernate move an entity to persistent state
save(e), 
persist(e);  
update(e);  
saveOrUpdate(e);  
lock(e);  
merge(e);  
Run Code Online (Sandbox Code Playgroud)

//below methods in hibernate move an entity to detached state
detach(e);  
evict(e);  
Run Code Online (Sandbox Code Playgroud)

hibernate jpa spring-data-jpa spring-boot

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

在 JUnit 测试类中使用 @Autowired 会抛出 NullPointerException?

我正在使用自动装配 (@Autowired) 在 JUnit 测试类中注入依赖项,但面临 NullPointerException。我想知道 JUnit 测试类中是否可以进行自动装配。否则应该如何将bean注入到测试类中。我的代码如下 -

主类/客户端- 自动装配按预期工作。

package com.example.demo;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import com.example.demo.services.IMessage;
import com.example.demo.services.SayWelcomeService;
@SpringBootApplication
@ComponentScan("com.example.demo.services")
public class AutowireWithMultipleImplementationsApplication {
    @Autowired
    IMessage sayHelloService;

    @Autowired
    SayWelcomeService sayWelcome;

    @Autowired
    IMessage masterService;

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

    @PostConstruct
    public void init() {
        String message;
        message=masterService.message("George");
        System.out.println("message: \n" + message); 

        message=sayWelcome.message("george");
        System.out.println("message: " + message);      
    }
}
Run Code Online (Sandbox Code Playgroud)

服务接口和实现类
接口IMessage

package com.example.demo.services;
public interface IMessage { …
Run Code Online (Sandbox Code Playgroud)

junit spring dependency-injection inversion-of-control autowired

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

git:tilda(〜)和脱字符号(^)有什么区别

以下是show-rev的git输出

$ git name-rev  --all

2651919f941c11581c794b40aadb2028c4f52ab4 joincolumn_issue
2617f2a1410ce0ec8ea268bbb073008b73490e78 master~2
292def505dd3cdbfd9ac974396775683b5f4c288 ls
0ec9116840a3f21c0b800617c29b7ddab5fda928 joincolumn_issue~2
ee9bb706c8fcc329fac4acf69ad6b684f1069170 master~1
d56a6751771b1f62d9ceb0bcce9a2391c004ee44 master^2
3d80a12ed375c6a9572cde39b5be0722c8cb6439 joincolumn_issue~1
df1834dbe560c2c95c8abaeec494eb1767b96a1e master
Run Code Online (Sandbox Code Playgroud)

如您所见,带有master^2和的master~2行, 因此,想知道这两者之间有什么区别,并且输出也不按时间顺序排列。

进一步的git图显示如下

$ git log --all --oneline --graph

* 2651919 (origin/joincolumn_issue, joincolumn_issue) changing to @JoinColumn(name="country_nm")
* 3d80a12 hibernate ignoring joinColumn value
* 0ec9116 changing name in joinColumn is breaking
| * 292def5 (origin/mappedBy, mappedBy, ls) OneToMany using mappedBy
|/
*   df1834d (HEAD -> master, origin/master) Merge branch 'master' of https://github.com/samshers/graphql-hibernate
|\
| * d56a675 …
Run Code Online (Sandbox Code Playgroud)

git git-log git-history-graph

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

如何在调用构造函数之前获取注入的 spring @Value 注解值?

在 Spring 中,有一种方法可以在构造函数调用之前将 application.properties 中定义的属性连接到用 @Value 注释的相应字段。

请参阅下面的代码中我的评论。我希望该字段prop1(及其值)可供 constructor . 是否可以。同样,我希望该字段prop1(及其值)可供该方法使用getInstanceProp()。是否可以??

package com.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class WirableComponent {
  
  @Value("${prop1}")
  String prop1;
  
  String instanceProp = getInstanceProp(); //null - I want prop1 value to be injected before making this method call so i can use it in the method.
  
  public WirableComponent() {
    System.err.println("no-args WirableComponent Constructor invoked");
    System.err.println("value prop1: " + prop1); //null - I want prop1 value to be injected before …
Run Code Online (Sandbox Code Playgroud)

spring autowired spring-boot

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

为什么这个正则表达式“.*”与“abcd 1234 abcd”匹配会给出两个匹配项?

.*为什么在字符串上使用正则表达式时会得到两个匹配项abcd 1234 abcd?请参阅https://regex101.com/r/rV8jfz/1

从regex101给出的解释中,我可以看到第二个匹配发生在位置14-14,并且匹配的值为null。但为什么还要进行第二场比赛呢?有什么办法可以避免第二场比赛吗?

我理解.*意味着任何字符的零个或多个,所以它试图找到零出现的次数。但我不明白为什么需要这个空匹配。
问题是,当在任何语言(例如Java)中使用时,当我这样做时while(matcher.find()) { ... },这会循环两次,而我希望它只循环一次。

我知道这不可能是现实世界的匹配情况,但为了理解和探索正则表达式,我认为这是一个很好的研究案例。

编辑 - 遵循@terdon 回复。我确实喜欢在 regex101 中保留 /g 选项,我知道这一点。我想知道总共可能的比赛。
https://regex101.com/r/EvOoAr/1 ->abcd针对字符串的模式abcd 1234 abcd给出了两个匹配项。而且我不想知道这些信息。

我发现的问题是,当用 java -
Ref - https://onecompiler.com/java/3xnax494k这样的语言处理这个问题时

  String str = "abcd 1234 abcd";
  Pattern p = Pattern.compile(".*");
  Matcher matcher = p.matcher(str);
  int matchCount=0;
  while(matcher.find()) {
    matchCount++;
    System.out.println("match number: " + matchCount);
    System.out.println("matcher.groupCount(): " + matcher.groupCount());
    System.out.println("matcher.group(): " + matcher.group());
  }
Run Code Online (Sandbox Code Playgroud)

输出是 -

match number: 1
matcher.groupCount(): …
Run Code Online (Sandbox Code Playgroud)

java regex

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

在hadoop HDFS中存储大文件?

我需要在HDFS上存储大约10TB的大文件.我需要了解的是HDFS将如何存储此文件.比如,群集的复制因子是3,我有一个10节点群集,每个节点上有超过10 TB的磁盘空间,即总群集容量超过100TB.

现在,HDFS随机选择三个节点并将文件存储在这三个节点上.那么这就像听起来一样简单.请确认?

或者HDFS将文件分割 - 比如说每个10T分割1TB,然后将每个分割存储在随机选择的3个节点上.分裂是可能的,如果是,则是启用它的配置方面.如果HDFS必须拆分二进制文件或文本文件 - 它是如何拆分的.只需按字节.

java hadoop mapreduce bigdata hdfs

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

spring security 如何维护请求之间的认证信息?

spring security 如何在请求之间维护身份验证信息?

它使用任何类似于 jSessionId 的东西还是使用完全不同的机制。

此外,我看到AbstractSecurityInterceptor(我的意思是,它的任何实现)负责拦截传入的请求并验证请求是否已被授权使用Authentication.isAuthenticated(),然后根据条件验证请求或将身份验证请求发送到 AuthenticationManager执行。那么,换句话说,AbstractSecurityInterceptor 如何区分第一个请求和后续请求。

spring spring-security jsessionid spring-boot spring-session

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

docker images 与 openshift imagestreams 有什么区别?

有人可以解释什么是 openshift imagestream以及它与常规 docker 镜像有何不同。

我已经阅读了这个(了解容器、图像和图像流)文档,但它没有解释太多有关图像流的信息。

我知道docker镜像是创建容器的蓝图。只是想知道图像流是什么?

openshift docker kubernetes imagestream

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

Spring Boot Maven 构建不包括最终 jar 中的工件版本

在使用 构建我的 Spring Boot 应用程序时mvn clean package,正在构建的最终工件 myapp.jar 的 jar 名称中没有包含版本号。
我应该做什么改变才能使工件版本号成为 jar 的一部分。
pom.xml 的相关部分如下 -

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycomp</groupId>
    <artifactId>myapp</artifactId>
    <version>2.6.0</version>

    <name>myapp</name>
    <description>
        <![CDATA[]]>
    </description>

    <packaging>jar</packaging>

    <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <springboot.version>2.5.6</springboot.version>

    </properties>

    <dependencies>

        <!-- Spring boot -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>${springboot.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.3.12</version>
        </dependency>
        ...
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-artifact</artifactId>
            <version>3.6.3</version>
        </dependency>

    </dependencies>

    <build>

        <finalName>gitlab-finder</finalName>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.1.2</version> …
Run Code Online (Sandbox Code Playgroud)

java jar maven spring-boot

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

sqoop导入/导出是否创建了java类?如果它这样做,这些类的位置是什么?

sqoop导入/导出是否创建了java类?如果它这样做,我在哪里可以看到这些生成的类.这些类文件的位置是什么?

hadoop cglib sqoop

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