小编Man*_*ami的帖子

Spring Boot Security 请求的资源上不存在“Access-Control-Allow-Origin”标头错误

我正在使用 Spring Security 构建一个 Spring Boot 应用程序。我有一个使用 JavaScript 的 Fetch API 通过 AJAX 请求完成的删除功能。该功能在 Chrome 和 Firefox 中正常工作,但在 Opera 中会导致问题。正如我所提到的,“请求的资源上不存在‘Access-Control-Allow-Origin’标头”错误显示在控制台中。

我搜索了它,这是因为 CORS,浏览器通常不允许对不同来源的 AJAX 请求,但是删除请求在同一个域中,如果它在 Chrome/Firefox 中有效,我想知道为什么它在 Opera 中不起作用.

现在,我不会分享任何与应用程序相关的代码,只是因为如果核心中有问题,它就不会在其他浏览器中工作,是吗?但是如果有任何代码应该共享,请说出来,所以我会共享。但现在,我什至不知道出了什么问题。先谢谢了。

opera spring fetch cors spring-boot

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

Spring AMQP 中 SimpleMessageListenerContainer 和 DirectMessageListenerContainer 有什么区别?

Spring AMQPSimpleMessageListenerContainerDirectMessageListenerContainerSpring AMQP 有什么区别 ?我检查了他们的两个文档页面,SimpleMessageListenerContainer几乎没有对内部工作原理的解释,并且DirectMessageListenerContainer有以下解释:

SimpleMessageListenerContainer一样并非如此简单。对 rabbitmq java 客户端的最新更改促进了一个更简单的侦听器容器,该容器直接在兔客户端消费者线程上调用侦听器。没有 txSize 属性 - 每条消息都单独确认(或确认)。

我真的不明白这些是什么意思。它说listener container that invokes the listener directly on the rabbit client consumer thread。如果是这样,那么SimpleMessageListenerContainer调用是如何进行的?

我写了一个小应用程序并使用DirectMessageListenerContainer,只是为了查看差异,我切换到SimpleMessageListenerContainer,但据我所知,RabbitMQ 方面没有差异。从 Java 方面来看,不同之处在于方法(SimpleMessageListenerContainer提供更多)和日志(DirectMessageListenerContainer记录更多内容)

我想知道使用每个场景的场景。

java rabbitmq spring-rabbit spring-amqp

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

Java Streams基于属性对列表条目进行分组,但在Map中收集对象的属性

对不起,奇怪的标题。基本上我想要做的如下。我有一个名为 Details 的类,比方说。

class Detail{
        String title;
        Project project;
}
Run Code Online (Sandbox Code Playgroud)

使用 Streams,如您所见,我可以按标题对 Detail 进行分组。但是,我想按标题而不是详细信息对这些详细信息内的项目进行分组。

List<Detail> results; // not empty    
Map<String, List<Detail>> res = results
                    .stream()
                    .collect(groupingBy(Detail::getTitle));
Run Code Online (Sandbox Code Playgroud)

谢谢,提前

collections lambda java-8 java-stream

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

使用 Maven 编译为旧版本的 Java

我的代码是用 Java 17 编写的。我想知道是否有办法编译到较旧的 Java 版本(8 及更高版本)。

网上很多人建议我应该使用这样的东西:

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,我遇到以下问题:

Caused by: java.lang.IllegalStateException: warning: source release 17 requires target release 17
Run Code Online (Sandbox Code Playgroud)

使用maven-compiler-pluginrelease也没有帮助。

我不明白的是,如果目标和源需要完全相同,那么为什么我们的事件需要两者?

顺便说一句,我正在使用 Maven 3.8.3。

java maven

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