public void Save(IQueueItem item) { try { if (CoverProvider == CoverProviders.File) { string filename = GetFilename(item.Identifier); var stream = item.BodyStream; stream.SaveToFile(filename); } if (CoverProvider == CoverProviders.Sqlite) { PersistentQueue bag = new PersistentQueue(dbSettings); bag.AddOrUpdate //var dt = DbLite.MessageToDataTable(message); //using (Nistec.Data.Sqlite.DbLite db = new Nistec.Data.Sqlite.DbLite(CoverPath)) //{ // db.ExecuteNonQuery("",) // //bulk.BulkInsert(dt, CoverTableName, ConnectTimeout, null); //} } else { //ExecCover(((QueueItemStream)item).Copy()); ExecCover((QueueItemStream)item); } } catch (Exception ex) { QLog.Exception("QCover.Save ", ex); } }
public override void Dispose() { base.Dispose(); if (m_db != null) { //m_db.Dispose(); m_db = null; } }
public PriorityPersistQueue(IQProperties qp) : base(qp.QueueName) { DbLiteSettings settings = new DbLiteSettings() { Name = qp.QueueName, CommitMode = (CommitMode)(int)qp.CommitMode, DbPath = AgentManager.Settings.QueuesPath }; m_db = new PersistentQueue(settings); // AdapterProperties ap = new AdapterProperties() //{ // Source = new QueueHost(qp.QueueName, ".", qp.CoverPath, HostAddressTypes.db), // OperationType = AdapterOperations.Sync, // ProtocolType = AdapterProtocols.Db, // ConnectTimeout = qp.ConnectTimeout //}; //m_adapter = new DbAdapter(ap); }