Como conectar dos bases de datos

Hola que tal buen día a todos.

Como lo dice el titulo quiero, conectar dos bases de datos en una aplicación que estoy desarrollando, ya tengo la conexión a una que esta en un servidor remoto en postgresql, de esta bd realizo consultas, pero ahora quiero extraer información de la otra bd en la misma aplicación pero esta bd es local, hay alguna forma de mantener dos conexiones para cada una de las bases de datos y dentro de mi aplicacion elegir de cual quiero extraer información .

Para esto tengo una clase para la conexión ala bd remota que es esta:

package Servidor;

/**
*
* @author XXX
*/

import java.sql.*;
import javax.swing.*;

public class BDconexion {
public BDconexion(JFrame principal) {
this.principal=principal;
try {
Class.forName("com.postgresql.jdbc.Driver");
}
catch (ClassNotFoundException ex) {
//...
}
}//Fin del Constructor DBConnection

public void crearConexion(){
if(conexion==null){
try {
conexion = DriverManager.getConnection("jdbc:postgresql://XXX.XXX.XXX.XXX:5432/XX?user=XXX&password=XXX");
}
catch (SQLException ex) {
System.out.println("Servidor");
JOptionPane.showMessageDialog(principal,"Ocurrio un problema al encontrar la base de datos \n Asegurese de que su gestor de base de datos este correctamente iniciado");
System.out.println("Error Conectar:"+ex);
}

if(conexion!=null){
try {
statement = conexion.createStatement();
}
catch (SQLException ex1) {
System.out.println("Error statament:"+ex1);
JOptionPane.showMessageDialog(principal,"Ocurrio un problema al establecer la conexion con la base de datos");
}
}
}
}//Fin del metodo crearConexion

/**
* Mtodo que se encarga de enviar sentencias a la base de datos y recibir los datos producidos
* @param sql String
* @return ResultSet
*/
public ResultSet ejecutarRecibir(String sql){
crearConexion();
//System.out.println(sql);
ResultSet result=null;
try {
//System.out.println(sql);
result = statement.executeQuery(sql);
}
catch (SQLException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(principal,"Ocurrio un problema al ejecutar la siguiente sentencia:\n"+sql);
}
return result;
} //Fin del metodo ejecutarRecibir

/**
* mtodo que solo envia sentencias a la base de datos pero no se encarga de manejar los datos recibidos
* @param sql String
*/

public void ejecutarEnviar(String sql){
crearConexion();
try {
statement.execute(sql);
}
catch (SQLException ex) {
ex.printStackTrace();
//JOptionPane.showMessageDialog(null,ex.getCause());
JOptionPane.showMessageDialog(principal,"Ocurrio un problema al ejecutar la siguiente sentencia:\n"+sql);
}

} // Fin del metodo ejecutarEnviar
public Connection getConexion() {
return conexion;
}
private Connection conexion=null;
private Statement statement=null;
private JFrame principal;
}

podre incluir la otra conexión en eta clase?

espero y me puedan orientar un poco
PD. las XXX las puse para no poner los datos verdores

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Diferentes instancias

Si, tendrias que tener dos instancias de   cada una parametrizada adecuadamente para realizar la conexion a la base que quieras.

Yo lo imagino que podria quedar de esta forma donde indicas los datos de conexion

 

YA QUEDÓ

Efectivamente tuve que crear dos instancias, una por cada conexión, y al enviar y recibir mis sentencias solo seleccione la conexión don de se mandaría, pero no se si es la manera mas adecuada para hacerlo, cabe mencionar que estoy ocupando sockets en donde el servidor de mi aplicación es el encargado de realizar las conexiones y recibir las peticiones de los clientes.