小编and*_*ler的帖子

测试Spring MVC控制器的@MessageMapping WebSocket方法

我目前正在尝试对Spring 4.0中添加的WebSockets的支持,如本指南中所述。如指南中所示,带有注释的方法@MessageMapping可以添加到任何Spring MVC控制器中,其中也可能包含@RequestMapping方法。

弹簧测试模块有编写集成测试的支持@RequestMapping方法(如描述在这里以一种非常简单和流体的方式):

@Test
public void getAccount() throws Exception {
    this.mockMvc.perform(get("/accounts/1").accept(MediaType.parseMediaType("application/json;charset=UTF-8")))
        .andExpect(status().isOk())
        .andExpect(content().contentType("application/json"))
        .andExpect(jsonPath("$.name").value("Lee"));
}
Run Code Online (Sandbox Code Playgroud)

是否有@MessageMapping使用WebSockets的测试方法的类似支持?我没有在任何Spring模块中找到任何东西,并且WebSocket指南均未包含任何测试。如果没有,我是否需要实际部署应用程序并使用WebSocketConnectionManager来连接测试客户端?还是我可以从春季测试中构建一些API?

这个示例项目包含一个如此小的测试客户端,但是我希望将其集成到实际测试中,而无需我部署应用程序并在测试中对已部署的路径进行硬编码。

java spring spring-mvc spring-test

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

静态嵌套类线程安全 - java

我在名为"MyClass"的类中有一个静态的"Builder"类.如果我尝试从两个线程同时使用构建器创建两个MyClass实例,它会安全吗?可以将一个线程设置的值分配给另一个线程创建的对象吗?

码:

public class MyClass {
    private int height;
    private int weight;

    private MyClass(Builder builder) {
        height = builder.height;
        weight = builder.weight;
    }

    public static class Builder {
        private int height;
        private int weight;

        public Builder height(int h) {
            height = h;
            return this;
        }

        public Builder weight(int w) {
            weight = w;
            return this;
        }

        public MyClass build() {
            return new MyClass(this);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading builder

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

标签 统计

java ×2

builder ×1

multithreading ×1

spring ×1

spring-mvc ×1

spring-test ×1