List of usage examples for org.hibernate.event.service.spi EventListenerRegistry getEventListenerGroup
<T> EventListenerGroup<T> getEventListenerGroup(EventType<T> eventType);
From source file:at.molindo.esi4j.module.hibernate.DefaultHibernateLifecycleInjector.java
License:Apache License
private void removeListeners(EventListenerRegistry registry, Object listener, EventType<?>... eventTypes) { for (EventType<?> eventType : eventTypes) { Iterator<?> iter = registry.getEventListenerGroup(eventType).listeners().iterator(); while (iter.hasNext()) { if (iter.next() == listener) { iter.remove();/*from w w w . jav a2 s.c om*/ } } } }
From source file:com.corundumstudio.core.extensions.hibernate.BaseTest.java
License:Apache License
protected static void initHibernate() { Properties props = buildDatabaseConfiguration("db1"); Configuration cfg = new Configuration(); cfg.setProperty(Environment.GENERATE_STATISTICS, "true"); cfg.setProperty(AvailableSettings.HBM2DDL_AUTO, "create"); cfg.setProperty(AvailableSettings.CACHE_REGION_FACTORY, InfinispanRegionFactory.class.getName()); cfg.setProperty(InfinispanRegionFactory.INFINISPAN_CONFIG_RESOURCE_PROP, "infinispan.xml"); cfg.setProperty(AvailableSettings.QUERY_CACHE_FACTORY, DynamicQueryCacheFactory.class.getName()); cfg.setProperty(Environment.USE_SECOND_LEVEL_CACHE, "true"); cfg.setProperty(Environment.USE_QUERY_CACHE, "true"); cfg.addAnnotatedClass(SimpleEntity.class); cfg.buildMappings();/*from w w w .j a va 2 s.c o m*/ ServiceRegistryBuilder sb = new ServiceRegistryBuilder(); ServiceRegistry serviceRegistry = sb.applySettings(props).buildServiceRegistry(); sessionFactory = (SessionFactoryImplementor) cfg.buildSessionFactory(serviceRegistry); EventListenerRegistry registry = sessionFactory.getServiceRegistry() .getService(EventListenerRegistry.class); registry.getEventListenerGroup(EventType.POST_UPDATE).appendListener(queryCacheEntityListener); registry.getEventListenerGroup(EventType.POST_INSERT).appendListener(queryCacheEntityListener); registry.getEventListenerGroup(EventType.POST_DELETE).appendListener(queryCacheEntityListener); }
From source file:com.github.javarch.persistence.orm.hibernate.spi.JavarchEventListenerIntegrator.java
License:Apache License
@Override public void integrate(Configuration configuration, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) { LOG.info("Adicionando eventos customizados ao EventListenerRegistry."); EventListenerRegistry registry = serviceRegistry.getService(EventListenerRegistry.class); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(new PreInsertEventListener()); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(new PreUpdateEventListener()); }
From source file:com.invariantproperties.sandbox.springentitylistener.listener.HibernateEntityListenersConfigurer.java
License:Apache License
@PostConstruct public void registerListeners() { HibernateEntityManagerFactory hemf = (HibernateEntityManagerFactory) emf; SessionFactory sf = hemf.getSessionFactory(); EventListenerRegistry registry = ((SessionFactoryImpl) sf).getServiceRegistry() .getService(EventListenerRegistry.class); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT).appendListener(listener); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE).appendListener(listener); registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(listener); registry.getEventListenerGroup(EventType.POST_COMMIT_DELETE).appendListener(listener); registry.getEventListenerGroup(EventType.POST_LOAD).appendListener(listener); }
From source file:com.invariantproperties.sandbox.springentitylistener.listener.SpringEntityListenersConfigurer.java
License:Apache License
@PostConstruct public void registerListeners() { // get registry so we can add listeners. HibernateEntityManagerFactory hemf = (HibernateEntityManagerFactory) entityManagerFactory; SessionFactory sf = hemf.getSessionFactory(); EventListenerRegistry registry = ((SessionFactoryImpl) sf).getServiceRegistry() .getService(EventListenerRegistry.class); final Set<Object> listeners = new HashSet<Object>(); EntityManager entityManager = null;/* w ww .j av a 2s . c o m*/ try { entityManager = hemf.createEntityManager(); // for every entity known to the system... for (EntityType<?> entity : entityManager.getMetamodel().getEntities()) { // ... register event listeners for it. if (entity.getJavaType().isAnnotationPresent(SpringEntityListeners.class)) { SpringEntityListeners annotation = (SpringEntityListeners) entity.getJavaType() .getAnnotation(SpringEntityListeners.class); for (Class<?> beanClass : annotation.value()) { Map<String, ?> map = context.getBeansOfType(beanClass); listeners.addAll(map.values()); } } } } finally { if (entityManager != null) { entityManager.close(); } } // register adapter and listeners. HibernateEntityListenersAdapter adapter = new HibernateEntityListenersAdapter( new ArrayList<Object>(listeners), entityManagerFactory); registry.getEventListenerGroup(EventType.PRE_INSERT).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT).appendListener(adapter); registry.getEventListenerGroup(EventType.PRE_UPDATE).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE).appendListener(adapter); registry.getEventListenerGroup(EventType.PRE_DELETE).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_COMMIT_DELETE).appendListener(adapter); registry.getEventListenerGroup(EventType.POST_LOAD).appendListener(adapter); }
From source file:de.dktk.dd.rpb.portal.audit.HibernateListenerRegistration.java
License:Open Source License
private <T> void register(EventType<T> eventType, T t) { EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory).getServiceRegistry() .getService(EventListenerRegistry.class); log.info("Registering " + t.getClass() + " listener on " + eventType + " events."); registry.getEventListenerGroup(eventType).appendListener(t); }
From source file:debop4k.data.orm.hibernate.HibernateEx.java
License:Apache License
/** * Hibernate SessionFactory ? event listener ?. * * @param factory SessionFactory instance * @param listener Listener instance/*ww w .j a va 2 s . c o m*/ * @param eventTypes ? ? */ @SuppressWarnings("unchecked") public static <T> void registerEventListener(@NonNull SessionFactory factory, T listener, Collection<EventType<?>> eventTypes) { EventListenerRegistry registry = ((SessionFactoryImpl) factory).getServiceRegistry() .getService(EventListenerRegistry.class); for (EventType eventType : eventTypes) { registry.getEventListenerGroup(eventType).appendListener(listener); } }
From source file:edu.nps.moves.mmowgli.hibernate.AbstractVHib.java
License:Open Source License
protected void _installDataBaseListeners()// AppMaster apMas) { DatabaseListeners dlis = new DatabaseListeners(sr); MSysOut.println(HIBERNATE_LOGS, "Installing db listeners"); EventListenerRegistry registry = ((SessionFactoryImpl) sf).getServiceRegistry() .getService(EventListenerRegistry.class); registry.addDuplicationStrategy(new DuplicationStrategy() { @Override/*from w ww. ja va 2s . c om*/ public boolean areMatch(Object listener, Object original) { return false; } @Override public Action getAction() { return null; } }); if (dlis.getSaveListener() != null) registry.getEventListenerGroup(EventType.SAVE).appendListener(dlis.getSaveListener()); if (dlis.getUpdateListener() != null) registry.getEventListenerGroup(EventType.UPDATE).appendListener(dlis.getUpdateListener()); if (dlis.getSaveOrUpdateListener() != null) registry.getEventListenerGroup(EventType.SAVE_UPDATE).appendListener(dlis.getSaveOrUpdateListener()); if (dlis.getDeleteListener() != null) registry.getEventListenerGroup(EventType.DELETE).appendListener(dlis.getDeleteListener()); if (dlis.getPostInsertListener() != null) registry.getEventListenerGroup(EventType.POST_COMMIT_INSERT) .appendListener(dlis.getPostInsertListener()); if (dlis.getPostUpdateListener() != null) registry.getEventListenerGroup(EventType.POST_COMMIT_UPDATE) .appendListener(dlis.getPostUpdateListener()); MSysOut.println(HIBERNATE_LOGS, "db listeners installed"); dlis.enableListeners(true); // may have to be moved later }
From source file:kr.debop4j.data.hibernate.tools.HibernateTool.java
License:Apache License
/** * Register event listener./*w w w . j a v a 2 s . com*/ * * @param sessionFactory the session factory * @param listener the listener * @param eventTypes the event types */ @SuppressWarnings("unchecked") public static void registerEventListener(SessionFactory sessionFactory, Object listener, EventType... eventTypes) { shouldNotBeNull(sessionFactory, "sessionFactory"); shouldNotBeNull(listener, "listener"); log.trace("sessionFactory? event listener ?... listener=[{}], eventTypes=[{}]", listener, StringTool.listToString(eventTypes)); EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory).getServiceRegistry() .getService(EventListenerRegistry.class); for (EventType eventType : eventTypes) { try { registry.getEventListenerGroup(eventType).appendListener(listener); } catch (Exception ignored) { } } }
From source file:net.krotscheck.jersey2.hibernate.factory.HibernateSessionFactoryFactoryTest.java
License:Apache License
/** * Test the application event injectors. *///from w w w .j a v a2s. c o m @Test public void testEventInjection() { // Create a fake application. SessionFactory factoryFactory = locator.getService(SessionFactory.class); Assert.assertNotNull(factoryFactory); ServiceRegistry serviceRegistry = ((SessionFactoryImpl) factoryFactory).getServiceRegistry(); EventListenerRegistry eventRegistry = serviceRegistry.getService(EventListenerRegistry.class); EventListenerGroup<PreInsertEventListener> priGroup = eventRegistry .getEventListenerGroup(EventType.PRE_INSERT); assertContainsListener(priGroup); EventListenerGroup<PostInsertEventListener> poiGroup = eventRegistry .getEventListenerGroup(EventType.POST_INSERT); assertContainsListener(poiGroup); EventListenerGroup<PreUpdateEventListener> pruGroup = eventRegistry .getEventListenerGroup(EventType.PRE_UPDATE); assertContainsListener(pruGroup); EventListenerGroup<PostUpdateEventListener> pouGroup = eventRegistry .getEventListenerGroup(EventType.POST_UPDATE); assertContainsListener(pouGroup); EventListenerGroup<PreDeleteEventListener> prdGroup = eventRegistry .getEventListenerGroup(EventType.PRE_DELETE); assertContainsListener(prdGroup); EventListenerGroup<PostDeleteEventListener> podGroup = eventRegistry .getEventListenerGroup(EventType.POST_DELETE); assertContainsListener(podGroup); EventListenerGroup<PostInsertEventListener> pciGroup = eventRegistry .getEventListenerGroup(EventType.POST_COMMIT_INSERT); assertContainsListener(pciGroup); EventListenerGroup<PostUpdateEventListener> pcuGroup = eventRegistry .getEventListenerGroup(EventType.POST_COMMIT_UPDATE); assertContainsListener(pcuGroup); EventListenerGroup<PostDeleteEventListener> pcdGroup = eventRegistry .getEventListenerGroup(EventType.POST_COMMIT_DELETE); assertContainsListener(pcdGroup); }