diff --git a/archgw.code-workspace b/archgw.code-workspace
index 78c124e2..840bd2dd 100644
--- a/archgw.code-workspace
+++ b/archgw.code-workspace
@@ -31,6 +31,10 @@
{
"name": "chatbot_ui",
"path": "demos/shared/chatbot_ui"
+ },
+ {
+ "name": "java_demo",
+ "path": "demos/samples_java/weather_forcecast_service"
}
],
"settings": {
diff --git a/demos/samples_java/weather_forcecast_service/.classpath b/demos/samples_java/weather_forcecast_service/.classpath
new file mode 100644
index 00000000..39abf1c5
--- /dev/null
+++ b/demos/samples_java/weather_forcecast_service/.classpath
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demos/samples_java/weather_forcecast_service/.project b/demos/samples_java/weather_forcecast_service/.project
new file mode 100644
index 00000000..51363145
--- /dev/null
+++ b/demos/samples_java/weather_forcecast_service/.project
@@ -0,0 +1,34 @@
+
+
+ weather-forecast-service
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
+
+ 1739479945236
+
+ 30
+
+ org.eclipse.core.resources.regexFilterMatcher
+ node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
+
+
+
+
diff --git a/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.core.resources.prefs b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..abdea9ac
--- /dev/null
+++ b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding/=UTF-8
diff --git a/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.jdt.apt.core.prefs b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 00000000..d4313d4b
--- /dev/null
+++ b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.jdt.core.prefs b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..951833c6
--- /dev/null
+++ b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.m2e.core.prefs b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 00000000..f897a7f1
--- /dev/null
+++ b/demos/samples_java/weather_forcecast_service/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/demos/samples_java/weather_forcecast_service/Dockerfile b/demos/samples_java/weather_forcecast_service/Dockerfile
index 1f536c5a..909d9796 100644
--- a/demos/samples_java/weather_forcecast_service/Dockerfile
+++ b/demos/samples_java/weather_forcecast_service/Dockerfile
@@ -14,5 +14,10 @@ WORKDIR /app
# Copy the built jar from the previous stage
COPY --from=build /app/target/weather-forecast-service-0.0.1-SNAPSHOT.jar app.jar
# Expose the port on which the app runs (default Spring Boot is 8080)
+
+# Expose the application port and the debug port
EXPOSE 8081
-ENTRYPOINT ["java", "-jar", "app.jar"]
+EXPOSE 5005
+
+# Start the application with remote debugging enabled
+ENTRYPOINT ["java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005", "-jar", "app.jar"]
diff --git a/demos/samples_java/weather_forcecast_service/arch_config.yaml b/demos/samples_java/weather_forcecast_service/arch_config.yaml
index 0e3007e2..8228d0f4 100644
--- a/demos/samples_java/weather_forcecast_service/arch_config.yaml
+++ b/demos/samples_java/weather_forcecast_service/arch_config.yaml
@@ -45,3 +45,7 @@ prompt_targets:
name: weather_forecast_service
path: /weather
http_method: POST
+
+tracing:
+ random_sampling: 100
+ trace_arch_internal: true
diff --git a/demos/samples_java/weather_forcecast_service/docker-compose.yaml b/demos/samples_java/weather_forcecast_service/docker-compose.yaml
index 998800b7..61bebd4c 100644
--- a/demos/samples_java/weather_forcecast_service/docker-compose.yaml
+++ b/demos/samples_java/weather_forcecast_service/docker-compose.yaml
@@ -5,6 +5,7 @@ services:
dockerfile: Dockerfile
ports:
- "18081:8081"
+ - "5005:5005"
chatbot_ui:
build:
@@ -18,3 +19,11 @@ services:
- "host.docker.internal:host-gateway"
volumes:
- ./arch_config.yaml:/app/arch_config.yaml
+
+ jaeger:
+ build:
+ context: ../../shared/jaeger
+ ports:
+ - "16686:16686"
+ - "4317:4317"
+ - "4318:4318"
diff --git a/demos/samples_java/weather_forcecast_service/pom.xml b/demos/samples_java/weather_forcecast_service/pom.xml
index c2fed928..db65d95a 100644
--- a/demos/samples_java/weather_forcecast_service/pom.xml
+++ b/demos/samples_java/weather_forcecast_service/pom.xml
@@ -35,6 +35,15 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+ true
+ lines,vars,source
+
+