Ich habe ein starkes Skript zu schließen, die Daten von mongodb (SoapUI)Wie mongodb groovy Verbindung (soapUI)
holt@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()
Mein Problem ist, dass die Verbindung geöffnet bleibt, bis ich ReadyAPI heruntergefahren, die offen zu viele führt (und nicht geschlossen) Verbindungen.
Soll die Verbindung trotzdem explizit geschlossen werden? (gegoogelt, aber konnte keine Lösung finden, die funktionieren würde)
Lösung ist mongo.close() versuchen {mongo.getDatabaseNames() } catch (Exception e) { log.info "Verbindung bereits geschlossen" } – penazik