小编mar*_*gul的帖子

在 AWS Lambda 上部署的一个项目中的多个 Spring Cloud 函数

我在这里需要一些帮助...

我正在使用 Spring Cloud Function,我想使用适用于 AWS 的适配器在 AWS Lambda 上部署我的函数。

我的应用程序类如下所示:

package example;

@SpringBootApplication
public class SpringCloudFunctionApiGatewayApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringCloudFunctionApiGatewayApplication.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

函数 1 如下所示:

package example;

@Component
public class StoreFunction implements Consumer<Message<DemoEntity>>{

    @Override
    public void accept(Message<DemoEntity> t) {

        System.out.println("Stored entity " + ((DemoEntity)t.getPayload()).getName());
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,我的函数处理程序如下所示:

package example;

public class TestFunctionHandler extends SpringBootApiGatewayRequestHandler {

}
Run Code Online (Sandbox Code Playgroud)

此设置完美运行。部署到 Lambda 时,我在 AWS 控制台中提供example.TestFunctionHandler作为处理程序,Spring Cloud 自动识别example.QueryFunction是上下文中的唯一函数。

日志输出如下所示:

START RequestId: 3bd996e7-ef5e-11e8-9829-1f50e2b93b6c Version: $LATEST …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-cloud aws-lambda

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

在 Kubernetes 上部署 Spring Boot 应用程序:应用程序使用环境变量中的错误端口属性

我正在尝试在 Kubernetes (Minikube) 上部署一个“Hello world”Spring Boot 应用程序。该应用程序非常简单,只有一种方法,映射到 GET 资源上。我什至没有指定端口。

我现在尝试在 Minikube 上部署该应用程序,并使用服务使其可用:

kind: Service
apiVersion: v1
metadata:
  name: server
spec:
  selector:
    app: server
  ports:
  - protocol: TCP
    port: 8080
  type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: server
spec:
  selector:
      matchLabels:
        app: server
  replicas: 3
  template:
    metadata:
      labels:
        app: server
    spec:
      containers:
        - name: server
          image: kubernetes-server:latest
          imagePullPolicy: Never
          ports:
            - name: http
              containerPort: 8080
Run Code Online (Sandbox Code Playgroud)

如果我使用此配置启动部署(即先启动服务,然后启动部署),Pod 在启动过程中会失败。在日志中,我可以找到以下消息:

***************************
APPLICATION FAILED TO START
***************************

Description:

Binding to target         
org.springframework.boot.autoconfigure.web.ServerProperties@42f93a98 failed: …
Run Code Online (Sandbox Code Playgroud)

spring-boot kubernetes minikube

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

如何使用Jackson和Spring Boot提供自定义解串器

我有以下三个应用程序:

项目1举行

  • 业务逻辑(Spring Cloud功能)
  • 接口IDemoEntity

项目二

  • AWS特定的处理程序
  • IDemoEntity的一种实现,具有DynamoDB特定的注释
  • 该项目基于Spring Boot

项目3

  • IDemoEntity的一种实现,带有CosmosDB批注
  • Azure特定的处理程序

项目1的类如下所示:

public interface IDemoEntity {
    String getName();
    void setName(String name);
}

@Component
public class StoreFunction implements Consumer<Message<IDemoEntity>> {

    @Override
    public void accept(Message<IDemoEntity> t) {

        System.out.println("Stored entity " + t.getPayload().getName());
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

对于项目2,IDemoEntity的实现如下所示:

@DynamoDBTable(tableName = "DemoEntity")
public class DynamoDemoEntity implements IDemoEntity {

    private String name;
    @Override
    @DynamoDBHashKey
    public String getName() {

        return name;
    }

    @Override
    public void setName(String name) {

        this.name = name;
    } …
Run Code Online (Sandbox Code Playgroud)

java spring-boot jackson-databind

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