zoukankan      html  css  js  c++  java
  • Mule 控制Service的启/止

    使用mule-module-management控制

    操作如下:

    首先:加入mule-module-management的依赖

    1.   <dependency>

    2.       <groupId>org.mule.modules</groupId>

    3.       <artifactId>mule-module-management</artifactId>

    4.       <version>${mule.version}</version>

    5.   </dependency>

    然后,配置mule 配置文件:

    1.   <management:jmx-default-config port="8089">

    2.       <management:credentials>

    3.           <spring:entry key="test" value="test"/>

    4.       </management:credentials>

    5.   </management:jmx-default-config>

    6.   <management:jmx-mx4j-adaptor jmxAdaptorUrl="http://127.0.0.1:8089"

    7.       login="test" password="test"/>

    在浏览器中输入http://127.0.0.1:8089 即可

    使用MuleContextAware控制muleContext

    自定义一个service,用于启/service,当需要的时候,向该service发送一个指令,即可实现。配置如下:

    1.   <service name="invokes">

    2.       <inbound>

    3.           <vm:inbound-endpoint path="invoke"/>

    4.       </inbound>

    5.       <component class="manager.MuleContextImpl">

    6.           <method-entry-point-resolver>

    7.               <include-entry-point method="stop"/>

    8.           </method-entry-point-resolver>

    9.       </component>

    10. </service>

    实现类:

    1.   public class MuleContextImpl implements MuleContextAware {

    2.       private org.mule.api.MuleContext muleContext;

    3.    

    4.       public void setMuleContext(org.mule.api.MuleContext muleContext) {

    5.           this.muleContext = muleContext;

    6.       }

    7.    

    8.       public Object stop(Map map) {

    9.           String operate = (String) map.get("operate");

    10.         String serviceName = (String) map.get("service");

    11.         try {

    12.             Service service =
                    muleContext.getRegistry().lookupService(serviceName);

    13.             if ("start".equals(operate)) {

    14.                 service.start();

    15.             } else if ("stop".equals(operate)) {

    16.                 service.stop();

    17.             }

    18.         } catch (MuleException e) {

    19.             e.printStackTrace();

    20.         }

    21.         return "abc";

    22.     }

    23. }

     

    定义一个公共的类

    定义一个公共的类,存放MuleContext,在需要使用时,调用MuleContext

  • 相关阅读:
    MySQL 数据库常用命令
    mysql日常小总结(其实就今天)
    idea修改格式化代码快捷键
    let和const的区别
    【山外笔记-Powershell 教程】学习资源汇总
    C语言实现高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
    学生的记录由学号和成绩组成,输入的指定分数60 69范围,求分数范围内的学生成绩输出
    判断一个字符串是否是回文
    删去一维无序数组中所有相同的数,使之只剩一个。
    删去一维有序数组中所有相同的数,使之只剩一个。
  • 原文地址:https://www.cnblogs.com/zhuyoufeng/p/2050263.html
Copyright © 2011-2022 走看看