Как получить OracleConnection в Oracle 12c WebLogic без указания IP-сервера weblogic с использованием Java Spring Framework - PullRequest
0 голосов
/ 09 ноября 2018

Мне нужно развернуть WAR на сервере web-логики oracle 12c и получить доступ к его источнику данных. но я разверну его на нескольких серверах weblogic с разными IP. Есть ли способ получить соединение с источником данных weblogic без указания IP самого weblogic? предполагается, что WAR развернут на том же сервере weblogic и необходим для доступа к его данным, указанным в weblogic?

я могу получить соединение оракула, но должен указать IP. вот мой код:

try{
    String urlparam = "t3://101.102.103.104:7001";
    String datasourceparam = "jdbc/devtest";

    Hashtable env = new Hashtable();
    env.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" );
    env.put(Context.PROVIDER_URL, urlparam);

    Context context=new InitialContext( env );
    ds=(javax.sql.DataSource) context.lookup (datasourceparam);
    conn=(OracleConnection) ds.getConnection();
    System.out.println("Connection object details : " + conn);
}
catch(Exception ex){
      ex.printStackTrace();
 }

Если я использую этот метод, чтобы развернуть на 5 серверах weblogic, мне нужно сгенерировать 5 разных WAR только с разными IP weblogic сервером.

Пожалуйста, помогите ..

1 Ответ

0 голосов
/ 09 ноября 2018

Оказывается, что для просмотра собственного источника данных я не должен включать хеш-таблицу в свой InitialContext. таким образом, он получит указанный источник данных сам по себе.

try {    
    String datasourceparam = "jdbc/devtest";

    Context context = new InitialContext();
    ds = (javax.sql.DataSource) context.lookup(datasourceparam);
    conn = (OracleConnection) ds.getConnection();
} catch (Exception ex) {
    // handle the exception
    ex.printStackTrace();
}
...