Package org.xmlBlaster.util.queue

Examples of org.xmlBlaster.util.queue.I_Entry


         preStatement = conn.prepareStatement(req);
         preStatement.setQueryTimeout(this.pool.getQueryTimeout());

         for (int i=0; i < entries.length; i++) {
            I_Entry entry = entries[i];

            long dataId = entry.getUniqueId();
            int prio = entry.getPriority();
            byte[] blob = this.factory.toBlob(entry);
            String typeName = entry.getEmbeddedType();
            boolean persistent = entry.isPersistent();
            long sizeInBytes = entry.getSizeInBytes();
            preStatement.setLong(DATA_ID, dataId);
            preStatement.setString(QUEUE_NAME, queueName);
            preStatement.setInt(PRIO, prio);
            preStatement.setString(TYPE_NAME, typeName);
            if (persistent == true) preStatement.setString(PERSISTENT, "T");
View Full Code Here


            }
            if ( (numOfBytes < 0) || (sizeInBytes+amount < numOfBytes) || (count == 0)) {
               if (log.isLoggable(Level.FINEST))
                  log.finest("processResultSet: dataId: " + dataId + ", prio: " + prio + ", typeName: " + typeName + " persistent: " + persistent);
//               entries.add(this.factory.createEntry(prio, dataId, typeName, persistent, sizeInBytes, blob, storageId));
               I_Entry entry = this.factory.createEntry(prio, dataId, typeName, persistent, sizeInBytes, is, storageId);
               if (entryFilter != null)
                  entry = entryFilter.intercept(entry, this.storage);
               if (entry != null) {
                  entries.add(entry);
                  amount += sizeInBytes;
View Full Code Here

         if (leaveOne) {
            // leave at least one entry
            if (stillEntriesInQueue) stillEntriesInQueue = rs.next();
            if ((!stillEntriesInQueue) && (ret.list.size()>0)) {
               ret.countEntries--;
               I_Entry entryToDelete = ret.list.remove(ret.list.size() - 1);
               ret.countBytes -= entryToDelete.getSizeInBytes();
               boolean persistent = entryToDelete.isPersistent();
               if (persistent) {
                  ret.countPersistentEntries--;
                  ret.countPersistentBytes -= entryToDelete.getSizeInBytes();
               }
               if (log.isLoggable(Level.FINE)) log.fine("takeLowest size to delete: "  + entryToDelete.getSizeInBytes());
            }
         }

         if (doDelete) {
            //first strip the unique ids:
View Full Code Here

               long countToPut = this.persistentQueue.getMaxNumOfEntries() - this.persistentQueue.getNumOfEntries();
               long bytesToPut = this.persistentQueue.getMaxNumOfBytes() - this.persistentQueue.getNumOfBytes();
               long currBytes = 0L;
               ArrayList list2 = new ArrayList();
               for (int i=list.size()-1; i >= 0; i--) {
                  I_Entry entry = (I_Entry)list.get(i);
                  if (entry.isPersistent()) {
                     if (currBytes >= bytesToPut || list2.size() >= countToPut) {
                        break;
                     }
                     list2.add(entry);
                     currBytes += entry.getSizeInBytes();
                  }
               }
               if (list2.size() > 0) {
                  this.persistentQueue.put((I_QueueEntry[])list2.toArray(new I_QueueEntry[list2.size()]), false);
               }
View Full Code Here

         if (refList != null) {
            ref = (XBRef)refList.get(i);
            if (meat == null)
               meat = ref.getMeat();
         }
         I_Entry entry = createEntry(store, meat, ref);
         if (filter != null)
            entry = filter.intercept(entry, storage);
         if (entry != null)
            ret.add(entry);
      }
View Full Code Here

            StorageId storageId = new StorageId(glob, "mystore", "test");
            byte[] content = new byte[msgSize];
            MsgUnit msgUnit = new MsgUnit(this.glob, "<key oid='aaa'/>", content, "<qos/>");
            MsgQueuePublishEntry pubEntry = new MsgQueuePublishEntry(this.glob, msgUnit, storageId);
            queue.put(pubEntry, false);
            I_Entry entry = queue.peek();
            queue.removeRandom(entry);
         }
      }
      catch(XmlBlasterException e) {
         fail(ME + ": Exception thrown: " + e.getMessage());
View Full Code Here

                  entriesToRemove.add(queueEntries[j]);
               }
               queueEntries[j].setStored(false); // tell the entry it has been removed from the storage ...
               if (this.storage.remove(queueEntries[j])) {
                  ret[j] = true;
                  I_Entry entry = queueEntries[j];
                  this.sizeInBytes -= entry.getSizeInBytes();
                  if (entry.isPersistent()) {
                     this.persistentSizeInBytes -= entry.getSizeInBytes();
                     this.numOfPersistentEntries--;
                  }
               }
            }
         }
View Full Code Here

                  Properties props = new Properties();
                  props.put(Constants.TOXML_FORCEREADABLE, ""+true);
                  log.severe("Removing now "+leakedEntries.size()+" leak entries");
                  Iterator it = leakedEntries.iterator();
                  while (it.hasNext()) {
                     I_Entry entry = (I_Entry)it.next();
                     ReferenceEntry callbackEntry = (ReferenceEntry)entry;
                     try {
                        long num = manager.deleteEntry(callbackEntry.getStorageId().getStrippedId(), entry.getUniqueId());
                        out.write(("\nRemoving " + num + " leaking entry:").getBytes());
                        out.write(("'"+callbackEntry.getStorageId().getStrippedId() + "': " + entry.getLogId()).getBytes());
                        if (num > 0)
                           entry.embeddedObjectToXml(out, props);
                        log.fine("Removing " + num + " leaking entry '"+entry.getLogId()+"'");
                     }
                     catch (XmlBlasterException e) {
                        log.warning("Failed to remove leaking entry '"+entry.getLogId()+"': " + e.getMessage());

                     }
                  }
               }
            }
View Full Code Here

         props.put(Constants.TOXML_FORCEREADABLE, ""+true);
         Iterator noHistoryRefIt = notFoundInHistoryQueue.keySet().iterator();
         while (noHistoryRefIt.hasNext()) {
            Long refId = (Long)noHistoryRefIt.next();
            if (!foundInCallbackQueue.containsKey(refId)) {
               I_Entry entry = (I_Entry)notFoundInHistoryQueue.get(refId);
               out.write(("\nNot referenced:").getBytes());
               entry.embeddedObjectToXml(out, props);
               out.write(("\n").getBytes());
               numUnref.add(refId);
               if (fixIt) {
                  map.remove(refId.longValue());
               }
            }
         }
         Iterator noCallbackRefIt = notFoundInCallbackQueue.keySet().iterator();
         while (noCallbackRefIt.hasNext()) {
            Long refId = (Long)noCallbackRefIt.next();
            if (!foundInHistoryQueue.containsKey(refId)) {
               I_Entry entry = (I_Entry)notFoundInCallbackQueue.get(refId);
               out.write(("\nNot referenced:").getBytes());
               entry.embeddedObjectToXml(out, props);
               out.write(("\n").getBytes());
               numUnref.add(refId);
               if (fixIt) {
                  map.remove(refId.longValue());
               }
View Full Code Here

TOP

Related Classes of org.xmlBlaster.util.queue.I_Entry

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.