Skip to content

Commit fb0255a

Browse files
Sannestliu
authored andcommitted
HHH-6858 non-intrusive performance improvements
1 parent 9e45ec3 commit fb0255a

File tree

5 files changed

+13
-14
lines changed

5 files changed

+13
-14
lines changed

hibernate-core/src/main/java/org/hibernate/engine/transaction/internal/TransactionCoordinatorImpl.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,6 @@ public SynchronizationCallbackCoordinator getSynchronizationCallbackCoordinator(
260260
}
261261

262262
public void pulse() {
263-
LOG.trace( "Starting transaction coordinator pulse" );
264263
if ( transactionFactory().compatibleWithJtaSynchronization() ) {
265264
// the configured transaction strategy says it supports callbacks via JTA synchronization, so attempt to
266265
// register JTA synchronization if possible

hibernate-core/src/main/java/org/hibernate/event/internal/AbstractFlushingEventListener.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import org.hibernate.engine.spi.PersistenceContext;
4646
import org.hibernate.engine.spi.SessionImplementor;
4747
import org.hibernate.engine.spi.Status;
48-
import org.hibernate.event.service.spi.EventListenerGroup;
4948
import org.hibernate.event.service.spi.EventListenerRegistry;
5049
import org.hibernate.event.spi.EventSource;
5150
import org.hibernate.event.spi.EventType;
@@ -213,6 +212,12 @@ private void flushEntities(FlushEvent event) throws HibernateException {
213212
// It is safe because of how IdentityMap implements entrySet()
214213

215214
final EventSource source = event.getSession();
215+
final Iterable<FlushEntityEventListener> flushListeners = source
216+
.getFactory()
217+
.getServiceRegistry()
218+
.getService( EventListenerRegistry.class )
219+
.getEventListenerGroup( EventType.FLUSH_ENTITY )
220+
.listeners();
216221

217222
final Map.Entry[] list = IdentityMap.concurrentEntries( source.getPersistenceContext().getEntityEntries() );
218223
final int size = list.length;
@@ -226,12 +231,7 @@ private void flushEntities(FlushEvent event) throws HibernateException {
226231

227232
if ( status != Status.LOADING && status != Status.GONE ) {
228233
final FlushEntityEvent entityEvent = new FlushEntityEvent( source, me.getKey(), entry );
229-
final EventListenerGroup<FlushEntityEventListener> listenerGroup = source
230-
.getFactory()
231-
.getServiceRegistry()
232-
.getService( EventListenerRegistry.class )
233-
.getEventListenerGroup( EventType.FLUSH_ENTITY );
234-
for ( FlushEntityEventListener listener : listenerGroup.listeners() ) {
234+
for ( FlushEntityEventListener listener : flushListeners ) {
235235
listener.onFlushEntity( entityEvent );
236236
}
237237
}

hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@
7777
import org.hibernate.UnresolvableObjectException;
7878
import org.hibernate.collection.spi.PersistentCollection;
7979
import org.hibernate.engine.internal.StatefulPersistenceContext;
80-
import org.hibernate.engine.jdbc.LobCreationContext;
8180
import org.hibernate.engine.jdbc.LobCreator;
8281
import org.hibernate.engine.query.spi.FilterQueryPlan;
8382
import org.hibernate.engine.query.spi.HQLQueryPlan;
@@ -94,7 +93,6 @@
9493
import org.hibernate.engine.spi.SessionFactoryImplementor;
9594
import org.hibernate.engine.spi.Status;
9695
import org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl;
97-
import org.hibernate.engine.transaction.spi.TransactionContext;
9896
import org.hibernate.engine.transaction.spi.TransactionCoordinator;
9997
import org.hibernate.engine.transaction.spi.TransactionImplementor;
10098
import org.hibernate.event.service.spi.EventListenerGroup;
@@ -1078,8 +1076,9 @@ public void flush() throws HibernateException {
10781076
if ( persistenceContext.getCascadeLevel() > 0 ) {
10791077
throw new HibernateException("Flush during cascade is dangerous");
10801078
}
1079+
FlushEvent flushEvent = new FlushEvent( this );
10811080
for ( FlushEventListener listener : listeners( EventType.FLUSH ) ) {
1082-
listener.onFlush( new FlushEvent( this ) );
1081+
listener.onFlush( flushEvent );
10831082
}
10841083
}
10851084

hibernate-core/src/main/java/org/hibernate/internal/util/compare/EqualsHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
*/
3131
public final class EqualsHelper {
3232

33-
public static boolean equals(Object x, Object y) {
34-
return x==y || ( x!=null && y!=null && x.equals(y) );
33+
public static boolean equals(final Object x, final Object y) {
34+
return x == y || ( x != null && y != null && x.equals( y ) );
3535
}
3636

3737
private EqualsHelper() {}

hibernate-core/src/main/java/org/hibernate/tuple/entity/AbstractEntityTuplizer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,7 @@ public Object getIdentifier(Object entity, EntityMode entityMode, SessionImpleme
459459
final Object[] propertyValues = virtualIdComponent.getPropertyValues( entity, entityMode );
460460
final Type[] subTypes = virtualIdComponent.getSubtypes();
461461
final Type[] copierSubTypes = mappedIdentifierType.getSubtypes();
462+
final Iterable<PersistEventListener> persistEventListeners = persistEventListeners( session );
462463
final int length = subTypes.length;
463464
for ( int i = 0 ; i < length; i++ ) {
464465
if ( propertyValues[i] == null ) {
@@ -484,7 +485,7 @@ public Object getIdentifier(Object entity, EntityMode entityMode, SessionImpleme
484485
else {
485486
LOG.debug( "Performing implicit derived identity cascade" );
486487
final PersistEvent event = new PersistEvent( null, propertyValues[i], (EventSource) session );
487-
for ( PersistEventListener listener : persistEventListeners( session ) ) {
488+
for ( PersistEventListener listener : persistEventListeners ) {
488489
listener.onPersist( event );
489490
}
490491
pcEntry = session.getPersistenceContext().getEntry( propertyValues[i] );

0 commit comments

Comments
 (0)