小编Mar*_*ryo的帖子

spring data mongodb enum mapping converter

我希望代码不会抛出异常,当java代码从枚举代码中不存在的mongo加载枚举值时

例如:

java.lang.IllegalArgumentException: No enum constant fr.myapp.type.OrderOptionEnum.TELEPHONE
at java.lang.Enum.valueOf(Enum.java:238)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.getPotentiallyConvertedSimpleRead(MappingMongoConverter.java:819)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readCollectionOrArray(MappingMongoConverter.java:909)
at org.springframework.data.mongodb.core.convert.MappingMongoConverter.readValue(MappingMongoConverter.java:1184)
Run Code Online (Sandbox Code Playgroud)

因为TELEPHONE不在OrderOptionEnum中存在

我juste希望代码返回null值

任何的想法 ?

问候

spring mongodb-java spring-data spring-data-mongodb spring-boot

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

Spring Boot 中的 ApplicationPreparedEvent 不起作用

我尝试在应用程序启动时运行课程:

@Component
public class BoostrapListener implements ApplicationListener<ApplicationPreparedEvent> {

    @Override
    public void onApplicationEvent(ApplicationPreparedEvent applicationPreparedEvent) {
        System.out.println("ApplicationListener Invoked At Spring Container Startup");
    }

}


@SpringBootApplication
public class Application {

    public static void main(String[] args) throws Exception {
        ConfigurableApplicationContext app = SpringApplication.run(Application.class, args);
        BoostrapListener bean = app.getBean(BoostrapListener.class);
        app.addApplicationListener(bean);
    }
}
Run Code Online (Sandbox Code Playgroud)

BoostrapListener 类永远不会被调用..

你能帮助我吗

spring spring-boot

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

使用 Spring Boot 监听消息队列 SQS 不适用于标准配置

我无法使用 Spring Boot 和 SQS 创建工程队列侦听器(消息已发送并显示在 SQS ui 中)

或不起作用@MessageMapping@SqsListener

Java:11
Spring Boot:2.1.7
依赖项:spring-cloud-aws-messaging

这是我的配置

@Configuration
@EnableSqs
public class SqsConfig {

    @Value("#{'${env.name:DEV}'}")
    private String envName;

    @Value("${cloud.aws.region.static}")
    private String region;

    @Value("${cloud.aws.credentials.access-key}")
    private String awsAccessKey;

    @Value("${cloud.aws.credentials.secret-key}")
    private String awsSecretKey;

    @Bean
    public Headers headers() {
        return new Headers();
    }

    @Bean
    public MessageQueue queueMessagingSqs(Headers headers,
                                          QueueMessagingTemplate queueMessagingTemplate) {
        Sqs queue = new Sqs();
        queue.setQueueMessagingTemplate(queueMessagingTemplate);
        queue.setHeaders(headers);
        return queue;
    }

    private ResourceIdResolver getResourceIdResolver() {
        return queueName -> envName + "-" + queueName;
    } …
Run Code Online (Sandbox Code Playgroud)

java amazon-sqs spring-boot spring-messaging spring-cloud-aws

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

如何使用 Spring Boot 运行一个简单的 main

我使用的是最后一个 Spring Boot,我只需要在最后一条指令之后运行一个方法并停止程序执行,就像 à main 一样。

Juste 需要运行这个方法:

public class Main {

    @Autowired
    private MyService myService;

    public void run() throws IOException {
        System.out.println(myService.listAll());
    }
}
Run Code Online (Sandbox Code Playgroud)

Application 类是一个简单的 Spring Boot 运行

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) throws IOException {
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,如何告诉 Spring Boot 使用 java -jar myapp.jar 之类的命令运行 Main.run() ?

谢谢

spring spring-boot

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

Keycloak 7.0.1 和 MySQL (RDS) SSLHandshakeException:没有合适的协议(协议被禁用或密码套件不合适)供审查

我在新的 MySQL 5.7 数据库上启动 Keycloak 7.0.1

这是 Kubernetes 部署

    规格:
      容器:
      - 环境:
        - 名称:KEYCLOAK_USER
          值:管理员
        - 名称:KEYCLOAK_PASSWORD
          值:密码
        - 名称:PROXY_ADDRESS_FORWARDING
          值:“真”
        - 名称:KEYCLOAK_LOGLEVEL
          值:信息
        - 名称:DB_VENDOR
          值:mysql
        - 名称:DB_ADDR
          值:db.rds.amazonaws.com
        - 名称:DB_DATABASE
          价值:钥匙披风
        - 名称:DB_SCHEMA
          价值:钥匙披风
        - 名称:DB_PORT
          值:“3306”
        - 名称:DB_USER
          价值:钥匙披风
        - 名称:DB_PASSWORD
          价值:789
        - 名称:JDBC_PARAMS
          值:character_set_server=utf8mb4&useUnicode=true&verifyServerCertificate=false&useSSL=true&requireSSL=true&allowPublicKeyRetrieval=true&serverTimezone=Europe/Paris
        图片:jboss/keycloak:7.0.1

和堆栈跟踪

Added 'admin' to '/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json', restart server to load user
-b 0.0.0.0
=========================================================================

  Using MySQL database

=========================================================================

19:29:43,163 INFO  [org.jboss.modules] (CLI command executor) JBoss Modules version 1.9.1.Final
19:29:43,233 INFO  [org.jboss.msc] …
Run Code Online (Sandbox Code Playgroud)

java jboss wildfly keycloak

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

Kubernetes - 如何通过休息请求从 pod 中的 Web 服务器访问服务

我希望使用 Kubernetes DNS 从 pod 中重新请求 pod。一切都在我的 Kubernetes 集群中。

我想使用来自 Web 应用程序的 http 请求来调用另一个 Web 应用程序

例如,我想从 DashboardWebApp 调用 ProductWebApp

我找到了 kubernetes rest api

? ~ kubectl exec -it dashboard-57f598dd76-54s2x -- /bin/bash

? ~ curl -X GET https://4B3449144A41F5488D670E69D41222D.sk1.us-east-1.eks.amazonaws.com/api/v1/namespaces/staging/services/product-app/proxy/api/product/5bf42b20c616fc604"kind " :“状态”,“apiVersion”:“v1”,“元数据”:{

}, "status": "Failure", "message": "services \"product-app\" is forbidden: User \"system:anonymous\" cannot get services/proxy in the namespace \"staging\"", " reason": "Forbidden", "details": { "name": "product-app", "kind": "services" }, "code": 403 }%

我不明白为什么它是块

我也找到了这个网址
?~ curl -XGET product-app.staging.svc.cluster.local/api/product/5bf42b2ca5fc050616640dc6

但这也行不通

那么从 pod 调用 …

kubernetes

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