من مودل استفادم فرق میکنه از مورفیا استفاده کردم
package framework;
import com.google.code.morphia.Datastore;
import com.google.code.morphia.Morphia;
import com.mongodb.Mongo;
import java.net.UnknownHostException;
public class MongoConnectionManager {
private static final MongoConnectionManager INSTANCE = new MongoConnectionManager();
private final Datastore ds;
private final Mongo mongo;
private final Morphia morphia = new Morphia();
public static final String DB_NAME = "Ordering";
public MongoConnectionManager() {
try {
mongo = new Mongo("localhost", 27017);
// mongo = new Mongo("localhost", 59482);
morphia.mapPackage("model");
ds = morphia.createDatastore(mongo, DB_NAME);
//t3
ds.ensureIndexes();
//test2
ds.ensureCaps();
} catch (UnknownHostException e) {
throw new RuntimeException("Error initializing mongo db", e);
}
}
public void close() {
mongo.close();
}
مثلا استفاده
MongoConnectionManager conMongo = new MongoConnectionManager();
try {
OrderDao ordersDao = new OrderDaoImpl(Orders.class, conMongo.getDs());
DashboardManagment dashboard = (DashboardManagment) FacesContext.getCurrentInstance().getExternalConte xt().getSessionMap().get("dashboard");
ProvidersManagment ProviderM = (ProvidersManagment) FacesContext.getCurrentInstance().getExternalConte xt().getSessionMap().get("providerManager");
if (dashboard.getCurrentCustomer().getCustomerID() != null) {
this.addressList = ordersDao.getAddressOrders(dashboard.getCurrentCus tomer());
conMongo.close(); }
}
کلا هر جا کانکشن باز کردم بستم اما بازم وقتی برنامه اجرا میشه می بینی کانکشن باز مونده
حالا اگه بشه کلا کانکشن هارو بست یا یه کاری کرد خودشون خود بخود بسته بشن
خیلی خوب میشه