相关疑难解决方法(0)

没有Web服务器的Spring Boot

我有一个简单的Spring Boot应用程序,它从JMS队列获取消息并将一些数据保存到日志文件中,但不需要Web服务器.有没有办法在没有Web服务器的情况下启动Spring Boot?

java spring-boot

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

Spring启用/禁用带有配置文件的嵌入式tomcat

我正在编写一个Spring Boot应用程序,该应用程序使用几个@Configuration类中的一个,具体取决于文件中@Profile设置的类application.properties.

其中一个Configuration类使用REST接口,因此我将其spring-boot-starter-web作为依赖项包含在内.

这启动了一个嵌入式Tomcat实例,这很好.

问题是,其他配置文件不需要嵌入式服务器(例如,我使用JMS来处理传入的消息而不是REST).

有没有办法在@SpringBootApplication默认情况下阻止启动Tomcat,并且只将它用于REST配置类?例如,通过注释该类@EnableWebMVC

这是我的@Configuration课程的一个例子:

休息:

@Profile({"REST"})
@Configuration
@EnableWebMvc
public class HttpConfiguration{
 .
 .
 .
}
Run Code Online (Sandbox Code Playgroud)

JMS:

@Profile({"JMS"})
@Configuration
@EnableJms
public class JMSConfiguration{
 .
 .
 .
}
Run Code Online (Sandbox Code Playgroud)

谢谢

spring tomcat spring-mvc spring-boot

23
推荐指数
3
解决办法
3万
查看次数

考虑在您的配置中定义一个类型为 'org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository' 的 bean

我正在使用 spring oAuthClient 版本 5.2.4.RELEASE 通过遵循 spring security https://docs.spring.io/spring-security/site/docs/current/reference/html5/#oauth2Client-authorized-manager-的文档链接 提供者

    import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
import org.springframework.security.oauth2.client.web.reactive.function.client.ServerOAuth2AuthorizedClientExchangeFilterFunction;
import org.springframework.security.oauth2.client.web.server.ServerOAuth2AuthorizedClientRepository;
import org.springframework.web.reactive.function.client.ExchangeFilterFunction;
import org.springframework.web.reactive.function.client.WebClient;

import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Mono;

@AllArgsConstructor
@Configuration
@Slf4j
public class WebClientConfig {

    @Bean("AuthProvider")
    WebClient webClient(ReactiveClientRegistrationRepository clientRegistrations, ServerOAuth2AuthorizedClientRepository authorizedClients) {
        ServerOAuth2AuthorizedClientExchangeFilterFunction oauth = new ServerOAuth2AuthorizedClientExchangeFilterFunction(
                clientRegistrations,
                authorizedClients);
        oauth.setDefaultOAuth2AuthorizedClient(true);
        oauth.setDefaultClientRegistrationId("AuthProvider");
        return WebClient.builder()
                .filter(oauth)
                .filter(this.logRequest())
                .build();
    }


    private ExchangeFilterFunction logRequest() {
        return ExchangeFilterFunction.ofRequestProcessor(clientRequest -> {
            log.info("Request: [{}] {}", clientRequest.method(), clientRequest.url());
            log.debug("Payload: {}", clientRequest.body());
            return Mono.just(clientRequest);
        });
    } …
Run Code Online (Sandbox Code Playgroud)

java spring spring-security spring-boot spring-security-oauth2

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

spring-boot-starter-web和spring-boot-starter-webflux不能一起工作吗?

当我开始学习spring-webflux时,我对这个组件有疑问.

我构建了这个简单的项目,使用maven来管理项目,并添加了关于spring-boot-starter-web和spring-boot-starter-webflux的依赖关系,如:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.删除spring-boot-starter-web依赖项时,它可以正常工作.

java spring-boot spring-webflux

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