小编qwe*_*rty的帖子

Intellij 调试 Docker 容器不断给我 IO 异常握手失败

我正在尝试在 Intellij v2020.1 中设置远程调试器,但不断收到以下错误:

无法打开调试器端口(localhost:5005):java.io.IOException“握手失败 - 连接过早关闭”

在我的 docker compose 文件中,我已将端口 5005 安装到 5005

在我的 docker 文件中,我有:

EXPOSE 5005

ENTRYPOINT ["/bin/bash", "runme.sh"]

在我的 shell 脚本中我有:

/opt/java/openjdk/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar mine.jar

当我执行 docker ps 时,我可以看到以下内容:

0.0.0.0:5005->5005/tcp, 0.0.0.0:8111->8111/tcp

在 IntelliJ 中,我将远程调试器从端口 5005 设置为容器端口 5005,添加到模块 claspath 中,并在启动前步骤中添加到我的 compose 文件中。

服务启动正常,但无法连接到调试器,有什么想法吗?

java debugging jdb docker docker-compose

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

Spring Boot - 部分更新最佳实践?

我正在使用带有 mongo 数据库的 Spring boot v2。我想知道对数据模型进行部分更新的最佳方法是什么。假设我有一个具有 x 个属性的模型,根据请求,我可能只想更新其中 1 个、2 个或 x 个属性。我应该为每种类型的更新操作公开一个端点,还是可以公开一个端点并以通用方式执行它?注意我需要能够验证请求属性的内容(例如电话号码必须仅为数字)

谢谢,

java spring spring-data spring-boot

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

身份验证失败重定向请求参数不起作用

我正在尝试配置我自己的成功和身份验证失败处理程序。在身份验证失败时,我想使用请求参数重定向回我的登录页面,此参数的存在将在我的登录页面上输出错误消息。但是,尽管出错时我被重定向回我的登录页面,但请求参数始终为null.

代码如下:

protected void configure(HttpSecurity http) throws Exception {
    http
        .csrf().disable()
        .authorizeRequests()
            .antMatchers("/").permitAll()
            .antMatchers("/login").permitAll()
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .loginPage("/login.html").permitAll() 
            .usernameParameter("username")
            .passwordParameter("password")                                               
            .loginProcessingUrl("/login")
            .successHandler(successHandler())
            .failureHandler(handleAuthenticationFailure());
}

@Autowired
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    //database checks
}
};
}

/**
 * Authentication success handler defines action when successfully authenticated
 * @return
 */
@Bean
public AuthenticationSuccessHandler successHandler(){
    return new AuthenticationSuccessHandler() {

        @Override
        public void onAuthenticationSuccess(HttpServletRequest httpRequest, HttpServletResponse httpResponse, Authentication authentication)
                throws IOException, ServletException {

            // custom auth success here
            httpResponse.setStatus(HttpServletResponse.SC_OK); …
Run Code Online (Sandbox Code Playgroud)

spring spring-security spring-boot

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