Browse Source

Merge branch '2.0.x'

pull/13572/head
Andy Wilkinson 8 years ago
parent
commit
80ede14510
  1. 10
      spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java
  2. 22
      spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java

10
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpoint.java

@ -80,8 +80,9 @@ public class LiquibaseEndpoint { @@ -80,8 +80,9 @@ public class LiquibaseEndpoint {
try {
DataSource dataSource = liquibase.getDataSource();
JdbcConnection connection = new JdbcConnection(dataSource.getConnection());
Database database = null;
try {
Database database = factory.findCorrectDatabaseImplementation(connection);
database = factory.findCorrectDatabaseImplementation(connection);
String defaultSchema = liquibase.getDefaultSchema();
if (StringUtils.hasText(defaultSchema)) {
database.setDefaultSchemaName(defaultSchema);
@ -91,7 +92,12 @@ public class LiquibaseEndpoint { @@ -91,7 +92,12 @@ public class LiquibaseEndpoint {
.map(ChangeSet::new).collect(Collectors.toList()));
}
finally {
connection.close();
if (database != null) {
database.close();
}
else {
connection.close();
}
}
}
catch (Exception ex) {

22
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/liquibase/LiquibaseEndpointTests.java

@ -16,6 +16,11 @@ @@ -16,6 +16,11 @@
package org.springframework.boot.actuate.liquibase;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.junit.Test;
import org.springframework.boot.autoconfigure.AutoConfigurations;
@ -62,6 +67,23 @@ public class LiquibaseEndpointTests { @@ -62,6 +67,23 @@ public class LiquibaseEndpointTests {
.hasSize(1));
}
@Test
public void connectionAutoCommitPropertyIsReset() {
this.contextRunner.withUserConfiguration(Config.class).run((context) -> {
DataSource dataSource = context.getBean(DataSource.class);
assertThat(getAutoCommit(dataSource)).isTrue();
context.getBean(LiquibaseEndpoint.class).liquibaseBeans();
assertThat(getAutoCommit(dataSource)).isTrue();
});
}
private boolean getAutoCommit(DataSource dataSource) throws SQLException {
try (Connection connection = dataSource.getConnection()) {
System.out.println(connection);
return connection.getAutoCommit();
}
}
@Configuration
public static class Config {

Loading…
Cancel
Save