简体   繁体   English

如何在weblogic中配置jdbc jndi数据源?

[英]How to configure jdbc jndi datasource in weblogic?

I am setting up my existing tomcat based multi module application to work with WEBLOGIC12c.我正在设置我现有的基于 tomcat 的多模块应用程序以使用 WEBLOGIC12c。

This application got deployed properly on weblogic but it is not connecting with my existing databases and giving below error -此应用程序已在 weblogic 上正确部署,但未与我现有的数据库连接并出现以下错误 -

ERROR [ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' [DbUtil]: An exception occurred while sql lite database connection 
javax.naming.LinkException:  [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'jdbc.myDB' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/myDB']; Link Remaining Name: 'jdbc/myDB'
    at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:114)
    at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:1037)
    at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:186)
    at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:1009)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:223)
    at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:132)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:228)
    at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:132)
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:307)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:435)

As I am new to Weblogic and upon some investigation I come to know that the existing context.xml is not going to bind with weblogic.由于我是 Weblogic 的新手并且经过一些调查,我知道现有的 context.xml 不会与 weblogic 绑定。

So how can this be done for weblogic if i want to retain everything as it was working with tomcat/context.xml那么,如果我想保留所有与 tomcat/context.xml 一起工作的内容,如何为 weblogic 做到这一点

Existing context.xml has multiple databases with connection pooling configuration like this -现有的 context.xml 有多个具有连接池配置的数据库,如下所示 -

<Context>
    <Resource
        name="jdbc/devDB1"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="5"
        maxWait="-1"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
                url="jdbc:sqlserver://localhost:1433;DatabaseName=devDB1"
        username="sa"
        password="pwd1"
        removeAbandoned="true"
        removeAbandonedTimeout="300"
        logAbandoned="false"
    />
    <Resource
        name="jdbc/devDB2"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="5"
        maxWait="-1"
        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
        url="jdbc:sqlserver://localhost:1433;DatabaseName=devDB2"
        username="sa"
        password="pwd2"
        removeAbandoned="true"
        removeAbandonedTimeout="300"
        logAbandoned="false"
           />
           ...........

I expect the same configuration to be worked with weblogic jdbc resource configuration And also need the best possible way to achieve this for production environment.我希望相同的配置可以与 weblogic jdbc 资源配置一起使用,并且还需要在生产环境中以最佳方式实现这一点。

Oracle's documentation about datasource configuration is here . Oracle 关于数据源配置的文档在这里

For all your environments create and use a WLST script to avoid manual configuration steps.为您的所有环境创建和使用 WLST 脚本以避免手动配置步骤。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM