Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion samples/spring-cloud-function-demo/TestHttp.http
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ x-routing-key: uppercase
hello world


### Test routing to upperCase function using custom router
### Test NoOP Function
POST http://localhost:8080/functionRouter
Content-Type: application/json

Expand Down
35 changes: 1 addition & 34 deletions samples/spring-cloud-function-demo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.5</version>
<version>3.4.6</version>
</parent>
<groupId>com.amazonaws.demo</groupId>
<artifactId>spring-cloud-function-demo</artifactId>
Expand Down Expand Up @@ -71,37 +71,4 @@
</dependencies>
</dependencyManagement>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot.experimental</groupId>
<artifactId>spring-boot-thin-layout</artifactId>
<version>1.0.31.RELEASE</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>aws</shadedClassifierName>
</configuration>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
package com.amazonaws.demo;
package com.amazonaws.springcloudfunctiondemo;

import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.function.context.MessageRoutingCallback;
import org.springframework.cloud.function.context.config.RoutingFunction;
import org.springframework.context.annotation.Bean;
import org.springframework.messaging.Message;

import java.util.function.Consumer;
import java.util.function.Function;

@SpringBootApplication
public class SpringCloudFunctionDemo {
public class SpringCloudFunctionDemoApplication {

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

@Bean
Expand All @@ -32,7 +31,7 @@ public Function<String, String> reverse(){
}

@Bean
public Function<com.amazonaws.demo.Unicorn, String> helloUnicorn(){
public Function<com.amazonaws.springcloudfunctiondemo.Unicorn, String> helloUnicorn(){
return value -> "Hello %s! You are %d years old!".formatted(value.name(), value.age());
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.amazonaws.demo;
package com.amazonaws.springcloudfunctiondemo;

public record Unicorn(String name, int age) { }

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.amazonaws.demo;
package com.amazonaws.springcloudfunctiondemo;

import com.amazonaws.services.lambda.runtime.events.SQSEvent;
import org.junit.jupiter.api.Test;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.amazonaws.demo;
package com.amazonaws.springcloudfunctiondemo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -36,7 +36,7 @@ public void testUppercaseFunction() {

@Test
public void testHandleUnicornHelloFunction() {
var fluffy = new com.amazonaws.demo.Unicorn("Fluffy", 3);
var fluffy = new com.amazonaws.springcloudfunctiondemo.Unicorn("Fluffy", 3);
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.amazonaws.demo;
package com.amazonaws.springcloudfunctiondemo;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -25,7 +25,7 @@ public class MessageCallBackTest {
@Test
public void testCustomRouter() {
// Create test message
var unicorn = new com.amazonaws.demo.Unicorn("RouterUnicorn", 2);
var unicorn = new com.amazonaws.springcloudfunctiondemo.Unicorn("RouterUnicorn", 2);
var headers = new MessageHeaders(Map.of("x-routing-key", "unicorn"));
var message = new GenericMessage<>(unicorn, headers);

Expand All @@ -36,7 +36,7 @@ public void testCustomRouter() {
assertEquals("helloUnicorn", functionName);

// Get the function and apply it
Function<com.amazonaws.demo.Unicorn, String> function = catalog.lookup(Function.class, functionName);
Function<com.amazonaws.springcloudfunctiondemo.Unicorn, String> function = catalog.lookup(Function.class, functionName);
var result = function.apply(unicorn);

// Verify result
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Test configuration
spring.main.banner-mode=off
logging.level.root=ERROR
logging.level.com.amazonaws.demo=DEBUG
logging.level.com.amazonaws.springcloudfunctiondemo=DEBUG

# Function configuration
#spring.cloud.function.routing.enabled=true
Expand Down
8 changes: 4 additions & 4 deletions samples/spring-cloud-function-demo/template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ Resources:
Type: AWS::Serverless::Function
Properties:
Handler: org.springframework.cloud.function.adapter.aws.FunctionInvoker
CodeUri: target/spring-cloud-function-demo-1.0-aws.jar
CodeUri: .
Environment:
Variables:
#MAIN_CLASS: net.springio.springcloudfunctiondemo.SpringCloudFunctionDemoApplication
MAIN_CLASS: com.amazonaws.springcloudfunctiondemo.SpringCloudFunctionDemoApplication
SPRING_CLOUD_FUNCTION_DEFINITION: upperCase
Events:
ApiEvent:
Expand All @@ -38,10 +38,10 @@ Resources:
Type: AWS::Serverless::Function
Properties:
Handler: org.springframework.cloud.function.adapter.aws.FunctionInvoker
CodeUri: target/spring-cloud-function-demo-1.0-aws.jar
CodeUri: .
Environment:
Variables:
#MAIN_CLASS: net.springio.springcloudfunctiondemo.SpringCloudFunctionDemoApplication
MAIN_CLASS: com.amazonaws.springcloudfunctiondemo.SpringCloudFunctionDemoApplication
SPRING_CLOUD_FUNCTION_DEFINITION: asyncProcessor
Events:
SQSEvent:
Expand Down