覆盖MediaModel的getDownloadUrl

2020-09-27 04:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,专家,我们在core-it...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,专家,我们在core-items.xml中有一个属性,名为downloadURL,它属于Media类型。 当我们需要操纵该属性的返回值时,我们已经使用了方面。 但是现在,我们遇到了一些性能问题。 因此,我们尝试摆脱aop的使用。 我想,由于不可写的属性,我没有机会使用拦截器。 在这种情况下,您会建议我什么做法? 谢谢

  
                  <自定义属性>
                      
                           java.lang.Boolean.FALSE 
                      
                  
                  
                  <修饰符read =" true" write =" false"可移动=" true" search =" false"可选=" true"/>
                  <型号>
                      
                      
                  
              

  

具有方面的解决方案(现在已存在于系统中):代码是我要从aop中覆盖的内容:(目前在方面类中)

  @Around(" execution(public * de.hybris.platform.core.model.media.MediaModel.getDownloadURL(..))")
  public String getDownloadUrlByAspect(final ProceedingJoinPoint pjp)抛出Throwable
  {
      最终的LocalMediaWebURLStrategy localMediaWebURLStrategy = Registry.getApplicationContext()
              .getBean(LocalMediaWebURLStrategy.class);

      最终的MediaStorageConfigService mediaStorageConfigService = Registry.getApplicationContext()
              .getBean(MediaStorageConfigService.class);

      MediaModel mediaModel =(MediaModel)pjp.getThis();

      MediaStorageConfigService.MediaFolderConfig config = mediaStorageConfigService
              .getConfigForFolder(mediaModel.getFolder()。getQualifier());

      final String downloadURL = localMediaWebURLStrategy.getDownloadUrlForMedia(config,new ModelMediaSource(mediaModel));

      LogMF.debug(LOG,"媒体的新媒体下载URL为{0}",新的Object []
      {downloadURL});

      返回downloadURL;
  }