从拉取百度报表业务得到的经验

   拉百度报表业务,是拉取各渠道业务之中的一个. 一大亮点是我们设计成了工厂模式,通过将所有的实现类@Autowired进入spring,然后再塞进map里,获取的时候通过渠道的tag取出对应的实现类.

 @Qualifier("gdtMediaVendorBizManager")
    @Autowired()
    public void setGdtDeliveryReportDataManager(MediaVendorBizManager mediaVendorBizManager) {
        putMap(mediaVendorBizManager);
    }


 /**
     * put managerMap
     *
     * @param mediaVendorBizManager
     */
    private void putMap(MediaVendorBizManager mediaVendorBizManager) {
        MANAGER_MAP.put(mediaVendorBizManager.withBusinessTagEnum().getTag(), mediaVendorBizManager);
    }

第二大亮点是, 百度报表分为搜索引擎和信息流,他俩的方法很相像,有不同的地方基本上是参数的不同.

这俩实现类可以抽取出公共方法,我之前想的是写一个 Component类,这里面写公共方法,

然后那俩实现类Autowired那个 Component类.这样做,不太好,因为凭空多出了一个Component类.

康x提出,说建一个抽象类,这个抽象类 implements 那个顶层接口.然后那俩原先的实现类继承这个抽象类.

然后在抽象类里,实现拉取报表方法,然后将那俩实现类不同的地方, 封装成抽象方法,在拉取报表那个接口方法中,调用抽象方法, 抽象方法就由那俩实现类来实现.

这样,那俩实现类根本不用实现拉取报表方法, 只由抽象类实现就好了,他俩只需要实现不同的参数封装方法.真正做到了代码解耦,和代码复用.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以在Dockerfile中使用以下命令从私有镜像仓库(私服)拉取镜像: ``` FROM 私服地址/镜像名称:标签 ``` 其中,私服地址是指您私有镜像仓库的地址,镜像名称是您要拉取的镜像的名称,标签是指您要拉取的镜像的版本标签。 如果在使用Dockerfile时出现认证失败的问题,可以参考以下步骤进行解决: 1. 确保您已经在私服上正确配置了凭据,包括用户名、密码和电子邮件地址。您可以使用以下命令创建一个私有镜像的凭据: ``` kubectl create secret docker-registry regcred --docker-server=<私服地址> --docker-username=<用户名> --docker-password=<密码> --docker-email=<电子邮件地址> ``` 2. 在Dockerfile中使用以下命令指定凭据: ``` FROM 私服地址/镜像名称:标签 ARG 私服地址 ARG 用户名 ARG 密码 ARG 电子邮件地址 RUN --mount=type=secret,id=regcred,target=/root/.docker/config.json \ echo "{\"auths\":{\"$私服地址\":{\"username\":\"$用户名\",\"password\":\"$密码\",\"email\":\"$电子邮件地址\",\"auth\":\"\"}}}" > /root/.docker/config.json ``` 3. 在部署Docker容器的服务器上,检查Docker的配置文件是否支持使用HTTP连接私有镜像仓库。您可以使用以下命令修改并重启Docker: ``` vim /etc/docker/daemon.json ``` 在daemon.json文件中添加以下内容: ``` { "insecure-registries": ["私服地址"] } ``` 保存并退出vim,然后重启Docker服务: ``` systemctl restart docker ``` 确保Docker服务已成功重启: ``` systemctl status docker ``` 这样您就可以在Dockerfile中使用私服地址拉取镜像了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [从私有仓库拉取镜像](https://blog.csdn.net/weixin_39566593/article/details/111539743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Dockerfile From 私有库认证问题](https://blog.csdn.net/weixin_39873356/article/details/111539745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [构建公司内部自己的Docker私有库,上传镜像到私服,从私服拉取镜像](https://blog.csdn.net/qq_46112274/article/details/125944548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值