diff --git a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java index b9267a91b..018d63ac2 100644 --- a/src/main/java/io/ebeaninternal/server/core/DefaultServer.java +++ b/src/main/java/io/ebeaninternal/server/core/DefaultServer.java @@ -552,12 +552,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer { */ @Override public void externalModification(TransactionEventTable tableEvent) { - SpiTransaction t = transactionManager.get(); - if (t != null) { - t.getEvent().add(tableEvent); - } else { - transactionManager.externalModification(tableEvent); - } + transactionManager.externalModification(tableEvent); } /** diff --git a/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java b/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java index 3b880777a..cc2608919 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java +++ b/src/main/java/io/ebeaninternal/server/transaction/TransactionManager.java @@ -417,14 +417,16 @@ public class TransactionManager implements SpiTransactionManager { } } - /** - * Process a Transaction that comes from another framework or local code. - *

- * For cases where raw SQL/JDBC or other frameworks are used this can - * invalidate the appropriate parts of the cache. - *

- */ - public void externalModification(TransactionEventTable tableEvents) { + public void externalModification(TransactionEventTable tableEvent) { + SpiTransaction t = get(); + if (t != null) { + t.getEvent().add(tableEvent); + } else { + externalModificationEvent(tableEvent); + } + } + + private void externalModificationEvent(TransactionEventTable tableEvents) { TransactionEvent event = new TransactionEvent(); event.add(tableEvents);