All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.logicbus.redis.xscript.RedisInfo Maven / Gradle / Ivy

package com.logicbus.redis.xscript;

import com.alogic.xscript.AbstractLogiclet;
import com.alogic.xscript.ExecuteWatcher;
import com.alogic.xscript.Logiclet;
import com.alogic.xscript.LogicletContext;
import com.alogic.xscript.doc.XsObject;
import com.anysoft.util.Pair;
import com.anysoft.util.Properties;
import com.anysoft.util.PropertiesConstants;
import com.logicbus.redis.client.Client;
import com.logicbus.redis.toolkit.InfoTool;

import java.util.ArrayList;
import java.util.List;

/**
 * 获取redis信息
 *
 * @since 1.6.12.56 [20191226] 
*/ public class RedisInfo extends AbstractLogiclet { protected String pid = "$redis-client"; protected String prefix = "redis_"; protected String $section = "all"; public RedisInfo(String tag, Logiclet p) { super(tag, p); } @Override public void configure(Properties p){ super.configure(p); pid = PropertiesConstants.getString(p,"pid",pid,true); prefix = PropertiesConstants.getString(p,"prefix",prefix); $section = PropertiesConstants.getString(p,"section",$section); } @Override protected void onExecute(XsObject root, XsObject current, LogicletContext ctx, ExecuteWatcher watcher) { Client client = ctx.getObject(pid); if (client != null){ InfoTool infoTool = (InfoTool) client.getToolKit(InfoTool.class); List> result = new ArrayList>(); infoTool.info(PropertiesConstants.transform(ctx,$section,"all"),result); for (Pair p:result){ ctx.SetValue(String.format("%s%s",prefix,p.key()),p.value()); } } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy