in app/src/main/java/com/amazon/aws/partners/saasfactory/pgrls/service/TenantServiceImpl.java [69:87]
private JdbcTemplate jdbc() {
JdbcTemplate jdbc = new JdbcTemplate(repo.dataSource());
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication != null && !(authentication instanceof AnonymousAuthenticationToken)) {
LOGGER.info("Spring current tenant = '{}'", ((Tenant) authentication.getPrincipal()).getId());
}
try (Connection conn = jdbc.getDataSource().getConnection(); Statement stmt = conn.createStatement()) {
ResultSet rs = stmt.executeQuery("SHOW app.current_tenant");
rs.next();
String connectionCurrentTenant = rs.getString(1);
rs.close();
LOGGER.info("PostgreSQL current tenant = '{}' on {}", connectionCurrentTenant, jdbc.getDataSource().toString());
} catch (SQLException e) {
LOGGER.error("Error fetching PostgreSQL session variable app.current_tenant", e);
}
return jdbc;
}