小编ori*_*rab的帖子

Spring安全多个hasIPAddress antMatchers

我有以下spring安全配置代码段:

http
   .authorizeRequests()
   .antMatchers("/tokens").hasIpAddress("10.0.0.0/16")
   ....
Run Code Online (Sandbox Code Playgroud)

这有效,但我还想从127.0.0.1授予对"/ tokens"的访问权限.我希望下面的内容可行,但它不会:

http
   .authorizeRequests()
   .antMatchers("/tokens").hasIpAddress("10.0.0.0/16").hasIpAddress("127.0.0.1/32")
   ....
Run Code Online (Sandbox Code Playgroud)

spring spring-security

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

根据结果​​重试方法(而不是异常)

我有一个具有以下签名的方法:

public Optional<String> doSomething() {
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果我得到一个空的,Optional我想重试这个方法,只有在 3 次后才返回空的Optional

我查看并找到了Retryablespring 注释,但它似乎只适用于异常。

如果可能的话,我想为此使用一个库,并避免:

  • 创建和抛出异常。
  • 自己写逻辑。

java spring spring-retry

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

如何让 Kubernetes 根据 Pod 的“就绪”/“未就绪”状态扩展我的部署?

我有一个具有定义数量的replicas. 我使用就绪探针来通信我的 Pod 是否已准备好/未准备好处理新连接 \xe2\x80\x93\xc2\xa0my Pods 在ready/之间切换not ready在其生命周期内在

\n\n

我希望 Kubernetes 扩大/缩小部署规模,以确保一个容器中始终有所需数量的 Podready状态下始终有所需数量的 Pod。

\n\n

例子:

\n\n
    \n
  • 如果replicas是 4 并且有 4 个 Podready状态,那么 Kubernetes 应该保留当前的副本数量。
  • \n
  • 如果replicas是 4 并且有 2 个readypod 和 2not readypod,那么Kubernetes应该再添加2个pod。
  • \n
\n\n

如何让 Kubernetes 根据 Pod 的“就绪”/“未就绪”状态扩展我的部署?

\n

scale kubernetes kubernetes-health-check

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

如何在 Spring 中创建默认的可覆盖组件?

我想创建一个Component,这将是Autowired除非用户创建不同的实现。我使用以下代码来尝试隔离问题:

界面:

public interface A {...}
Run Code Online (Sandbox Code Playgroud)

实施:

@Component
@ConditionalOnMissingBean(A.class)
public class AImpl implements A {...}
Run Code Online (Sandbox Code Playgroud)

使用代码:

public class AUsage {
    @Autowired
    private A a;
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我没有AImpl自动连接到AUsage. 如果我A在没有ConditionalOnMissingBean它的情况下在另一个类中实现。

java spring

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

将文件上传到 testcontainer FTP 服务器失败,连接后连接被拒绝

我正在使用FTPClient针对 FTP 服务器使用Testcontainers.

可重现的代码示例如下:

import org.apache.commons.net.PrintCommandListener;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.images.builder.ImageFromDockerfile;
import org.testcontainers.junit.jupiter.Testcontainers;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

import static org.assertj.core.api.Assertions.assertThat;

@Testcontainers
class FtpUtilsTest {

    private static final int PORT = 21;
    private static final String USER = "user";
    private static final String PASSWORD = "password";
    private static final int FTP_TIMEOUT_IN_MILLISECONDS = 1000 * 60;

    private static final GenericContainer ftp = new …
Run Code Online (Sandbox Code Playgroud)

java ftp ftp-client apache-commons-net testcontainers

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

自 Spring Cloud Stream 3.1 版本起已弃用 EnableBinding、Output、Input

从 3.1 版开始,不推荐使用用于处理队列的主要 API。在课堂评论中它说:

从 3.1 开始弃用,支持函数式编程模型

我在网上搜索了很多解决方案,但没有找到关于我应该如何迁移的可靠 E2E 解释。

寻找以下示例:

  1. 从队列中读取
  2. 写入队列

如果有几种方法可以做到这一点(正如我在网上看到的那样),我很乐意为每个选项提供解释和典型用例。

spring spring-cloud-stream

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

如何创建一个不在内存中的耶拿模型?

我正在尝试创建一个Model不会将整个数据加载到内存中,而是从文件系统读取的in jena。

我发现了很多可用的配置,但是它们似乎都在内存中(例如OntModelSpec)。

java jena

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