The AS7 plugin contains 7 instances of:
} catch (Exception e) {
e.printStackTrace(); // TODO: Customise this generated block
}
Plugins should never output to stdout or stderr, but should instead use a logger. Otherwise, when exceptions occur, users will get stack traces dumped into their agent command prompt (this just happened to me).
Also, any calls to System.out.println() or System.err.println() should be replaced with logging (I see a call to System.out.println() in JmsComponent).
Note, in discovery components, we should make sure to use the following format for exception handling to make sure an exception during discovery of one resource does not prevent discovery of other resources:
Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
List<ProcessScanResult> processes = discoveryContext.getAutoDiscoveredProcesses();
for (ProcessScanResult process : processes) {
try {
// do discovery ...
discoveredResources.add(detail);
} catch (Exception e) {
// log and continue on to next process
log.error("Failed to discover AS instance for process " + process, e);
}
}
return discoveredResources;