@Override
    public void handlerPlugin(final PluginData pluginData) {
        if (Objects.nonNull(pluginData) && Boolean.TRUE.equals(pluginData.getEnabled())) {
            TarsRegisterConfig tarsRegisterConfig = GsonUtils.getInstance().fromJson(pluginData.getConfig(), TarsRegisterConfig.class);
            TarsRegisterConfig exist = Singleton.INST.get(TarsRegisterConfig.class);
            if (Objects.isNull(tarsRegisterConfig)) {
                return;
            }
            if (Objects.isNull(exist) || !tarsRegisterConfig.equals(exist)) {
                // If it is null, cache it
                ApplicationConfigCache.getInstance().init(tarsRegisterConfig);
            }
            Singleton.INST.single(TarsRegisterConfig.class, tarsRegisterConfig);
        }
    }
@Test
    public void testHandlerPlugin() {
        final PluginData pluginData = new PluginData("id", "name", "{\"threadpool\":\"cached\",\"corethreads\":1,\"threads\":2,\"queues\":3}", "0", true, null);
        tarsPluginDataHandlerUnderTest.handlerPlugin(pluginData);
        assertTrue(pluginData.getName().endsWith("name"));
        TarsRegisterConfig config = Singleton.INST.get(TarsRegisterConfig.class);
        Assertions.assertEquals(config.getThreadpool(), "cached");
        Assertions.assertEquals(config.getCorethreads(), 1);
        Assertions.assertEquals(config.getThreads(), 2);
        Assertions.assertEquals(config.getQueues(), 3);
    }