on 2015 May 13 5:29 AM
Hello, I encountered the following error, when I submit an order. It occurs occasionally on remote server, and it cannot reproduce in my local server, can anybody help me to figure it out? Thank you in advance!
de.hybris.platform.servicelayer.exceptions.SystemException: de.hybris.platform.processengine.definition.NoSuchProcessDefinitionException: No process definition known by name 'order-process(VERSION:84ae5d592bb39101fae0f737761471db11096889fa1a86c6921ed9bb6e431eae)'. at de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(ProcessengineTaskExecutionStrategy.java:41) at de.hybris.platform.task.impl.DefaultTaskService.processTask(DefaultTaskService.java:1128) at de.hybris.platform.task.impl.DefaultTaskService.process(DefaultTaskService.java:1027) at de.hybris.platform.task.impl.DefaultTaskService.processInTenant(DefaultTaskService.java:987) at de.hybris.platform.task.impl.DefaultTaskService$3.run(DefaultTaskService.java:892) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:791) Caused by: de.hybris.platform.processengine.definition.NoSuchProcessDefinitionException: No process definition known by name 'order-process(VERSION:84ae5d592bb39101fae0f737761471db11096889fa1a86c6921ed9bb6e431eae)'. at de.hybris.platform.processengine.definition.DefaultProcessDefinitionFactory.getProcessDefinition(DefaultProcessDefinitionFactory.java:56) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.getProcessDefinition(ProcessengineTaskRunner.java:300) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.processRunError(ProcessengineTaskRunner.java:250) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.doRun(ProcessengineTaskRunner.java:146) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner.java:98) at de.hybris.platform.processengine.process.ProcessengineTaskRunner.run(ProcessengineTaskRunner.java:1) at de.hybris.platform.processengine.task.impl.ProcessengineTaskExecutionStrategy.run(ProcessengineTaskExecutionStrategy.java:33) ... 7 more
Another way to solve this is never modify order-process.xml once your app is in production.
Instead, create a new xml file "order-process2.xml" and put any changes in there. Then:
be sure to put name="order-process2" in the root node of order-process2.xml
define a second bean in your spring xml named orderProcessDefinitionResource2. that points to order-process2.xml.
change the getSubmitOrderProcessCode value of your Store from "order-process" to "order-process2"
Now when you deploy a new build, it will have both the original order-process.xml (for any existing business processes still running), and all new orders will get order-process2.xml.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ian,
I fallowed your process and created new process xml with the new name, everything seems to be working. i am using the same actions class for both the old & new xmls. when i add new transition to the SourceOrderAction(old action), i was not able to place order as i m getting below error. do you have any suggestion foe this issue.
de.hybris.platform.processengine.definition.InvalidProcessDefinitionException: Possible return code 'ON_HOLD' of bean 'com.cerebos.actions.order.SourceOrderAction' is not mapped in transitions fo action 'sourceOrder'
User | Count |
---|---|
33 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.