package com.genersoft.iot.vmp.vmanager; import com.genersoft.iot.vmp.common.InviteInfo; import com.genersoft.iot.vmp.common.InviteSessionType; import com.genersoft.iot.vmp.common.VideoManagerConstants; import com.genersoft.iot.vmp.media.event.hook.Hook; import com.genersoft.iot.vmp.media.event.hook.HookSubscribe; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.Cursor; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ScanOptions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Map; @RestController @RequestMapping("/api/test") public class TestController { @Autowired private HookSubscribe subscribe; @Autowired private RedisTemplate redisTemplate; @GetMapping("/hook/list") public List all(){ return subscribe.getAll(); } @GetMapping("/redis") public List redis(){ InviteSessionType type = InviteSessionType.PLAY; String channelId = null; String stream = null; String key = VideoManagerConstants.INVITE_PREFIX; String keyPattern = (type != null ? type : "*") + ":" + (channelId != null ? channelId : "*") + ":" + (stream != null ? stream : "*") + ":*"; ScanOptions options = ScanOptions.scanOptions().match(keyPattern).count(20).build(); Cursor> cursor = redisTemplate.opsForHash().scan(key, options); List result = new ArrayList<>(); try { while (cursor.hasNext()) { System.out.println(cursor.next().getKey()); result.add((InviteInfo) cursor.next().getValue()); } }catch (Exception e) { }finally { cursor.close(); } return result; } // @Bean // public ServletRegistrationBean druidStatViewServlet() { // ServletRegistrationBean registrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); // registrationBean.addInitParameter("allow", "127.0.0.1");// IP白名单 (没有配置或者为空,则允许所有访问) // registrationBean.addInitParameter("deny", "");// IP黑名单 (存在共同时,deny优先于allow) // registrationBean.addInitParameter("loginUsername", "admin"); // registrationBean.addInitParameter("loginPassword", "admin"); // registrationBean.addInitParameter("resetEnable", "false"); // return registrationBean; // } }