【发布时间】:2015-07-02 10:15:44
【问题描述】:
根据Spring boot documentation,在使用基于Crash的远程shell时可以定义额外的命令。
这些命令的默认位置是 classpath*:/commands/,classpath*:/crash/commands/
属性可用于覆盖默认位置,但在提供的示例中,自定义命令位于资源中。
在我看来,自定义命令(至少是 java 命令)不应位于资源中,而应位于 src/main/java 中。
在资源中定义自定义路径时效果很好,但是如何在 src/main/java 中定义自定义路径?暂时没找到办法!
【问题讨论】:
-
我也想知道这一点,因为我想创建可以访问 spring 上下文的命令,当然还有我的类路径上的其他类。
-
@xenoterracide documentation 暂时并没有那么明确,但是这个声明对我来说是一个很好的起点
def bean = context.attributes.beans["TheBean"];。我在 Java 中所做的是扩展org.crsh.command.BaseCommand并创建了我的方法protected <T> T getSpringBean(Class<T> beanClass),它只是简单地执行return ((BeanFactory) this.context.getAttributes().get("spring.beanfactory")).getBean(beanClass);
标签: java spring-boot spring-boot-actuator crash-shell