如何在grails中查找? jndi查找应该很简单,但是我发现有关context.xml的混乱信息,添加" grails.naming.entries"在Config.xml中,在resources.groovy中创建一个jndi-lookup bean - 到目前为止我尝试过的所有组合都没有结果。如果我们在tomcat的context.xml中给它,它可以获取JNDI。所以,如果我在tomcat中部署战争,我不会有任何例外。
我的config.groovy
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我在tomcat的conf文件夹中的context.xml文件
grails.naming.entries = [
"java:comp/env/bonitaDS": [
type: 'javax.sql.DataSource',
auth: 'Container',
description: 'Main datasource',
url: "jdbc:mysql://localhost/bonita?useUnicode=yes&characterEncoding=UTF-8",
username: "",
password: "",
driverClassName: "com.mysql.jdbc.Driver",//"com.mysql.jdbc.jdbc2.optional.MysqlXADataSource",
maxActive: "8",
maxIdle: "4"
],
"java:comp/env/bonitaSequenceManagerDS": [
type: 'javax.sql.DataSource',
auth: 'Container',
description: 'Main datasource',
url: 'jdbc:mysql://localhost/bonita?useUnicode=yes&characterEncoding=UTF-8',
username: "root",
password: "root",
driverClassName: 'com.mysql.jdbc.Driver',
maxConnectionsPerPartition: "2",
minConnectionsPerPartition: "1",
partitionCount: "1",
acquireIncrement: "5",
statementsCacheSize: "100",
releaseHelperThreads: "3"
],
"java:comp/UserTransaction": [
type: 'com.atomikos.icatch.jta.UserTransactionFactory'
]
]
错误:
org.springframework.beans.factory.BeanCreationException:错误 使用名称&#39; transactionManager&#39;创建bean在文件中定义 [C:\博尼塔家庭\服务器\平台\的conf \ SERVICES \ CFG-博尼塔事务-API-impl.xml中]: 调用init方法失败;嵌套异常是 javax.naming.NameNotFou ion:名称[java:comp / UserTransaction]不是 界; 2个绑定: [java:comp / env / bonitaDS,java:comp / env / bonitaSequenceManagerDS](使用 --stacktrace以查看完整的跟踪)
运行test-app时,我得到以下启动异常 在运行时使用run-app时获取相同的异常 Grails 2.4.2
答案 0 :(得分:1)
这就是我们在Datasource.groovy
dataSource {
jndiName = "java:comp/env/jdbc/bonitaSequenceManagerDS"
}