StatusChecker Extension

    Summary

    Extension to check status of resources service depends on. This status checker can be used in both telnet status command and status page.

    Extension Interface

    org.apache.dubbo.common.status.StatusChecker

    Extension Configuration

    <dubbo:protocol status="xxx,yyy" />
    <!-- default configuration, will take effect if no status attribute is configured in <dubbo:protocol> -->
    <dubbo:provider status="xxx,yyy" />
    

    Existing Extension

    • org.apache.dubbo.common.status.support.MemoryStatusChecker
    • org.apache.dubbo.common.status.support.LoadStatusChecker
    • org.apache.dubbo.rpc.dubbo.status.ServerStatusChecker
    • org.apache.dubbo.rpc.dubbo.status.ThreadPoolStatusChecker
    • org.apache.dubbo.registry.directory.RegistryStatusChecker
    • org.apache.dubbo.rpc.config.spring.status.SpringStatusChecker
    • org.apache.dubbo.rpc.config.spring.status.DataSourceStatusChecker

    Extension Guide

    Directory layout:

    src
     |-main
        |-java
            |-com
                |-xxx
                    |-XxxStatusChecker.java (StatusChecker implementation)
        |-resources
            |-META-INF
                |-dubbo
                    |-org.apache.dubbo.common.status.StatusChecker (plain text file with the content: xxx=com.xxx.XxxStatusChecker)
    

    XxxStatusChecker.java:

    package com.xxx;
     
    import org.apache.dubbo.common.status.StatusChecker;
     
    public class XxxStatusChecker implements StatusChecker {
        public Status check() {
            // ...
        }
    }
    

    META-INF/dubbo/org.apache.dubbo.common.status.StatusChecker:

    xxx=com.xxx.XxxStatusChecker