首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何关闭mongodb groovy连接(soapUI)

如何关闭mongodb groovy连接(soapUI)
EN

Stack Overflow用户
提问于 2017-12-07 13:03:04
回答 1查看 553关注 0票数 1

我有一个从mongodb (SoapUI)获取数据的groovy脚本。

代码语言:javascript
复制
@Grab(group='com.gmongo', module='gmongo', version='1.5')

import com.gmongo.GMongo
import com.mongodb.MongoCredential
import com.mongodb.*
import com.mongodb.ServerAddress
import com.gmongo.*
import com.mongodb.MongoURI
import com.mongodb.DBCursor;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBList
import org.bson.types.ObjectId

//define variables from mongo document
def mongo_name
def mongo_description
def mongo_type


//define mongo_variables and initiate mongo connection
def mongoendpoint = context.expand( '${#Project#mongoendpoint}' )
def mongocollection=context.expand( '${#Project#mongocollection_products}' )
def mongo= new GMongo (new MongoURI(mongoendpoint))
def db = mongo.getDB(mongocollection)
def collection = db.getCollection("ProductItems")

//define elements from API response
def api_productId = context.expand('${#Project#package_parent}')

//get document from mongo
DBCursor cursor=collection.find(_id : api_productId)
//log.info cursor

if (cursor.hasNext() )
{ DBObject obj = cursor.next()
//mongo_name=obj.name.toString()
}

 //close cursor
cursor.close()

我的问题是,在我关闭ReadyAPI之前,连接一直保持打开状态,这会导致太多打开(而不是关闭)的连接。

是否一定要显式关闭连接?(已搜索,但找不到可行的解决方案)

EN

回答 1

Stack Overflow用户

发布于 2017-12-15 16:30:05

您需要使用mongo客户端,以便能够关闭连接。使用mongo客户端,而不是GMongo。因此,您可以尝试如下所示:

代码语言:javascript
复制
@Grab(group='com.gmongo', module='gmongo', version='1.5')

import com.gmongo.GMongo
import com.mongodb.MongoCredential
import com.mongodb.*
import com.mongodb.ServerAddress
import com.gmongo.*
import com.mongodb.MongoURI
import com.mongodb.DBCursor;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBList
import org.bson.types.ObjectId

//define variables from mongo document
def mongo_name
def mongo_description
def mongo_type


//define mongo_variables and initiate mongo connection
def mongoendpoint = context.expand( '${#Project#mongoendpoint}' )
def mongocollection=context.expand( '${#Project#mongocollection_products}' )
mongoClient = new MongoClient( mongoendpoint ) 
def db = mongo.getDB(mongocollection)
def collection = db.getCollection("ProductItems")

//define elements from API response
def api_productId = context.expand('${#Project#package_parent}')

//get document from mongo
DBCursor cursor=collection.find(_id : api_productId)
//log.info cursor

if (cursor.hasNext() )
{ DBObject obj = cursor.next()
//mongo_name=obj.name.toString()
}

 //close cursor
cursor.close()

//close connection 
mongoClient.close()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47687934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档