Kaynağa Gözat

Place readyQueue, scheduledJobs, serviceActivityCount under one single semaphore readyQueue.

tags/CommEngine-1.0.6
ymlam 4 yıl önce
ebeveyn
işleme
580bed601f
1 değiştirilmiş dosya ile 6 ekleme ve 2 silme
  1. +6
    -2
      src/main/java/altk/comm/engine/Broadcast.java

+ 6
- 2
src/main/java/altk/comm/engine/Broadcast.java Dosyayı Görüntüle

@@ -81,7 +81,7 @@ public abstract class Broadcast
private Integer transactions;
/** Instantaneous number of jobs being serviced by service provider */
private Integer serviceActivityCount;
private int serviceActivityCount;
/** Running count of successful jobs */
private int successCount;
@@ -1159,6 +1159,7 @@ public abstract class Broadcast
* @param batch
* @param prerequisites
* @return int - number of transactions employed to service these jobs.
* @throw Exception to abort broadcast
*/
abstract protected int processJobs(List<Job> batch, Object serviceProvider, ServicePrerequisites prerequisites)
throws EngineException;
@@ -1175,7 +1176,7 @@ public abstract class Broadcast
protected void updateServiceActivityCount(int increment)
{
synchronized (serviceActivityCount)
synchronized (readyQueue)
{
serviceActivityCount += increment;
if (increment < 0 && serviceActivityCount <= 0)
@@ -1340,7 +1341,10 @@ public abstract class Broadcast

public int getCompletedJobCount()
{
synchronized(readyQueue)
{
return jobsTotal - getRemainingJobCount() - serviceActivityCount;
}
}

public String getBroadcastType() {


Yükleniyor…
İptal
Kaydet