Worklight 6.1,SQL适配器(Oracle 11g)Tomcat 7.0.42上的JNDI错误

时间:2014-11-15 09:04:19

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

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

我们正在按照手动过程在Tomcat上部署worklight应用程序 我们配置了以下文件: Adapter.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控制台了 on context&#34; / App_Name / console&#34;。 我们在worklight控制台上部署.wlapp和.wladapter,以及在我们通过应用程序调用worklight适配器时 它说&#34;运行时:在jndi&#34;中找不到数据源jdbc / WorklightAppDS。

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

  1. 在server.xml中的<GlobalNamingResources>标记中添加了数据源配置:

            <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>
    
  3. 在这两种方法中,我们面临同样的错误。 ie&#34;运行时:在jndi&#34;

    中找不到数据源jdbc / WorklightAppDS

1 个答案:

答案 0 :(得分:3)

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