ARTEMIS-3995 Mute Artemis Maven Plugin

The ActiveMQ Artemis Maven plugin will throw system.out and log.info for a lot of stuff,
This should mute some of that output.
This commit is contained in:
Clebert Suconic 2022-09-14 17:35:05 -04:00 committed by clebertsuconic
parent fda7f6ba37
commit 8d1865fdcb
22 changed files with 143 additions and 116 deletions

View File

@ -47,7 +47,7 @@ public class Artemis {
String instance = System.getProperty("artemis.instance");
File fileInstance = instance != null ? new File(instance) : null;
Object result = execute(fileHome, fileInstance, args);
Object result = execute(fileHome, fileInstance, true, args);
if (result instanceof Exception) {
// Set a nonzero status code for the exceptions caught and printed by org.apache.activemq.artemis.cli.Artemis.execute
System.exit(1);
@ -57,14 +57,14 @@ public class Artemis {
/**
* This is a good method for booting an embedded command
*/
public static Object execute(File artemisHome, File artemisInstance, List<String> args) throws Throwable {
return execute(artemisHome, artemisInstance, args.toArray(new String[args.size()]));
public static Object execute(File artemisHome, File artemisInstance, boolean useSystemOut, List<String> args) throws Throwable {
return execute(artemisHome, artemisInstance, useSystemOut, args.toArray(new String[args.size()]));
}
/**
* This is a good method for booting an embedded command
*/
public static Object execute(File fileHome, File fileInstance, String... args) throws Throwable {
public static Object execute(File fileHome, File fileInstance, boolean useSystemOut, String... args) throws Throwable {
ArrayList<File> dirs = new ArrayList<>();
if (fileHome != null) {
dirs.add(new File(fileHome, "lib"));
@ -128,10 +128,10 @@ public class Artemis {
URLClassLoader loader = new URLClassLoader(urls.toArray(new URL[urls.size()]));
Thread.currentThread().setContextClassLoader(loader);
Class<?> clazz = loader.loadClass("org.apache.activemq.artemis.cli.Artemis");
Method method = clazz.getMethod("execute", Boolean.TYPE, File.class, File.class, args.getClass());
Method method = clazz.getMethod("execute", Boolean.TYPE, Boolean.TYPE, File.class, File.class, args.getClass());
try {
return method.invoke(null, true, fileHome, fileInstance, args);
return method.invoke(null, useSystemOut, useSystemOut, fileHome, fileInstance, args);
} catch (InvocationTargetException e) {
throw e.getTargetException();
} finally {

View File

@ -88,7 +88,7 @@ public class Artemis {
String instance = System.getProperty("artemis.instance");
File fileInstance = instance != null ? new File(instance) : null;
execute(true, fileHome, fileInstance, args);
execute(true, true, fileHome, fileInstance, args);
}
public static Object internalExecute(String... args) throws Exception {
@ -96,23 +96,34 @@ public class Artemis {
}
public static Object execute(File artemisHome, File artemisInstance, List<String> args) throws Exception {
return execute(false, artemisHome, artemisInstance, args.toArray(new String[args.size()]));
return execute(false, false, artemisHome, artemisInstance, args.toArray(new String[args.size()]));
}
public static Object execute(boolean inputEnabled, File artemisHome, File artemisInstance, ActionContext context, String... args) throws Exception {
public static Object execute(boolean inputEnabled, boolean useSystemOut, File artemisHome, File artemisInstance, String... args) throws Exception {
if (inputEnabled) {
InputAbstract.enableInput();
}
final ActionContext context;
if (useSystemOut) {
context = new ActionContext();
} else {
context = new ActionContext(InputStream.nullInputStream(), new PrintStream(OutputStream.nullOutputStream()), System.err);
}
ActionContext.setSystem(context);
try {
return internalExecute(artemisHome, artemisInstance, args, context);
} catch (ConfigurationException configException) {
System.err.println(configException.getMessage());
System.out.println();
System.out.println("Configuration should be specified as 'scheme:location'. Default configuration is 'xml:${ARTEMIS_INSTANCE}/etc/bootstrap.xml'");
context.err.println(configException.getMessage());
context.out.println();
context.out.println("Configuration should be specified as 'scheme:location'. Default configuration is 'xml:${ARTEMIS_INSTANCE}/etc/bootstrap.xml'");
return configException;
} catch (CLIException cliException) {
System.err.println(cliException.getMessage());
context.err.println(cliException.getMessage());
return cliException;
} catch (NullPointerException e) {
// Yeah.. I really meant System.err..
@ -121,20 +132,18 @@ public class Artemis {
e.printStackTrace();
return e;
} catch (RuntimeException | InvalidOptionsError re) {
System.err.println(re.getMessage());
System.out.println();
context.err.println(re.getMessage());
context.out.println();
Cli<Action> parser = builder(null).build();
parser.parse("help").execute(context);
return re;
} finally {
ActionContext.setSystem(new ActionContext());
}
}
public static Object execute(boolean inputEnabled, File artemisHome, File artemisInstance, String... args) throws Exception {
return execute(inputEnabled, artemisHome, artemisInstance, ActionContext.system(), args);
}
/**
* This method is used to validate exception returns.
* Useful on test cases
@ -148,12 +157,12 @@ public class Artemis {
action.setHomeValues(artemisHome, artemisInstance);
if (action.isVerbose()) {
System.out.print("Executing " + action.getClass().getName() + " ");
context.out.print("Executing " + action.getClass().getName() + " ");
for (String arg : args) {
System.out.print(arg + " ");
context.out.print(arg + " ");
}
System.out.println();
System.out.println("Home::" + action.getBrokerHome() + ", Instance::" + action.getBrokerInstance());
context.out.println();
context.out.println("Home::" + action.getBrokerHome() + ", Instance::" + action.getBrokerInstance());
}
action.checkOptions(args);
@ -198,10 +207,6 @@ public class Artemis {
return builder;
}
public static void printBanner() throws Exception {
printBanner(System.out);
}
public static void printBanner(PrintStream out) throws Exception {
copy(Artemis.class.getResourceAsStream("banner.txt"), out);
}

View File

@ -47,7 +47,14 @@ public abstract class ActionAbstract implements Action {
private URI brokerInstanceURI;
protected ActionContext context;
private ActionContext actionContext;
protected ActionContext getActionContext() {
if (actionContext == null) {
actionContext = ActionContext.system();
}
return actionContext;
}
@Override
public boolean isVerbose() {
@ -105,7 +112,7 @@ public abstract class ActionAbstract implements Action {
}
} catch (Exception e) {
if (isVerbose()) {
System.out.print("Can not get the broker url instance: " + e.toString());
getActionContext().out.print("Can not get the broker url instance: " + e.toString());
}
}
}
@ -178,7 +185,8 @@ public abstract class ActionAbstract implements Action {
@Override
public Object execute(ActionContext context) throws Exception {
this.context = context;
this.actionContext = context;
ActionContext.setSystem(context);
return null;
}

View File

@ -35,8 +35,14 @@ public class ActionContext {
public PrintStream out;
public PrintStream err;
private static ThreadLocal<ActionContext> contextThreadLocal = ThreadLocal.withInitial(() -> new ActionContext());
public static void setSystem(ActionContext context) {
contextThreadLocal.set(context);
}
public static ActionContext system() {
return new ActionContext(System.in, System.out, System.err);
return contextThreadLocal.get();
}
}

View File

@ -506,7 +506,7 @@ public class Create extends InputAbstract {
password = inputPassword("--password", "Please provide the default password:", "admin");
}
password = HashUtil.tryHash(context, password);
password = HashUtil.tryHash(getActionContext(), password);
return password;
}
@ -874,9 +874,9 @@ public class Create extends InputAbstract {
if (jdbc) {
noAutoTune = true;
System.out.println();
context.out.println();
printStar("Copy a jar containing the JDBC Driver '" + jdbcClassName + "' into " + directory.getAbsolutePath() + "/lib");
System.out.println();
context.out.println();
}
performAutoTune(filters, journalType, dataFolder);
@ -958,11 +958,11 @@ public class Create extends InputAbstract {
for (int i = 0; i < size; i++) {
buffer.append("*");
}
System.out.println(buffer.toString());
System.out.println();
System.out.println(message);
System.out.println();
System.out.println(buffer.toString());
getActionContext().out.println(buffer.toString());
getActionContext().out.println();
getActionContext().out.println(message);
getActionContext().out.println();
getActionContext().out.println(buffer.toString());
}
private void setupJournalType() {
@ -1081,8 +1081,8 @@ public class Create extends InputAbstract {
} else {
try {
int writes = 250;
System.out.println("");
System.out.println("Auto tuning journal ...");
getActionContext().out.println("");
getActionContext().out.println("Auto tuning journal ...");
if (mapped && noJournalSync) {
HashMap<String, String> syncFilter = new HashMap<>();
@ -1090,7 +1090,7 @@ public class Create extends InputAbstract {
syncFilter.put("${writesPerMillisecond}", "0");
syncFilter.put("${maxaio}", journalType == JournalType.ASYNCIO ? "" + ActiveMQDefaultConfiguration.getDefaultJournalMaxIoAio() : "1");
System.out.println("...Since you disabled sync and are using MAPPED journal, we are diabling buffer times");
getActionContext().out.println("...Since you disabled sync and are using MAPPED journal, we are diabling buffer times");
filters.put("${journal-buffer.settings}", readTextFile(ETC_JOURNAL_BUFFER_SETTINGS, syncFilter));
@ -1107,7 +1107,7 @@ public class Create extends InputAbstract {
syncFilter.put("${writesPerMillisecond}", writesPerMillisecondStr);
syncFilter.put("${maxaio}", journalType == JournalType.ASYNCIO ? "" + ActiveMQDefaultConfiguration.getDefaultJournalMaxIoAio() : "1");
System.out.println("done! Your system can make " + writesPerMillisecondStr +
getActionContext().out.println("done! Your system can make " + writesPerMillisecondStr +
" writes per millisecond, your journal-buffer-timeout will be " + nanoseconds);
filters.put("${journal-buffer.settings}", readTextFile(ETC_JOURNAL_BUFFER_SETTINGS, syncFilter));
@ -1222,7 +1222,7 @@ public class Create extends InputAbstract {
try {
content = replace(content, entry.getKey(), entry.getValue());
} catch (Throwable e) {
System.out.println("Error on " + entry.getKey());
getActionContext().out.println("Error on " + entry.getKey());
e.printStackTrace();
System.exit(-1);
}

View File

@ -101,13 +101,13 @@ public class InputAbstract extends ActionAbstract {
String inputStr;
boolean valid = false;
System.out.println();
getActionContext().out.println();
do {
context.out.println(propertyName + ":");
context.out.println(prompt);
getActionContext().out.println(propertyName + ":");
getActionContext().out.println(prompt);
inputStr = scanner.nextLine();
if (!acceptNull && inputStr.trim().equals("")) {
System.out.println("Invalid Entry!");
getActionContext().out.println("Invalid Entry!");
} else {
valid = true;
}
@ -124,22 +124,22 @@ public class InputAbstract extends ActionAbstract {
String inputStr = "";
boolean valid = false;
System.out.println();
getActionContext().out.println();
do {
context.out.println(propertyName + ": is mandatory with this configuration:");
context.out.println(prompt);
getActionContext().out.println(propertyName + ": is mandatory with this configuration:");
getActionContext().out.println(prompt);
char[] chars = System.console().readPassword();
// could be null if the user input something weird like Ctrl-d
if (chars == null) {
System.out.println("Invalid Entry!");
getActionContext().out.println("Invalid Entry!");
continue;
}
inputStr = new String(chars);
if (inputStr.trim().equals("")) {
System.out.println("Invalid Entry!");
getActionContext().out.println("Invalid Entry!");
} else {
valid = true;
}

View File

@ -82,7 +82,7 @@ public class Run extends LockAbstract {
ManagementContextDTO managementDTO = getManagementDTO();
managementContext = ManagementFactory.create(managementDTO, securityManager);
Artemis.printBanner();
Artemis.printBanner(getActionContext().out);
addShutdownHook(broker.server.getConfigurationFile().getParentFile());
@ -190,8 +190,8 @@ public class Run extends LockAbstract {
stop();
shutdownTimer.cancel();
} finally {
System.out.println("Server stopped!");
System.out.flush();
getActionContext().out.println("Server stopped!");
getActionContext().out.flush();
latchRunning.countDown();
if (!embedded) {
Runtime.getRuntime().exit(0);

View File

@ -36,7 +36,7 @@ public class Browse extends DestAbstract {
public Object execute(ActionContext context) throws Exception {
super.execute(context);
System.out.println("Consumer:: filter = " + filter);
context.out.println("Consumer:: filter = " + filter);
ConnectionFactory factory = createConnectionFactory();

View File

@ -120,7 +120,7 @@ public class ConnectionAbstract extends InputAbstract {
}
}
System.out.println("Connection brokerURL = " + brokerURL);
context.out.println("Connection brokerURL = " + brokerURL);
return null;
}
@ -162,7 +162,7 @@ public class ConnectionAbstract extends InputAbstract {
return cf;
} catch (JMSSecurityException e) {
// if a security exception will get the user and password through an input
context.err.println("Connection failed::" + e.getMessage());
getActionContext().err.println("Connection failed::" + e.getMessage());
cf = new JmsConnectionFactory(inputUser(user), inputPassword(password), brokerURL);
if (clientID != null) {
cf.setClientID(clientID);
@ -170,7 +170,7 @@ public class ConnectionAbstract extends InputAbstract {
return cf;
} catch (JMSException e) {
// if a connection exception will ask for the URL, user and password
context.err.println("Connection failed::" + e.getMessage());
getActionContext().err.println("Connection failed::" + e.getMessage());
cf = new JmsConnectionFactory(inputUser(user), inputPassword(password), inputBrokerURL(brokerURL));
if (clientID != null) {
cf.setClientID(clientID);
@ -189,7 +189,7 @@ public class ConnectionAbstract extends InputAbstract {
String clientID) {
ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory(brokerURL, user, password);
if (clientID != null) {
System.out.println("Consumer:: clientID = " + clientID);
getActionContext().out.println("Consumer:: clientID = " + clientID);
cf.setClientID(clientID);
}
try {
@ -198,8 +198,8 @@ public class ConnectionAbstract extends InputAbstract {
return cf;
} catch (JMSSecurityException e) {
// if a security exception will get the user and password through an input
if (context != null) {
context.err.println("Connection failed::" + e.getMessage());
if (getActionContext() != null) {
getActionContext().err.println("Connection failed::" + e.getMessage());
}
cf = new ActiveMQConnectionFactory(brokerURL, inputUser(user), inputPassword(password));
if (clientID != null) {
@ -208,8 +208,8 @@ public class ConnectionAbstract extends InputAbstract {
return cf;
} catch (JMSException e) {
// if a connection exception will ask for the URL, user and password
if (context != null) {
context.err.println("Connection failed::" + e.getMessage());
if (getActionContext() != null) {
getActionContext().err.println("Connection failed::" + e.getMessage());
}
cf = new ActiveMQConnectionFactory(inputBrokerURL(brokerURL), inputUser(user), inputPassword(password));
if (clientID != null) {

View File

@ -53,7 +53,7 @@ public class Consumer extends DestAbstract {
public Object execute(ActionContext context) throws Exception {
super.execute(context);
System.out.println("Consumer:: filter = " + filter);
context.out.println("Consumer:: filter = " + filter);
SerialiserMessageListener listener = null;
MessageSerializer serializer = null;

View File

@ -497,7 +497,7 @@ public class Transfer extends InputAbstract {
return cf;
} catch (JMSSecurityException e) {
// if a security exception will get the user and password through an input
context.err.println("Connection failed::" + e.getMessage());
getActionContext().err.println("Connection failed::" + e.getMessage());
userPassword(brokerURL);
cf = new JmsConnectionFactory(user, password, brokerURL);
if (clientID != null) {
@ -506,7 +506,7 @@ public class Transfer extends InputAbstract {
return cf;
} catch (JMSException e) {
// if a connection exception will ask for the URL, user and password
context.err.println("Connection failed::" + e.getMessage());
getActionContext().err.println("Connection failed::" + e.getMessage());
brokerURL = input("--url", "Type in the broker URL for a retry (e.g. tcp://localhost:61616)", brokerURL);
userPassword(brokerURL);
cf = new JmsConnectionFactory(user, password, brokerURL);
@ -533,9 +533,7 @@ public class Transfer extends InputAbstract {
return cf;
} catch (JMSSecurityException e) {
// if a security exception will get the user and password through an input
if (context != null) {
context.err.println("Connection failed::" + e.getMessage());
}
getActionContext().err.println("Connection failed::" + e.getMessage());
Pair<String, String> userPair = userPassword(brokerURL);
cf = new ActiveMQConnectionFactory(brokerURL, userPair.getA(), userPair.getB());
if (clientID != null) {
@ -544,9 +542,7 @@ public class Transfer extends InputAbstract {
return cf;
} catch (JMSException e) {
// if a connection exception will ask for the URL, user and password
if (context != null) {
context.err.println("Connection failed::" + e.getMessage());
}
getActionContext().err.println("Connection failed::" + e.getMessage());
brokerURL = input("--url", "Type in the broker URL for a retry (e.g. tcp://localhost:61616)", brokerURL);
Pair<String, String> userPair = userPassword(brokerURL);
cf = new ActiveMQConnectionFactory(brokerURL, userPair.getA(), userPair.getB());

View File

@ -112,7 +112,7 @@ public abstract class PerfCommand extends ConnectionAbstract {
skratchBuffer.setLength(0);
statistics.outAtInterval(warmingUp, skratchBuffer, LiveStatistics.ReportInterval.sec, showLatency);
if (!isSilentInput()) {
context.out.println(skratchBuffer);
getActionContext().out.println(skratchBuffer);
}
LockSupport.parkNanos(TimeUnit.SECONDS.toNanos(1));
}

View File

@ -142,10 +142,10 @@ public class StatQueue extends AbstractAction {
}
if (verbose) {
context.out.println("filter is '" + filter + "'");
context.out.println("maxRows='" + maxRows + "'");
getActionContext().out.println("filter is '" + filter + "'");
getActionContext().out.println("maxRows='" + maxRows + "'");
}
printStats(context, filter);
printStats(getActionContext(), filter);
return null;
}
@ -165,7 +165,7 @@ public class StatQueue extends AbstractAction {
@Override
public void requestFailed(ClientMessage reply) throws Exception {
String errMsg = (String) ManagementHelper.getResult(reply, String.class);
context.err.println("Failed to get Stats for Queues. Reason: " + errMsg);
getActionContext().err.println("Failed to get Stats for Queues. Reason: " + errMsg);
}
});
}
@ -175,7 +175,7 @@ public class StatQueue extends AbstractAction {
//should not happen but...
if (result == null) {
if (verbose) {
context.err.println("printStats(): got NULL result string.");
getActionContext().err.println("printStats(): got NULL result string.");
}
return;
}
@ -202,7 +202,7 @@ public class StatQueue extends AbstractAction {
}
if (count > maxRows) {
context.out.println(String.format("WARNING: the displayed queues are %d/%d, set maxRows to display more queues.", maxRows, count));
getActionContext().out.println(String.format("WARNING: the displayed queues are %d/%d, set maxRows to display more queues.", maxRows, count));
}
}
@ -229,7 +229,7 @@ public class StatQueue extends AbstractAction {
stringBuilder.append(paddingString(new StringBuilder(e.toString()), columnSizes[i++])).append('|');
}
context.out.println(stringBuilder);
getActionContext().out.println(stringBuilder);
}
private void printQueueStats(JsonObject jsonObject, int[] columnSizes) {
@ -237,7 +237,7 @@ public class StatQueue extends AbstractAction {
//should not happen but just in case..
if (jsonObject == null) {
if (verbose) {
context.err.println("printQueueStats(): jsonObject is null");
getActionContext().err.println("printQueueStats(): jsonObject is null");
}
return;
}
@ -250,7 +250,7 @@ public class StatQueue extends AbstractAction {
stringBuilder.append(paddingString(new StringBuilder(jsonObject.getString(e.jsonId)), columnSizes[i++])).append('|');
}
context.out.println(stringBuilder);
getActionContext().out.println(stringBuilder);
}
private StringBuilder paddingString(StringBuilder value, int maxColumnSize) {
@ -285,7 +285,7 @@ public class StatQueue extends AbstractAction {
HashMap<String, Object> filterMap = new HashMap<>();
if (((fieldName != null) && (fieldName.trim().length() > 0)) && ((queueName != null && queueName.trim().length() > 0))) {
context.err.println("'--field' and '--queueName' cannot be specified together.");
getActionContext().err.println("'--field' and '--queueName' cannot be specified together.");
return null;
}
@ -300,19 +300,19 @@ public class StatQueue extends AbstractAction {
filterMap.put("field", field.toString());
} catch (IllegalArgumentException ex) {
context.err.println("'--field' must be set to one of the following " + Arrays.toString(FIELD.values()));
getActionContext().err.println("'--field' must be set to one of the following " + Arrays.toString(FIELD.values()));
return null;
}
//full filter being set ensure value is set
if (value == null || value.trim().length() == 0) {
context.err.println("'--value' needs to be set when '--field' is specified");
getActionContext().err.println("'--value' needs to be set when '--field' is specified");
return null;
}
filterMap.put("value", value);
if (operationName == null) {
context.err.println("'--operation' must be set when '--field' is specified " + Arrays.toString(OPERATION.values()));
getActionContext().err.println("'--operation' must be set when '--field' is specified " + Arrays.toString(OPERATION.values()));
return null;
}
@ -320,7 +320,7 @@ public class StatQueue extends AbstractAction {
OPERATION operation = OPERATION.valueOf(operationName);
filterMap.put("operation", operation.toString());
} catch (IllegalArgumentException ex) {
context.err.println("'--operation' must be set to one of the following " + Arrays.toString(OPERATION.values()));
getActionContext().err.println("'--operation' must be set to one of the following " + Arrays.toString(OPERATION.values()));
return null;
}

View File

@ -75,6 +75,8 @@ public class RecoverMessages extends DBOption {
public static void recover(Configuration configuration, String journallocation, File journalOutput, File largeMessage, boolean reclaimed) throws Exception {
final ActionContext context = ActionContext.system();
File journal = new File(journallocation);
if (!journalOutput.exists()) {
@ -115,7 +117,7 @@ public class RecoverMessages extends DBOption {
for (JournalFile file : files) {
// For reviewers and future maintainers: I really meant System.out.println here
// This is part of the CLI, hence this is like user's output
System.out.println("Recovering messages from file " + file);
context.out.println("Recovering messages from file " + file);
JournalImpl.readJournalFile(messagesFF, file, new JournalReaderCallback() {
long lastlargeMessageId = -1;
@ -163,14 +165,14 @@ public class RecoverMessages extends DBOption {
if (targetJournal.getRecords().get(info.id) != null) {
// Really meant System.out.. user's information on the CLI
System.out.println("RecordID " + info.id + " would been duplicated, ignoring it");
context.out.println("RecordID " + info.id + " would been duplicated, ignoring it");
return;
}
try {
targetJournal.appendAddRecord(info.id, info.userRecordType, info.data, false);
} catch (Exception e) {
// Really meant System.out.. user's information on the CLI
System.out.println("Cannot append record for " + info.id + "->" + e.getMessage());
context.out.println("Cannot append record for " + info.id + "->" + e.getMessage());
}
}
}
@ -183,7 +185,7 @@ public class RecoverMessages extends DBOption {
Pair<Long, Long> pairQueue = new Pair<>(info.id, queue);
if (routeBindigns.contains(pairQueue)) {
// really meant system.out
System.out.println("AddReference on " + info.id + " / queue=" + queue + " has already been recorded, ignoring it");
context.out.println("AddReference on " + info.id + " / queue=" + queue + " has already been recorded, ignoring it");
return;
}
@ -192,8 +194,8 @@ public class RecoverMessages extends DBOption {
try {
targetJournal.appendUpdateRecord(info.id, info.userRecordType, info.data, true);
} catch (Exception e) {
System.out.println("Cannot update record " + info.id + "-> " + e.getMessage());
e.printStackTrace(System.out);
context.out.println("Cannot update record " + info.id + "-> " + e.getMessage());
e.printStackTrace(context.err);
}
}
}

View File

@ -57,13 +57,13 @@ public class AddUser extends PasswordAction {
@Override
public void requestSuccessful(ClientMessage reply) throws Exception {
context.out.println(userCommandUser + " added successfully.");
getActionContext().out.println(userCommandUser + " added successfully.");
}
@Override
public void requestFailed(ClientMessage reply) throws Exception {
String errMsg = (String) ManagementHelper.getResult(reply, String.class);
context.err.println("Failed to add user " + userCommandUser + ". Reason: " + errMsg);
getActionContext().err.println("Failed to add user " + userCommandUser + ". Reason: " + errMsg);
}
});
}

View File

@ -66,7 +66,7 @@ public class ListUser extends UserAction {
@Override
public void requestFailed(ClientMessage reply) throws Exception {
String errMsg = (String) ManagementHelper.getResult(reply, String.class);
context.err.println("Failed to list user " + userCommandUser + ". Reason: " + errMsg);
getActionContext().err.println("Failed to list user " + userCommandUser + ". Reason: " + errMsg);
}
});
@ -86,7 +86,7 @@ public class ListUser extends UserAction {
userCount++;
}
logMessage.append("\n Total: ").append(userCount);
context.out.println(logMessage);
getActionContext().out.println(logMessage);
}
}

View File

@ -46,13 +46,13 @@ public class RemoveUser extends UserAction {
@Override
public void requestSuccessful(ClientMessage reply) throws Exception {
context.out.println(userCommandUser + " removed successfully.");
getActionContext().out.println(userCommandUser + " removed successfully.");
}
@Override
public void requestFailed(ClientMessage reply) throws Exception {
String errMsg = (String) ManagementHelper.getResult(reply, String.class);
context.err.println("Failed to remove user " + userCommandUser + ". Reason: " + errMsg);
getActionContext().err.println("Failed to remove user " + userCommandUser + ". Reason: " + errMsg);
}
});
}

View File

@ -51,13 +51,13 @@ public class ResetUser extends PasswordAction {
@Override
public void requestSuccessful(ClientMessage reply) throws Exception {
context.out.println(userCommandUser + " reset successfully.");
getActionContext().out.println(userCommandUser + " reset successfully.");
}
@Override
public void requestFailed(ClientMessage reply) throws Exception {
String errMsg = (String) ManagementHelper.getResult(reply, String.class);
context.err.println("Failed to reset user " + userCommandUser + ". Reason: " + errMsg);
getActionContext().err.println("Failed to reset user " + userCommandUser + ". Reason: " + errMsg);
}
});
}

View File

@ -2111,7 +2111,9 @@ public class ArtemisTest extends CliTestBase {
String currentLine = bufferedReader.readLine();
while (currentLine != null) {
if (!currentLine.startsWith("Connection brokerURL")) {
lines.add(currentLine);
}
currentLine = bufferedReader.readLine();
}

View File

@ -154,7 +154,7 @@ public class CheckTest extends CliTestBase {
"--replicated", "--host", "127.0.0.1", "--default-port", "61626", "--silent", "--no-autotune", "--no-web", "--require-login", "--slave");
System.setProperty("artemis.instance", masterInstance.getAbsolutePath());
Object master = Artemis.execute(false, null, masterInstance, "run");
Object master = Artemis.execute(false, false, null, masterInstance, "run");
ActiveMQServerImpl masterServer = (ActiveMQServerImpl)((Pair)master).getB();
try {
@ -181,7 +181,7 @@ public class CheckTest extends CliTestBase {
}
LockAbstract.unlock();
Object slave = Artemis.execute(false, null, slaveInstance, "run");
Object slave = Artemis.execute(false, false, null, slaveInstance, "run");
ActiveMQServerImpl slaveServer = (ActiveMQServerImpl)((Pair)slave).getB();
Wait.assertTrue("Backup isn't announced", () -> slaveServer.getBackupManager() != null &&

View File

@ -71,6 +71,8 @@ public class ArtemisCLIPlugin extends ArtemisAbstractPlugin {
@Parameter
private String testPassword = null;
@Parameter boolean useSystemOutput = getLog().isDebugEnabled();
@Override
protected boolean isIgnore() {
return ignore;
@ -125,7 +127,7 @@ public class ArtemisCLIPlugin extends ArtemisAbstractPlugin {
}
}
} else {
Artemis.execute(home, location, args);
Artemis.execute(home, location, useSystemOutput, args);
}
Thread.sleep(600);

View File

@ -147,6 +147,8 @@ public class ArtemisCreatePlugin extends ArtemisAbstractPlugin {
@Parameter(defaultValue = "${noServer}")
boolean ignore;
@Parameter boolean useSystemOutput = getLog().isDebugEnabled();
private void add(List<String> list, String... str) {
for (String s : str) {
list.add(s);
@ -160,7 +162,7 @@ public class ArtemisCreatePlugin extends ArtemisAbstractPlugin {
@Override
protected void doExecute() throws MojoExecutionException, MojoFailureException {
getLog().info("Local " + localRepository);
getLog().debug("Local " + localRepository);
MavenProject project = (MavenProject) getPluginContext().get("project");
if (!isArtemisHome(home.toPath())) {
@ -180,9 +182,11 @@ public class ArtemisCreatePlugin extends ArtemisAbstractPlugin {
Set<Map.Entry> entries = properties.entrySet();
getLog().info("Entries.size " + entries.size());
if (getLog().isDebugEnabled()) {
getLog().debug("Entries.size " + entries.size());
for (Map.Entry entry : entries) {
getLog().info("... key=" + entry.getKey() + " = " + entry.getValue());
getLog().debug("... key=" + entry.getKey() + " = " + entry.getValue());
}
}
ArrayList<String> listCommands = new ArrayList<>();
@ -260,7 +264,7 @@ public class ArtemisCreatePlugin extends ArtemisAbstractPlugin {
commandLineStream.println("# These are the commands used to create " + instance.getName());
commandLineStream.println(getCommandline(listCommands));
Artemis.execute(home, null, listCommands);
Artemis.execute(home, null, useSystemOutput, listCommands);
if (configuration != null) {
String[] list = configuration.list();
@ -297,10 +301,12 @@ public class ArtemisCreatePlugin extends ArtemisAbstractPlugin {
FileUtil.makeExec(commandLine);
getLog().info("###################################################################################################");
getLog().info(commandLine.getName() + " created with commands to reproduce " + instance.getName());
getLog().info("under " + commandLine.getParent());
getLog().info("###################################################################################################");
if (getLog().isDebugEnabled()) {
getLog().debug("###################################################################################################");
getLog().debug(commandLine.getName() + " created with commands to reproduce " + instance.getName());
getLog().debug("under " + commandLine.getParent());
getLog().debug("###################################################################################################");
}
} catch (Throwable e) {
getLog().error(e);