我有一个Grails应用程序已在一个独立的OC4J实例上成功部署,但当我尝试通过GUI将其部署到完整版本时,我遇到了这个问题:
[2009年11月5日上午10:50:41]具有背景文凭 - 1.0.1网络模块申请文凭到网站默认网站根据情境根文凭 [2009年11月5日上午10:50:48]操作失败并显示错误:创建名为'messageSource'的bean时出错:bean的初始化失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'transactionManager'的bean时出错:在设置bean属性'sessionFactory'时无法解析对bean'sessionFactory'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'sessionFactory'的bean时出错:在设置bean属性'hibernateProperties'时无法解析对bean'hibernateProperties'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'hibernateProperties'的bean时出错:使用key [hibernate.dialect]设置bean属性'properties'时,无法解析对bean'dialectDetector'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'dialectDetector'的bean时出错:init方法的调用失败;嵌套异常是org.springframework.jdbc.support.MetaDataAccessException:无法获取用于提取元数据的Connection;嵌套异常是org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接;嵌套异常是org.apache.commons.dbcp.SQLNestedException:无法创建PoolableConnectionFactory(该数据库已被其他进程使用:org.hsqldb.persist.NIOLockFile@882e422e [file = D:\ product \ 10.1.3.1 \ OracleAS_1 \ j2ee \ home \ prodDb.lck,exists = true,locked = false,valid = false,fl = null]:java.lang.Exception:java.io.IOException:进程无法访问该文件,因为另一个进程已锁定了一部分文件:D:\ product \ 10.1.3.1 \ OracleAS_1 \ j2ee \ home \ prodDb.lck)
有没有人知道我的问题可能是什么?
答案 0 :(得分:1)
我猜相关信息是The database is already in use by another process: org.hsqldb.persist.NIOLockFile@882e422e[file =D:\product\10.1.3.1\OracleAS_1\j2ee\home\prodDb.lck
似乎有一个不正常的应用程序关闭或类似的事情,并且HSQL数据库无法释放锁定。或者运行应用程序的用户无权访问文件D:\product\10.1.3.1\OracleAS_1\j2ee\home\prodDb.lck
我强烈建议您在生产环境中使用不同类型的数据库。替代方案是MySQL,PostgreSQL,Oracle,MSSQL,Derby等。