Cron作业调用了错误的服务层类

2020-09-13 17:18发布

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

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


嗨,

我创建了一个cron作业,它是另一个现有cron作业的变体。

我附加了不同的业务逻辑。 我已经在* -spring.impex中定义了cron作业。 设置bean,并在xml中匹配我的调用,以调用我编写的新类。

我的cron作业运行,但是它执行与其他cron作业使用的类相同。

否在任何设置文件或xml文件中都没有引用此类的地方。

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

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


嗨,

我创建了一个cron作业,它是另一个现有cron作业的变体。

我附加了不同的业务逻辑。 我已经在* -spring.impex中定义了cron作业。 设置bean,并在xml中匹配我的调用,以调用我编写的新类。

我的cron作业运行,但是它执行与其他cron作业使用的类相同。

否在任何设置文件或xml文件中都没有引用此类的地方。

付费偷看设置
发送
5条回答
95年老男孩
1楼-- · 2020-09-13 18:04

马库斯,你好

在我的集成扩展程序中

我创建了com.clives.integrations.ws.impl软件包。 公共类LocationClientImplShop实现shopLocationClient

然后

/** @author C stewart 这是用于通过调用位置WS来填充商店详细信息的接口/public interface ShopLocationClient {public static final String REQUEST_SUBSCRIBER_NAME =" SubscriberName"; 公共静态最终字符串REQUEST_STATE_ID =" StateID"; 公共静态最终字符串REQUEST_EFFECTIVE_FROM =" EffectiveFrom"; public static final String REQUEST_METHOD_LOCATION ="位置"; public static final String RESPONSE_RESULT_LOCATION =" LocationResult"; 公共静态最终字符串REQUEST_METHOD_LOCATIONTRADINGTIMESALL =" LocationTradingTimesAll"; 公共静态最终字符串RESPONSE_RESULT_LOCATIONTRADINGTIMESALL =" LocationTradingTimesAllResult";

 /**
   *此方法负责填充商店详细信息
   */
  void populateLiquorShopDetails();
  

}

/** /包 com.shoprite.core.jobs ;

导入de.hybris.platform.cronjob.enums.CronJobResult; 导入de.hybris.platform.cronjob.enums.CronJobStatus; 导入de.hybris.platform.cronjob.model.CronJobModel; 导入de.hybris.platform.servicelayer.cronjob.AbstractJobPerformable; 导入de.hybris.platform.servicelayer.cronjob.PerformResult;

导入com.shoprite.core.shopriteservices.LiquorShopProvinceService;

/** @author */公共类PointOfServiceShopImportJob扩展AbstractJobPerformable {private ShopProvinceService shopProvinceService;

 /*
   *(非Javadoc)
   *
   * @请参阅de.hybris.platform.servicelayer.cronjob.AbstractJobPerformable#perform(de.hybris.platform.cronjob.model。
   * CronJobModel)
   */
  @Override
  公共最终PerformResult perform(final CronJobModel arg0)
  {
      shopProvinceService.populateShopStoreDetails();
      返回新的PerformResult(CronJobResult.SUCCESS,CronJobStatus.FINISHED);

  }

  公共无效setShopProvinceService(最终ShopProvinceService shopProvinceService)
  {
      this.shopProvinceService = shopProvinceService;
  }
  

}

在我的核心扩展shopcore中的shopcore-spring.xml

  
      
  


  

然后在Integrations shopintegrations-spring xml中

然后在shopcore essential-data.impex中插入INSERT_UPDATE CronJob; code [unique = true]; job(code); singleExecutable; sessionLanguage(isocode); pointOfServiceShopImportCronJob; pointOfServiceShopImportJob; false; en

INSERT_UPDATE触发器; cronjob(code)[unique = true]; cronExpression; pointOfServiceShopImportCronJob; 0 0 02 ?

大简至美
2楼-- · 2020-09-13 18:22

您能提供更多详细信息吗? 您在哪里配置了什么?

土豆飞人
3楼-- · 2020-09-13 17:57

您是否检查过是否有另一个bean定义以其他实现覆盖了您的 pointOfServiceShopImportJob

运行

  spring.getBean('pointOfServiceShopImportJob')

  
在脚本控制台中

并检查它是否为预期的类。

SAP浪
4楼-- · 2020-09-13 18:05

HI,

如果将调试点放在为cron作业发送的代码的第10行,并检查shopProvinceService,则可以找到该类的装入。 此外,您还可以看到哪个bean正在注入该类,如果您找到任何引用,则可以从该bean名称中查找源代码。 最好是看看是什么导致了此问题。

谢谢

太Q了
5楼-- · 2020-09-13 18:05

谢谢大家

我将尝试上述建议,谢谢您的帮助。

一周热门 更多>