You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2022/02/21 03:08:29 UTC
[tomee] 01/09: Add debug option
This is an automated email from the ASF dual-hosted git repository.
dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git
commit 4ec0cf515c8dec172988e0d264a235d457bf0407
Author: David Blevins <db...@tomitribe.com>
AuthorDate: Sun Feb 20 03:26:10 2022 -0500
Add debug option
---
.../tomee/server/composer/ServerBuilder.java | 10 ++++++++++
.../org/apache/tomee/server/composer/TomEE.java | 22 ++++++++++++++++++++--
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/ServerBuilder.java b/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/ServerBuilder.java
index bd57d5d..451b206 100644
--- a/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/ServerBuilder.java
+++ b/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/ServerBuilder.java
@@ -55,6 +55,7 @@ public abstract class ServerBuilder<T extends ServerBuilder<T>> {
protected FileFilter filter = pathname -> true;
protected Duration await = new Duration("1 minute");
protected boolean list = false;
+ protected boolean debug = false;
protected final ArrayList<Consumer<File>> homeConsumers = new ArrayList<>();
protected final ArrayList<Consumer<T>> builderConsumers = new ArrayList<>();
protected final ArrayList<Consumer<StreamBuilder>> watches = new ArrayList<>();
@@ -163,6 +164,15 @@ public abstract class ServerBuilder<T extends ServerBuilder<T>> {
return (T) this;
}
+ public T debug() {
+ return debug(true);
+ }
+
+ public T debug(final boolean debug) {
+ this.debug = debug;
+ return (T) this;
+ }
+
protected void applyHomeConsumers(final File home) {
// run any customization logic that's been added
for (final Consumer<File> customization : homeConsumers) {
diff --git a/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/TomEE.java b/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/TomEE.java
index b230099..07a4f47 100644
--- a/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/TomEE.java
+++ b/itests/tomee-server-composer/src/main/java/org/apache/tomee/server/composer/TomEE.java
@@ -179,6 +179,17 @@ public class TomEE {
}
}
+ public Builder debug(final int port, boolean suspend) {
+ env("JPDA_ADDRESS", port + "");
+ env("JPDA_SUSPEND", suspend ? "y" : "n");
+
+ return debug();
+ }
+
+ public Builder debug(final int port) {
+ return debug(port, true);
+ }
+
public TomEE build() throws IOException {
applyBuilderConsumers();
@@ -228,8 +239,15 @@ public class TomEE {
final File catalinaSh = Files.file(home, "bin", "catalina" + extension);
final ProcessBuilder builder = new ProcessBuilder()
- .directory(home)
- .command(catalinaSh.getAbsolutePath(), "run");
+ .directory(home);
+
+ // todo maybe use the list approach to fill in the arguments
+ // but this way we are sure about the order to put them for tomcat
+ if (debug) {
+ builder.command(catalinaSh.getAbsolutePath(), "jpda", "run");
+ } else {
+ builder.command(catalinaSh.getAbsolutePath(), "run");
+ }
// make sure to configure the Locale to english otherwise the watch bellow will fail on other countries
if (env.containsKey("JAVA_OPTS")) {