Skip to content

Commit 83fbdc6

Browse files
artsiomwilkinsona
authored andcommitted
Fix NPE in FlywayEndpoint when migration.installedOn is null
See gh-14019
1 parent 26af0ca commit 83fbdc6

File tree

1 file changed

+8
-1
lines changed
  • spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway

1 file changed

+8
-1
lines changed

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.flyway;
1818

1919
import java.time.Instant;
20+
import java.util.Date;
2021
import java.util.HashMap;
2122
import java.util.List;
2223
import java.util.Map;
@@ -38,6 +39,7 @@
3839
* @author Eddú Meléndez
3940
* @author Phillip Webb
4041
* @author Andy Wilkinson
42+
* @author Artsiom Yudovin
4143
* @since 2.0.0
4244
*/
4345
@Endpoint(id = "flyway")
@@ -164,9 +166,14 @@ private FlywayMigration(MigrationInfo info) {
164166
this.script = info.getScript();
165167
this.state = info.getState();
166168
this.installedBy = info.getInstalledBy();
167-
this.installedOn = Instant.ofEpochMilli(info.getInstalledOn().getTime());
168169
this.installedRank = info.getInstalledRank();
169170
this.executionTime = info.getExecutionTime();
171+
this.installedOn = toEpochMilli(info.getInstalledOn());
172+
}
173+
174+
private Instant toEpochMilli(Date installedOn) {
175+
return (installedOn != null) ? Instant.ofEpochMilli(installedOn.getTime())
176+
: null;
170177
}
171178

172179
private String nullSafeToString(Object obj) {

0 commit comments

Comments
 (0)