【问题标题】:Worklight 6.1, SQL Adapter (Oracle 11g) JNDI error on Tomcat 7.0.42Worklight 6.1,Tomcat 7.0.42 上的 SQL 适配器 (Oracle 11g) JNDI 错误
【发布时间】:2014-11-15 09:04:18
【问题描述】:

我们正在 Worklight 6.1、Oracle 11g 和 Tomcat 7.0.42 上部署 Worklight 应用程序。

我们按照手动程序在 Tomcat 上部署 worklight 应用程序 我们配置了以下文件: 适配器.xml

<connectivity>
        <connectionPolicy xsi:type="sql:SQLConnectionPolicy">   
         <dataSourceJNDIName>${DataSource-jndi-Local}</dataSourceJNDIName>
    </connectionPolicy>

worklight.properties

DataSource-jndi-Local = jdbc/WorklightAppDS

server.xml(Tomcat 7)

<Context path="/App_Name" docBase="App_Name">
        <Resource name="jdbc/WorklightAppDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSER"
            password="DBPASS"/>
        <Resource name="jdbc/WorklightDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSERWORKLIGHT"
            password="DBUSERWORKLIGHTPASS"/>    
        <Resource name="jdbc/WorklightReportsDS"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.driver.OracleDriver"
            url="jdbc:oracle:thin:@domain:1521:ORCL"
            username="DBUSERWORKLIGHTREPORTS"
            password="DBUSERWORKLIGHTREPORTSPASS"/>

         <Manager pathname="" />
    </Context> 

完成上述配置后,Worklight 应用程序已部署,我们可以访问 Worklight 控制台 在上下文“/App_Name/console”上。 我们在工作灯控制台上部署了 .wlapp 和 .wladapter,当我们通过应用程序调用工作灯适配器时 它说“运行时:在 jndi 中找不到数据源 jdbc/WorklightAppDS”。

我们尝试了另外两种配置数据源的方法:

  1. 在server.xml的&lt;GlobalNamingResources&gt;标签中添加数据源配置:

            <Resource name="UserDatabase" auth="Container"
                      type="org.apache.catalina.UserDatabase"
                      description="User database that can be updated and saved"
                      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                      pathname="conf/tomcat-users.xml" />
    
            <Resource name="jdbc/WorklightAppDS"
                auth="Container"
                type="javax.sql.DataSource"
                driverClassName="oracle.jdbc.driver.OracleDriver"
                url="jdbc:oracle:thin:@domain:1521:ORCL"
                username="DBUSER"
                password="DBPASS"/> 
        </GlobalNamingResources>
    
  2. 在 context.xml 文件中添加数据源配置:

    WEB-INF/web.xml

            <Resource name="jdbc/WorklightAppDS"
                auth="Container"
                type="javax.sql.DataSource"
                driverClassName="oracle.jdbc.driver.OracleDriver"
                url="jdbc:oracle:thin:@domain:1521:ORCL"
                username="DBUSER"
                password="DBPASS"/>
    
            <!--
            <Manager pathname="" />
            -->
        </Context>
    

在这两种方法中,我们面临同样的错误。即“运行时:在 jndi 中找不到数据源 jdbc/WorklightAppDS”

【问题讨论】:

    标签: oracle11g tomcat7 ibm-mobilefirst jndi worklight-server


    【解决方案1】:

    在 dataSourceJNDIName 中尝试 java:comp/env/${DataSource-jndi-Local}。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      相关资源
      最近更新 更多