How to access JNDI data source defined in weblogic 10.3.6

前端 未结 3 1544
梦毁少年i
梦毁少年i 2021-01-18 00:32

I have created a JNDI data-source using my weblogic console but I am not able to access the object from my web application. Below are the details

In weblogic 10.3.6,

相关标签:
3条回答
  • 2021-01-18 01:05

    Tried your answer in weblogic 12c but not worked..!

    When i tried by using only the name of dataSource myDB (removed the jdbc/) it worked fine.

    Context initContext = new InitialContext();
    DataSource ds = (DataSource)initContext.lookup("myDB");
    jndiConnection = ds.getConnection();
    
    0 讨论(0)
  • 2021-01-18 01:08

    The same solution for Weblogic 12c would be

    add the below dependency to your pom.xml.. create a variable with current middleware home value ${oracleMiddlewareHome}, then...

    <dependency>
            <groupId>weblogic</groupId>
            <artifactId>webservices</artifactId>
            <version>12.1.3</version>
            <scope>system</scope>
            <systemPath>
                ${oracleMiddlewareHome}/wlserver/server/lib/weblogic.jar
            </systemPath>
        </dependency>
    

    Now use the below code :

     Hashtable<String, String> h = new Hashtable<String, String>(7);
    h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    h.put(Context.PROVIDER_URL, "t3://localhost:7001");//add ur url
    h.put(Context.SECURITY_PRINCIPAL, "weblogic");//add username
    h.put(Context.SECURITY_CREDENTIALS, "welcome1");//add password
    
        Bundle bundle;
        try {
            InitialContext ctx = new InitialContext(h);
           DataSource dataSource = ((DataSource) ctx.lookup("jdbc/ContextBindingDS"));
            bundle = (Bundle) ctx.lookup(BUNDLE_JNDI_NAME);
    
    
        } catch (NamingException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }
    
    0 讨论(0)
  • 2021-01-18 01:25

    After referring to the post:Tomcat vs Weblogic JNDI Lookup I have modified my code.

    Using below code in my java program of web application has solved my issue:

    Context initContext = new InitialContext();
    DataSource ds = (DataSource)initContext.lookup("jdbc/mydb");
    jndiConnection = ds.getConnection();
    

    Also in weblogic console I have added my JNDI object to my Admin Server (under servers option) where my web application is deployed.

    0 讨论(0)
提交回复
热议问题