package com.ard.vtdu.api.factory; import com.ard.common.core.domain.R; import com.ard.vtdu.api.RemoteArdMediaService; import com.ard.vtdu.api.RemoteArdVtduService; import com.ard.vtdu.api.domian.ArdVtdu; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; /** * 流媒体服务降级处理 * * @author ard */ @Component public class RemoteArdMediaFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(RemoteArdMediaFallbackFactory.class); @Override public RemoteArdMediaService create(Throwable throwable) { log.error("流媒体Mediamtx服务调用失败:{}", throwable.getMessage()); return new RemoteArdMediaService() { @Override public R add(ArdVtdu ardVtdu, String source) { return R.fail("添加Mediamtx失败:" + throwable.getMessage()); } @Override public R remove(String name, String source) { return R.fail("移除Mediamtx失败:" + throwable.getMessage()); } }; } }