2016-05-12 114 views
3

我试图将hawtio集成到使用apache骆驼的spring-boot应用程序中。我跟着Spring-Boot Embedded WarsHow to run hawt.io in spring boot application with embedded tomcat加入HawtioConfiguration(除kubeservice和kubepod其不在io.hawt.web包)春季启动,apache骆驼和hawtio:不能发送消息到端点

所以,这样的作品,最多的地方,我试图manualy点发送消息到直接来自hawtio界面的端点(http://localhost:8080/hawtio/index.html#/camel/sendMessage?tab=camel&nid=root-org.apache.camel-camel-1-endpoints-%22direct:%2F%2Fdummy%22)。出现以下警告,并且不发送消息:

Camel does not support sending to this endpoint. 

那么,我忘记了什么吗?这里是我的设置:springboot 1.3.3.RELEASE具有以下依存关系:

<dependency> 
     <groupId>org.apache.camel</groupId> 
     <artifactId>camel-spring-boot-starter</artifactId> 
     <version>2.17.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jdbc</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jersey</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-actuator</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>io.hawt</groupId> 
     <artifactId>hawtio-springboot</artifactId> 
     <version>1.4.64</version> 
    </dependency> 
    <dependency> 
     <groupId>io.hawt</groupId> 
     <artifactId>hawtio-core</artifactId> 
     <version>1.4.64</version> 
    </dependency> 

和Application.java:

@SpringBootApplication 
@EnableHawtio 
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 
public class Application { 

    @Autowired 
    private ServletContext servletContext; 

    public static void main(String[] args) { 
     System.setProperty(AuthenticationFilter.HAWTIO_AUTHENTICATION_ENABLED, "false"); 
     SpringApplication.run(Application.class, args); 
    } 
    @PostConstruct 
    public void init() { 
     final ConfigManager configManager = new ConfigManager(); 
     configManager.init(); 
     servletContext.setAttribute("ConfigManager", configManager); 
    } 
} 

谢谢!

编辑:使用hawtio作为一个独立的应用程序,连接到springboot工作正常

EDIT2:移动上,我用hawtio作为另一个项目(同版)一战,部署在一个Tomcat 7相同的问题,不能发送到一个直接的端点。 去图。

回答

0

使用hawtio作为战争选项使用弹簧引导和骆驼的应用程序非常好,我已经成功地使用它。 检查hawtio github上的代码示例,它包含了很好的样本,试图 https://github.com/hawtio/hawtio

此外,我将分享与样品的使用hawtio笏或作为Maven插件,在我的github链接。

+0

我得到了一个战争hawtio网站,并通过'连接'面板连接到弹簧引发产生相同的结果。我可以看到并监视我的路线,但无法发送消息给其中的一个 – jlb

0

我有同样的问题:我不能使用hawt.io发送到直接端点(或任何其他端点)。也许这是hawt.io中的一个常见的Bug /未实现的功能?

但是,以下是可能的:

  • 复制端点URL
  • 在hawt.io选择上下文节点
  • 点击 “操作”
  • 使用方法sendStringBody(java中。 lang.String,java.lang.String)向该端点发送一个字符串
  • 第一个参数是您可以粘贴的端点URI