Skip to content

Commit c359f60

Browse files
authored
Directory and dummy application (#872)
* Directory and dummy application * Delete directory
1 parent d824113 commit c359f60

File tree

5 files changed

+112
-0
lines changed

5 files changed

+112
-0
lines changed

tolldemo/HELP.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Real-world Spring performance improvements that won’t take a toll!
2+
3+
### Abstract
4+
5+
Join us on a journey to uncover real-world performance improvements in this live demo session. We’ll start with a Spring Boot 2.7 application running on JDK 11, much like an application that many of you probably have in production today. This application processes cars passing through a toll gate on a major US highway, looking up their accounts, processing the toll charge, and using AI vision to check that the vehicle matches the one that the toll account is registered to (same color, same style of vehicle, etc.)
6+
7+
But this application has poor performance! What can we do?
8+
9+
Together, we’ll use all the tools at our disposal to figure out what is causing the problem. We’ll use observability tools like metrics to observe trends, we’ll drill down into distributed traces to find out what is happening inside the application, including all the way down into the bowels of the database to see how the queries are being executed. I’m sure we’ll find opportunities to optimize, and we’ll make those changes live.
10+
11+
We’ll also take advantage of OpenRewrite recipes to migrate our application up to the latest and greatest Spring Boot 3.x version, and the much newer JDK 21 so we can take advantage of virtual threads. We’ll even try using a GraalVM native image! Of course, we’ll want to test those changes, and we’ll be sure to use Spring’s excellent support for Testcontainers to do that before we promote our changes to production.
12+
13+
In the end, I’m sure we will achieve some great results together and dramatically improve the performance of our application, and we’ll use our observability tools to quantify the impact. We hope to see you there!
14+

tolldemo/pom.xml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
<parent>
6+
<groupId>org.springframework.boot</groupId>
7+
<artifactId>spring-boot-starter-parent</artifactId>
8+
<version>2.7.9</version>
9+
<relativePath/> <!-- lookup parent from repository -->
10+
</parent>
11+
<groupId>com.example</groupId>
12+
<artifactId>tolldemo</artifactId>
13+
<version>0.0.1-SNAPSHOT</version>
14+
<name>tolldemo</name>
15+
<description>tolldemo</description>
16+
<properties>
17+
<java.version>11</java.version>
18+
<testcontainers.version>1.18.3</testcontainers.version>
19+
</properties>
20+
<dependencyManagement>
21+
<dependencies>
22+
<dependency>
23+
<groupId>org.testcontainers</groupId>
24+
<artifactId>testcontainers-bom</artifactId>
25+
<version>${testcontainers.version}</version>
26+
<type>pom</type>
27+
<scope>import</scope>
28+
</dependency>
29+
</dependencies>
30+
</dependencyManagement>
31+
<dependencies>
32+
<dependency>
33+
<groupId>org.springframework.boot</groupId>
34+
<artifactId>spring-boot-starter</artifactId>
35+
</dependency>
36+
<dependency>
37+
<groupId>org.springframework.boot</groupId>
38+
<artifactId>spring-boot-starter-web</artifactId>
39+
</dependency>
40+
<dependency>
41+
<groupId>org.springframework.boot</groupId>
42+
<artifactId>spring-boot-starter-actuator</artifactId>
43+
</dependency>
44+
45+
<dependency>
46+
<groupId>org.springframework.boot</groupId>
47+
<artifactId>spring-boot-starter-test</artifactId>
48+
<scope>test</scope>
49+
</dependency>
50+
<dependency>
51+
<groupId>org.springframework.boot</groupId>
52+
<artifactId>spring-boot-devtools</artifactId>
53+
<scope>runtime</scope>
54+
</dependency>
55+
<dependency>
56+
<groupId>org.testcontainers</groupId>
57+
<artifactId>junit-jupiter</artifactId>
58+
<scope>test</scope>
59+
</dependency>
60+
</dependencies>
61+
62+
<build>
63+
<plugins>
64+
<plugin>
65+
<groupId>org.springframework.boot</groupId>
66+
<artifactId>spring-boot-maven-plugin</artifactId>
67+
</plugin>
68+
</plugins>
69+
</build>
70+
71+
</project>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.example.tolldemo;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
6+
@SpringBootApplication
7+
public class TolldemoApplication {
8+
9+
public static void main(String[] args) {
10+
SpringApplication.run(TolldemoApplication.class, args);
11+
}
12+
13+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
spring.application.name=tolldemo
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.example.tolldemo;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.springframework.boot.test.context.SpringBootTest;
5+
6+
@SpringBootTest
7+
class TolldemoApplicationTests {
8+
9+
@Test
10+
void contextLoads() {
11+
}
12+
13+
}

0 commit comments

Comments
 (0)