Package org.flywaydb.core.api.callback
Interface Callback
- All Known Implementing Classes:
BaseCallback
public interface Callback
This is the main callback interface that should be implemented to handle Flyway lifecycle events.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canHandleInTransaction
(Event event, Context context) Whether this event can be handled in a transaction or whether it must be handled outside a transaction instead.The callback name, Flyway will use this to sort the callbacks alphabetically before executing themvoid
Handles this Flyway lifecycle event.boolean
Whether this callback supports this event or not.
-
Method Details
-
supports
Whether this callback supports this event or not. This is primarily meant as a way to optimize event handling by avoiding unnecessary connection state setups for events that will not be handled anyway.- Parameters:
event
- The event to check.context
- The context for this event.- Returns:
true
if it can be handled,false
if not.
-
canHandleInTransaction
Whether this event can be handled in a transaction or whether it must be handled outside a transaction instead. In the vast majority of the cases the answer will betrue
. Only in the rare cases where non-transactional statements are executed should this returnfalse
. This method is called beforehandle(Event, Context)
in order to determine in advance whether a transaction can be used or not.- Parameters:
event
- The event to check.context
- The context for this event.- Returns:
true
if it can be handled within a transaction (almost all cases).false
if it must be handled outside a transaction instead (very rare).
-
handle
Handles this Flyway lifecycle event.- Parameters:
event
- The event to handle.context
- The context for this event.
-
getCallbackName
String getCallbackName()The callback name, Flyway will use this to sort the callbacks alphabetically before executing them- Returns:
- The callback name
-