小编Spa*_*vić的帖子

webEnvironment = RANDOM_PORT 和 webEnvironment = MOCK 的区别

我写了 spring boot 集成测试,它正在工作。这是测试配置:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = RANDOM_PORT)
@AutoConfigureMockMvc
@Transactional
public class SomeTest {
   @Autowired
   private MockMvc mvc;

   @Test
   public void insertEventTest(){
      ...testing something...
   }

}
Run Code Online (Sandbox Code Playgroud)

我知道在设置webEnvironment = RANDOM_PORTspring 时将初始化嵌入式 Web 服务器并针对该 Web 服务器运行此测试。我在运行此测试时查看了日志,发现嵌入式TomcatWebServer已启动。初始化 Tomcat 大约需要 6 秒,但在日志的这两个部分之间,很少有其他 bean 被初始化,所以我很确定初始化 Tomcat 不是 6 秒,而是不到 6 秒。日志的一部分:

2019-10-13 16:03:20.065  INFO 8596 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 0 (http)
2019-10-13 16:03:20.098  INFO 8596 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-10-13 16:03:20.098  INFO …
Run Code Online (Sandbox Code Playgroud)

java testing spring-boot-test

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

bittorrent 跟踪器如何工作?

我看了官方documetation这里大约BitTorrent客户端和维基百科的文章在这里,但怎么也找不到准确地跟踪工作。根据我的理解,跟踪器应该知道哪个对等点拥有某个文件的哪个部分。例如,客户端 1 有 5 个文件 1 和 10 个文件 2。在官方文档中,我看到跟踪器有像这样的字段peer_id ip port uploaded downloaded leftevent但我没有看到关于我们正在跟踪哪个文件的信息。例如,如果我问跟踪器嘿,我需要 linux.torrent 文件的碎片,跟踪器会如何回答我?

bittorrent

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

docker容器如何使用宿主机操作系统?

在每个 docker 教程中,docker 的主要优点之一是 docker 容器使用主机操作系统。但如果这是真的,我不明白为什么我需要在映像中包含操作系统。例如,这是 centOS 的图像。我知道如果我想在容器中运行 centOS,我必须拉取这个镜像,但是主机操作系统在哪里呢?最好有人能给我指向一些链接来阅读相关内容,因为我找不到合适的链接。

docker

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

如何使用 spring 正确发布 DDD 域事件?

我正在尝试在我的项目中实现域驱动设计。这是我的基Aggregate类:

public abstract class UUIDAggregate {
    private final DomainEventPublisher domainEventPublisher;

    protected void publish(DomainEvent domainEvent) {
        domainEventPublisher.publish(domainEvent);
    }
}
Run Code Online (Sandbox Code Playgroud)

假设我们有UserAccount聚合:

public class UserAccount extends UUIDAggregate {
    private String email;
    private String username;
    private String password;
    private String firstName;
    private String lastName;

    public void update() {
        publish(new DomainEventImpl());
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的DomainEventPublisher

public interface DomainEventPublisher {
   void publish(DomainEvent event);
}
Run Code Online (Sandbox Code Playgroud)

这是DomainEventPublisherImpl

@Component
public class DomainEventPublisherImpl implements DomainEventPublisher{
    @Autowired
    private ApplicationEventPublisher publisher;

    public void publish(DomainEvent event){ …
Run Code Online (Sandbox Code Playgroud)

java spring domain-driven-design

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

无法使用intellij在tomcat上启动应用程序

我正在尝试使用IDEA intellij和tomcat服务器运行我的Web应用程序.我下载了tomcat服务器,将其粘贴到程序文件中,制作了CATALINA_HOME并编辑了%CATALINA_HOME%\ bin的路径; .我的运行配置:

在此输入图像描述

当我从bin/startup.bat启动tomcat服务器并尝试运行项目时出现错误错误运行事件:地址localhost:8080已在使用中.

当我没有首先使用bat文件启动tomcat时出现错误:运行配置停止之前没有连接应用程序服务器,原因:无法在localhost:1099 ping服务器.当我从tomcat运行该bat脚本并转到localhost:8080时,我看到tomcat启动窗口.

java tomcat intellij-idea

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

在java构造函数中初始化final变量

可以说我有这样的情况。

private final A a;
private final B b;
private final C c;
private ClassX(){
  this.c = createCSomehow();
}
public ClassX(A a){
  this();
  this.a = a;
  this.b = null;
}
public ClassX(B b) {
  this();
  this.b = b;
  this.a = null;
}
Run Code Online (Sandbox Code Playgroud)

为什么 Idea 会抱怨 a 和 b 属性?想法在它们下面划线并说:变量 a 可能尚未初始化。我确信我没有更多的构造函数,并且在每种情况下 a 都会填充一些值。

java data-structures

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

从其他文件调用freemarker宏

我有这样的情况。我有文件夹a,里面有a.ftl文件夹b。文件夹内bb.ftl。在b.ftl我有[#macro macroName param1]...[/#macro]如何从文件调用宏a?我有intellij想法警告。我看到了此链接https://intellij-support.jetbrains.com/hc/en-us/community/posts/206196939-Getting-Intellij-to-pick-up-Freemarker-macros,所以我尝试放置

[#-- @implicitly included --]
[#-- @ftlroot "" --]
Run Code Online (Sandbox Code Playgroud)

到顶部,a.ftl但不起作用。我正在研究freemarker文档http://freemarker.org/docs/ref_directive_macro.html,但是有一个示例,仅从同一文件调用宏。

freemarker

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