1

环境

  • 圣杯 2.0.4
  • OC4j 10.1.3

问题

当我的配置使用 jndi 时,我无法部署 grails 战争文件。我可以确保在“JNDI 浏览器”(oc4j 的管理)中查看的 OC4J 中创建了数据源并且可用。

我尝试将“setParentDataSources”设置为 true,以使 grails 应用程序继承默认应用程序的数据源,但没有成功。

例外是:

设置构造函数参数时无法解析对 bean 'dataSourceUnproxied' 的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“dataSourceUnproxied”的 bean 时出错:调用 init 方法失败;嵌套异常是 javax.naming.NameNotFoundException: java:comp/env/jdbc/pontomoduloweb not found in

所以我的问题是:我错过了什么吗?我可以以某种方式更深入地调试它吗?

4

1 回答 1

0

经过一番斗争,我在 OC4J 中找到了一个配置,它使数据源对所有部署的应用程序全局可用。

$OC4J_HOME\j2ee\home\config\server.xml中,更改应用程序服务器标签添加选项global-jndi-lookup-enabled

<application-server  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/application-server-10_1.xsd"  application-directory="../applications"
 check-for-updates="adminClientOnly"
 deployment-directory="../application-deployments"
 connector-directory="../connectors"
 global-jndi-lookup-enabled="true"
 schema-major-version="10" schema-minor-version="0" >

并且不要忘记标记在本地类路径中查找类的选项。

于 2012-08-30T22:25:29.887 回答