Skip to content

Instantly share code, notes, and snippets.

@SiddiqueAhmad
Created July 1, 2022 05:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SiddiqueAhmad/30f581ac41877acd484edb2fbce3fd54 to your computer and use it in GitHub Desktop.
Save SiddiqueAhmad/30f581ac41877acd484edb2fbce3fd54 to your computer and use it in GitHub Desktop.
axelor model entity listener, using events like preremove
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.4.xsd">
<module name="message" package="com.axelor.apps.message.db"/>
<entity name="Message">
<entity-listener class="com.edgesyn.message.db.repo.MessageListener"/>
</entity>
</domain-models>
package com.edgesyn.message.db.repo;
import com.axelor.apps.message.db.Message;
import com.google.inject.persist.Transactional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.persistence.PreRemove;
import java.lang.invoke.MethodHandles;
public class MessageListener {
private final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
// Called upon PostPersist or PostUpdate events on Message objects.
@PreRemove
@Transactional(rollbackOn = {Exception.class})
private void onPreRemove(Message message) {
log.debug("before removing " + message.getId());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment