I need to synchronize a list of items using this groovy script.
catalog="catalog"
source = catalogVersionService.getCatalogVersion(catalog,'Staged');
target = catalogVersionService.getCatalogVersion(catalog,'Online');
items = flexibleSearchService.search("query").getResult()
syncItemJob = flexibleSearchService.search("select {pk} from {CatalogVersionSyncJob} where {code} = 'sync catalog:Staged->Online'").getResult().get(0)
res = catalogSynchronizationService.performSynchronization(items, syncItemJob, syncConfig);
return res.getCronJob();<br>
in the result panel I have something like this :
CatalogVersionSyncCronJobModel (9919787635644@8)
that means the cronjob have been created and persisted. but in logs it seems that the same PK is not found. I have the following error :
Exception in thread "SyncWorker<000088B6 4 of 16>" Entity not found ( pk = 9919787635644 name = 'de.hybris.platform.persistence.processing_CronJob' type code = '501' db table = 'cronjobs'): object no longer valid<br> at de.hybris.platform.jalo.Item.getModificationTimeFromPersistenceLayer(Item.java:1630)
at de.hybris.platform.jalo.Item.getLocalItemCache(Item.java:1483)
at de.hybris.platform.jalo.Item.getGetterSetterCache(Item.java:1503)
at de.hybris.platform.jalo.Item$CacheableItemLogic.getCacheMap(Item.java:618)
at de.hybris.platform.jalo.Item$CachedGetter.get(Item.java:753)
at de.hybris.platform.jalo.ExtensibleItem.getProperty(ExtensibleItem.java:343)
at de.hybris.platform.cronjob.jalo.GeneratedCronJob.getJob(GeneratedCronJob.java:981)
at de.hybris.platform.cronjob.jalo.GeneratedCronJob.getJob(GeneratedCronJob.java:990)
at de.hybris.platform.cronjob.jalo.CronJob.activateCronJobThreadSettings(CronJob.java:2621)
at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.prepareThread(CatalogVersionSyncWorkerThread.java:45)
at de.hybris.platform.catalog.jalo.synchronization.CatalogVersionSyncWorkerThread.internalRun(CatalogVersionSyncWorkerThread.java:70)
at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:124)
Caused by: de.hybris.platform.util.jeeapi.YNoSuchEntityException: Entity not found ( pk = 8808676557301 name = 'de.hybris.platform.persistence.processing_CronJob' type code = '501' db table = 'cronjobs')
at de.hybris.platform.persistence.GenericBMPBean.loadData(GenericBMPBean.java:258)
at de.hybris.platform.persistence.GenericBMPBean.ejbLoad(GenericBMPBean.java:147)
at de.hybris.platform.persistence.framework.RemoteInvocationHandler.performOutsideTx(RemoteInvocationHandler.java:193)
at de.hybris.platform.persistence.framework.RemoteInvocationHandler.performOther(RemoteInvocationHandler.java:172)
at de.hybris.platform.persistence.framework.RemoteInvocationHandler.invokeMethod(RemoteInvocationHandler.java:115)
at de.hybris.platform.persistence.framework.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:53)
at com.sun.proxy.$Proxy265.getModifiedTime(Unknown Source)
at de.hybris.platform.persistence.ItemEJBImpl.getModificationTime(ItemEJBImpl.java:141)
at de.hybris.platform.jalo.Item.getModificationTimeFromPersistenceLayer(Item.java:1626)
NB:
- the same script works in my local environment, but not in cloud environments.
- synchronizing items from backoffice works as well.
- if i run the cronjob 9919787635644 from backoffice, works fine
Request clarification before answering.
| User | Count |
|---|---|
| 8 | |
| 5 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.