当前位置: 首页 > 知识库问答 >
问题:

mongodb grails简单应用程序超时

轩辕晔
2023-03-14

我在mongoDB 2.6.5和grails 2.4.4中遇到了一个无法解决的问题。为了隔离问题,我创建了一个简单的2.4.4 grails应用程序,安装了grails mongob插件(编译": mongob: 3.0.2"),注释掉Hibernate依赖项,添加了我的mongob数据源,并设置了一个简单的域类(com.nerds.Nerd)。当我生成-all然后启动应用程序并导航到NerdController CRUD页面时,我每次都会收到以下错误:

处理请求时发生MongoTimeoutException:[GET]/MONGO/nerd/index在10000毫秒后等待连接时超时。Stacktrace如下:com.mongodb.MongoTimeoutException:在10000毫秒后等待连接时超时

我可以通过http使用http://localhost:28017/

我还测试了手动添加数据和从mongo查询。这一切都很好。

在超时之前的调试日志中,GORM似乎获得了一个mongo会话,然后尝试回滚一个事务。

DatastoreTransactionManager:128-找到了线程绑定会话[org.grails.datastore.mapping.mongo。MongoSession@e47ee6]用于数据存储事务

创建新的交易名称[null]:PROPAGATION_REQUIRED,ISOLATION_DEFAULT,只读

DatastoreTransactionManager:128-启动事务回滚

DatastoreTransactionManager:128-在[org.grails.Datastore.mapping.mongo]会话上回滚数据存储事务。MongoSession@e47ee6]

DatastoreTransactionManager:128-内部事务完成后恢复暂停的事务

任何见解都会有帮助的谢谢

编辑:mongo数据源非常简单。我使用了正确的端口。

来自mongo日志:

014-11-18T13:10:13.388-0900MongoDB启动:pid=17275 port=27017 dbpath=/var/lib/mongoDB 32位主机=企业

从数据ource.groovy

grails{mongo{host='localhost'port=27017数据库名称='mydb'}}

共有1个答案

翟修永
2023-03-14

我很确定问题出在mongod这边。我停止了mongo守护进程,将其置于高冗余调试模式(使用mongod-vvv命令),当我试图在观察控制台输出时复制问题时,问题没有发生。我不完全确定超时的确切原因是什么,但它现在没有发生。谢谢你的回复。

 类似资料:
  • 初始化应用 让我们来开发一个简单的应用,通过这个应用可以学习到开发单页面应用所需的主要知识。 首先在项目文件夹下创建应用的入口文件 index.html: <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scal

  • 本文向大家介绍AngularJS教程之简单应用程序示例,包括了AngularJS教程之简单应用程序示例的使用技巧和注意事项,需要的朋友参考一下 按以下步骤来创建AngularJS应用  第1步:加载框架 作为一个纯粹的JavaScript框架,它可以使用<script>标签来添加。 第2步:使用ng-app指令定义AngularJS应用 第3步:用 ng-model指令定义的模式名称 <p>Ent

  • 本文向大家介绍一个超级简单的python web程序,包括了一个超级简单的python web程序的使用技巧和注意事项,需要的朋友参考一下 在MAC/LINUX环境下,执行vi hello.py命令,并输入以下代码 执行python hello.py 8080出现  http://0.0.0.0:8080/ 然后访问"http://localhost:8080/Service/Match"地址,返

  • 在本章中,我们将了解如何在FuelPHP框架中创建一个简单的应用程序。 如前所述,您知道如何在Fuel中创建新项目。 我们可以举一个员工细节的例子。 让我们首先使用以下命令创建一个名为Employee的项目。 oil create employee 执行命令后,将使用以下file structure创建employee项目 - employee ├── CHANGELOG.md ├── co

  • 部署到我们的Azure Web应用程序后,我们将收到500次服务请求超时: 500-请求超时。 web服务器未能在指定时间内响应。 这是出乎意料的,我们无法确定是什么原因造成的。似乎要持续大约23秒才能超时。 我已启用门户中的所有诊断日志: 但我真的不知道在日志里找什么。我浏览了以下文件夹中的所有文件,但没有跳出任何内容。 如何排除此问题?

  • 错误:不可转换类型 我的登录文件的代码: 我的struts配置文件的代码: 我的loginform文件的代码 公共类LoginForm{String userName;String password;公共字符串getUserName(){System.out.println(“内部getter”userName);返回userName;}public void setUserName(字符串用户名