Glassfish EJB Timer服务与只读或锁定的Derby数据库有关

时间:2011-10-10 13:05:42

标签: installation glassfish ejb derby

3 个答案:

答案 0 :(得分:5)

我遇到了相同的情况,上面提到了相同的错误消息(Error Code: 20000 Call: INSERT INTO EJB__TIMER__TBL ...)(我无法使用EJB计时器部署ear包)所以我检查了我的运行

glassfish_directory_domains/my_domain/lib/databases/ejbtimer目录。

在列出它的内容后,我在这个目录中看到了一个重要的事情:不知怎的,db.lck文件是在root下创建的(也许是我最后一次使用sudo意外启动了域名)所以我为所有人做了chown和chgrp此目录中的文件及其子目录(当然,glassfish域在此工作期间已停止)。

之后,一切都再次完美。我的ear package已成功部署。

感谢合作思维: - )

答案 1 :(得分:1)

Derby数据库可以是只读的,因为它们已安装在只读介质(如CD-ROM)上。它们也可以是只读的,因为它们存储在jar或zip文件中,并直接从该jar / zip访问。以下是一些更多信息:http://db.apache.org/derby/docs/10.8/devguide/cdevdeploy15325.html

答案 2 :(得分:0)

我在同一堆栈跟踪中遇到了同样的问题。问题是由glassfish管理员密码引起的。我不得不改变它以应用ssl证书。更改密码后,出现错误消息。

我通过重置glassfish密码解决了这个问题。

Remove password examples