From ec6a488a9563c13f57820f0232e650217fe05aaa Mon Sep 17 00:00:00 2001 From: Christian Dupuis Date: Mon, 18 Nov 2013 20:09:36 +0100 Subject: [PATCH] Upgrade to crash-1.3.0-beta11 --- spring-boot-dependencies/pom.xml | 12 +- .../spring-boot-starter-shell-remote/pom.xml | 8 ++ .../main/resources/commands/crash/help.groovy | 58 --------- .../main/resources/commands/crash/jmx.groovy | 123 ------------------ 4 files changed, 19 insertions(+), 182 deletions(-) delete mode 100644 spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/help.groovy delete mode 100644 spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/jmx.groovy diff --git a/spring-boot-dependencies/pom.xml b/spring-boot-dependencies/pom.xml index 6a0cad82b49..bb5c7990074 100644 --- a/spring-boot-dependencies/pom.xml +++ b/spring-boot-dependencies/pom.xml @@ -49,7 +49,7 @@ 2.0.1 1.1.3 7.0.42 - 1.3.0-beta8 + 1.3.0-beta11 @@ -514,6 +514,16 @@ crash.embed.spring ${crashub.version} + + org.crashub + crash.plugins.cron + ${crashub.version} + + + org.crashub + crash.plugins.mail + ${crashub.version} + org.crashub crash.shell diff --git a/spring-boot-starters/spring-boot-starter-shell-remote/pom.xml b/spring-boot-starters/spring-boot-starter-shell-remote/pom.xml index 06da148b072..847e46e91f1 100644 --- a/spring-boot-starters/spring-boot-starter-shell-remote/pom.xml +++ b/spring-boot-starters/spring-boot-starter-shell-remote/pom.xml @@ -59,6 +59,14 @@ + + org.crashub + crash.plugins.cron + + + org.crashub + crash.plugins.mail + org.crashub crash.shell diff --git a/spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/help.groovy b/spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/help.groovy deleted file mode 100644 index 4ea73636cac..00000000000 --- a/spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/help.groovy +++ /dev/null @@ -1,58 +0,0 @@ -package crash.commands.base; - -import org.crsh.cli.Command; -import org.crsh.cli.Usage; -import org.crsh.command.BaseCommand; -import org.crsh.command.DescriptionFormat; -import org.crsh.command.InvocationContext; -import org.crsh.command.ShellCommand; -import org.crsh.shell.impl.command.CRaSH; -import org.crsh.text.Color; -import org.crsh.text.Decoration; -import org.crsh.text.Style; -import org.crsh.text.ui.LabelElement; -import org.crsh.text.ui.RowElement; -import org.crsh.text.ui.TableElement; - -import java.io.IOException; - -/** @author Julien Viet */ -public class help extends BaseCommand { - - @Usage("provides basic help") - @Command - public void main(InvocationContext context) throws IOException { - - // - TableElement table = new TableElement().rightCellPadding(1); - table.add( - new RowElement(). - add(new LabelElement("NAME").style(Style.style(Decoration.bold))). - add(new LabelElement("DESCRIPTION"))); - - // - CRaSH crash = (CRaSH)context.getSession().get("crash"); - Iterable names = crash.getCommandNames(); - for (String name : names) { - try { - ShellCommand cmd = crash.getCommand(name); - if (cmd != null) { - String desc = cmd.describe(name, DescriptionFormat.DESCRIBE); - if (desc == null) { - desc = ""; - } - table.add( - new RowElement(). - add(new LabelElement(name).style(Style.style(Color.red))). - add(new LabelElement(desc))); - } - } catch (Exception ignore) { - // - } - } - - // - context.provide(new LabelElement("Try one of these commands with the -h or --help switch:\n")); - context.provide(table); - } -} diff --git a/spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/jmx.groovy b/spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/jmx.groovy deleted file mode 100644 index 973723d094e..00000000000 --- a/spring-boot-starters/spring-boot-starter-shell-remote/src/main/resources/commands/crash/jmx.groovy +++ /dev/null @@ -1,123 +0,0 @@ -package crash.commands.base; - -import org.crsh.cli.Argument; -import org.crsh.cli.Command; -import org.crsh.cli.Option; -import org.crsh.cli.Usage; -import org.crsh.command.BaseCommand; -import org.crsh.command.InvocationContext; -import org.crsh.command.PipeCommand; -import org.crsh.command.ScriptException; - -import javax.management.JMException; -import javax.management.MBeanAttributeInfo; -import javax.management.MBeanInfo; -import javax.management.MBeanServer; -import javax.management.ObjectInstance; -import javax.management.ObjectName; -import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** @author Julien Viet */ -@Usage("Java Management Extensions") -public class jmx extends BaseCommand { - - @Usage("find mbeans") - @Command - public void find( - InvocationContext context, - @Usage("The object name pattern") - @Option(names=["p", "pattern"]) - String pattern) throws Exception { - - // - ObjectName patternName = pattern != null ? ObjectName.getInstance(pattern) : null; - MBeanServer server = ManagementFactory.getPlatformMBeanServer(); - Set instances = server.queryMBeans(patternName, null); - for (ObjectInstance instance : instances) { - context.provide(instance.getObjectName()); - } -/* - if (context.piped) { - } else { - UIBuilder ui = new UIBuilder() - ui.table(columns: [1,3]) { - row(bold: true, fg: black, bg: white) { - label("CLASS NAME"); label("OBJECT NAME") - } - instances.each { instance -> - row() { - label(foreground: red, instance.getClassName()); label(instance.objectName) - } - } - } - out << ui; - } -*/ - } - - @Command - @Usage("return the attributes info of an MBean") - public void attributes(InvocationContext context, @Argument ObjectName name) throws IOException { - MBeanServer server = ManagementFactory.getPlatformMBeanServer(); - try { - MBeanInfo info = server.getMBeanInfo(name); - for (MBeanAttributeInfo attributeInfo : info.getAttributes()) { - HashMap tuple = new HashMap(); - tuple.put("name", attributeInfo.getName()); - tuple.put("type", attributeInfo.getType()); - tuple.put("description", attributeInfo.getDescription()); - context.provide(tuple); - } - } - catch (JMException e) { - throw new ScriptException("Could not access MBean meta data", e); - } - } - - @Usage("get attributes of an MBean") - @Command - public PipeCommand get(@Argument final List attributes) { - - // Determine common attributes from all names - if (attributes == null || attributes.isEmpty()) { - throw new ScriptException("Must provide JMX attributes"); - } - - // - return new PipeCommand() { - - /** . */ - private MBeanServer server; - - @Override - public void open() throws ScriptException { - server = ManagementFactory.getPlatformMBeanServer(); - } - - @Override - public void provide(ObjectName name) throws IOException { - try { - HashMap tuple = new HashMap(); - for (String attribute : attributes) { - String prop = name.getKeyProperty(attribute); - if (prop != null) { - tuple.put(attribute, prop); - } - else { - tuple.put(attribute, server.getAttribute(name, attribute)); - } - } - context.provide(tuple); - } - catch (JMException ignore) { - // - } - } - }; - } -}