Showing posts from August, 2018

What is the PartOf modifier in Hybris items.xml?

What is PartOf? PartOf modifier is used to define the aggregation relationship between Parent and Child objects. To explain it better I would say PartOf is used to defining cascade delete. When we delete a Parent object then all its child objects(partOf) will be deleted automatically. Why or When to use PartOf? PartOf may make sense when the relationship involves "is part of" description. For example, an OrderEntry record(AbstractOrderEntry) is part of its parent Order(AbstractOrder), and older entries will never be shared between multiple orders. If the Order were to vanish, the OrderEntry should as well, and an order entry without an Order would be a problem. How to use PartOf? On the removal of an order, if we want to remove all associated order entries automatically, then we can define partOf in its relation like <relation code="AbstractOrder2AbstractOrderEntry" localized="false" generate="true" autocreate="true"> &…

How to Integrate DCEVM code hot-swapping with Hybris Platform

Are you tired of restarting Hybris Platform everytime you change some Java code? Don’t worry, it happens to everyone. The good news is, there are tools available in the market which allow hot-swapping Java code in runtime(No need to redeploy). Like Jrebeldcevm etc. Well, Jrebel is very good tools, having many features, but everyone can't afford it(Not free!!). If you are an open sourcist (like me), go with open source DCEVM (Dynamic Code Evolution VM). Continue reading this post if you are looking for How to integrate DCEVM with Hybris Platform? JRebel alternatives for SAP Hybris Java code hot-swapping in Hybris Although, this is documented in help.hybris, here I'm elaborating exact steps/commands, which I've followed to configure DCEVM in my windows system. 1. Download DCEVM Download the latest release of DCEVM jar.
There are two modes to install the DCEVM
Enhanced Debugger (I'm going to configure this here) This is the simplest mode where the patched JVM allows to use…