From f5a5c02053781c2a0a2aaf708993ec935e76e919 Mon Sep 17 00:00:00 2001 From: Sergey Petunin Date: Fri, 8 Dec 2017 14:01:23 +0100 Subject: [PATCH] BAEL-1128: A Practical Guide to Java Remote Debugging (#3144) --- guest/remote-debugging/README.md | 16 ++++++ guest/remote-debugging/pom.xml | 49 +++++++++++++++++++ .../debug/JavaRemoteDebuggingApplication.java | 12 +++++ .../stackify/debug/config/WebInitializer.java | 12 +++++ .../stackify/debug/rest/HelloController.java | 16 ++++++ 5 files changed, 105 insertions(+) create mode 100644 guest/remote-debugging/README.md create mode 100644 guest/remote-debugging/pom.xml create mode 100644 guest/remote-debugging/src/main/java/com/stackify/debug/JavaRemoteDebuggingApplication.java create mode 100644 guest/remote-debugging/src/main/java/com/stackify/debug/config/WebInitializer.java create mode 100644 guest/remote-debugging/src/main/java/com/stackify/debug/rest/HelloController.java diff --git a/guest/remote-debugging/README.md b/guest/remote-debugging/README.md new file mode 100644 index 0000000000..cc63e7fd59 --- /dev/null +++ b/guest/remote-debugging/README.md @@ -0,0 +1,16 @@ +## Building + +To build the module, use Maven's `package` goal: + +``` +mvn clean package +``` + +The `war` file will be available at `target/remote-debugging.war` + +## Running + +The `war` application is deployed to Apache Tomcat 8 or any other Java Web or Application server. +To deploy it to the Apache Tomcat 8 server, drop it in the `tomcat/webapps` directory. + +The service then will be accessible at http://localhost:8080/remote-debugging/hello?name=John \ No newline at end of file diff --git a/guest/remote-debugging/pom.xml b/guest/remote-debugging/pom.xml new file mode 100644 index 0000000000..d958d4c681 --- /dev/null +++ b/guest/remote-debugging/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + com.stackify + java-remote-debugging + 0.0.1-SNAPSHOT + war + + + org.springframework.boot + spring-boot-starter-parent + 1.5.8.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-tomcat + provided + + + + + + remote-debugging + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/guest/remote-debugging/src/main/java/com/stackify/debug/JavaRemoteDebuggingApplication.java b/guest/remote-debugging/src/main/java/com/stackify/debug/JavaRemoteDebuggingApplication.java new file mode 100644 index 0000000000..9d1a632638 --- /dev/null +++ b/guest/remote-debugging/src/main/java/com/stackify/debug/JavaRemoteDebuggingApplication.java @@ -0,0 +1,12 @@ +package com.stackify.debug; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class JavaRemoteDebuggingApplication { + + public static void main(String[] args) { + SpringApplication.run(JavaRemoteDebuggingApplication.class, args); + } +} diff --git a/guest/remote-debugging/src/main/java/com/stackify/debug/config/WebInitializer.java b/guest/remote-debugging/src/main/java/com/stackify/debug/config/WebInitializer.java new file mode 100644 index 0000000000..b69e2b6c77 --- /dev/null +++ b/guest/remote-debugging/src/main/java/com/stackify/debug/config/WebInitializer.java @@ -0,0 +1,12 @@ +package com.stackify.debug.config; + +import com.stackify.debug.JavaRemoteDebuggingApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.support.SpringBootServletInitializer; + +public class WebInitializer extends SpringBootServletInitializer { + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(JavaRemoteDebuggingApplication.class); + } +} diff --git a/guest/remote-debugging/src/main/java/com/stackify/debug/rest/HelloController.java b/guest/remote-debugging/src/main/java/com/stackify/debug/rest/HelloController.java new file mode 100644 index 0000000000..8c614a36ec --- /dev/null +++ b/guest/remote-debugging/src/main/java/com/stackify/debug/rest/HelloController.java @@ -0,0 +1,16 @@ +package com.stackify.debug.rest; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController("/hello") +public class HelloController { + + @GetMapping + public String hello(@RequestParam("name") String name) { + String message = "Hello, " + name; + return message; + } + +}