Skip to content

Cannot configure a callback using flyway properties. #7

@jchu59

Description

@jchu59
What version of Flyway are you using?

release-4.0.3-mongodb

Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin, SBT plugin, ANT tasks)

Java API

What database are you using (type & version)?

MongoDB 3.3

What operating system are you using?

OSX El Capitan

What did you do?

(Please include the content causing the issue, any relevant configuration settings, and the command you ran)
Try to configure a callback with the flyway.callbacks property.

What did you expect to see?

A callback executed

What did you see instead?

ClassUtils.instantiate throws a NoSuchMethod exception.

The Callback interface is not public. The abstract MongoFlywayCallback class defines a one-arg method. The ClassUtils that is used to instantiate a configured callback uses Class.forName to instantiate, and that only works with zero-arg constructors. We cannot extend MongoFlywayCallback and add a zero-arg constructor.

Our workaround is to manually set a callback into MongoFlyway, but this is a limited-value solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions