Beispiel #1
0
 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);
        }