Commit 47967013 authored by Stephane Nicoll's avatar Stephane Nicoll

Merge branch '2.2.x'

Closes gh-19683
parents 738ba15d 66755105
/* /*
* Copyright 2012-2019 the original author or authors. * Copyright 2012-2020 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -107,13 +107,16 @@ public class PoolingDataSourceBean extends PoolingDataSource implements BeanName ...@@ -107,13 +107,16 @@ public class PoolingDataSourceBean extends PoolingDataSource implements BeanName
@Override @Override
public Logger getParentLogger() throws SQLFeatureNotSupportedException { public Logger getParentLogger() throws SQLFeatureNotSupportedException {
try { XADataSource dataSource = this.dataSource;
return this.getParentLogger(); if (dataSource != null) {
} try {
catch (Exception ex) { return dataSource.getParentLogger();
// Work around https://jira.codehaus.org/browse/BTM-134 }
return Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); catch (Exception ex) {
// Swallow and continue
}
} }
return Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
} }
/** /**
......
/* /*
* Copyright 2012-2019 the original author or authors. * Copyright 2012-2020 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
package org.springframework.boot.jta.bitronix; package org.springframework.boot.jta.bitronix;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLFeatureNotSupportedException;
import java.util.logging.Logger;
import javax.sql.XAConnection; import javax.sql.XAConnection;
import javax.sql.XADataSource; import javax.sql.XADataSource;
...@@ -60,6 +62,28 @@ class PoolingDataSourceBeanTests { ...@@ -60,6 +62,28 @@ class PoolingDataSourceBeanTests {
assertThat(this.bean.getUniqueName()).isEqualTo("un"); assertThat(this.bean.getUniqueName()).isEqualTo("un");
} }
@Test
void shouldReturnGlobalLoggerWhenDataSourceIsAbsent() throws SQLFeatureNotSupportedException {
assertThat(this.bean.getParentLogger()).isSameAs(Logger.getLogger(Logger.GLOBAL_LOGGER_NAME));
}
@Test
void shouldReturnGlobalLoggerWhenDataSourceThrowsException() throws SQLFeatureNotSupportedException {
XADataSource dataSource = mock(XADataSource.class);
given(dataSource.getParentLogger()).willThrow(new SQLFeatureNotSupportedException());
this.bean.setDataSource(dataSource);
assertThat(this.bean.getParentLogger()).isSameAs(Logger.getLogger(Logger.GLOBAL_LOGGER_NAME));
}
@Test
void shouldReturnParentLoggerFromDataSource() throws SQLFeatureNotSupportedException {
Logger logger = Logger.getLogger("test");
XADataSource dataSource = mock(XADataSource.class);
given(dataSource.getParentLogger()).willReturn(logger);
this.bean.setDataSource(dataSource);
assertThat(this.bean.getParentLogger()).isSameAs(logger);
}
@Test @Test
void setDataSource() throws Exception { void setDataSource() throws Exception {
XADataSource dataSource = mock(XADataSource.class); XADataSource dataSource = mock(XADataSource.class);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment