You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ga...@apache.org on 2006/12/08 12:52:58 UTC

svn commit: r483957 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers: Invoker.java SandeshaThread.java Sender.java

Author: gatfora
Date: Fri Dec  8 03:52:57 2006
New Revision: 483957

URL: http://svn.apache.org/viewvc?view=rev&rev=483957
Log:
More logic moved to the SandeshaThread, see SANDESHA2-61

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SandeshaThread.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java?view=diff&rev=483957&r1=483956&r2=483957
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java Fri Dec  8 03:52:57 2006
@@ -50,13 +50,8 @@
 
 	private static final Log log = LogFactory.getLog(Invoker.class);
 	
-	public static final int INVOKER_THREADPOOL_SIZE = 5;
-
-	private WorkerLock lock = null;
-	
 	public Invoker() {
-		super(INVOKER_THREADPOOL_SIZE, Sandesha2Constants.INVOKER_SLEEP_TIME);
-		lock = new WorkerLock ();
+		super(Sandesha2Constants.INVOKER_SLEEP_TIME);
 	}
 	
 	/**
@@ -113,7 +108,7 @@
 								messageContextKey, 
 								true); //want to ignore the enxt msg number
 						
-						worker.setLock(lock);
+						worker.setLock(getWorkerLock());
 						worker.setWorkId(workId);
 						
 						//before we execute we need to set the 
@@ -122,7 +117,7 @@
 					
 						//adding the workId to the lock after assigning it to a thread makes sure 
 						//that all the workIds in the Lock are handled by threads.
-						lock.addWork(workId);
+						getWorkerLock().addWork(workId);
 
 						long msgNumber = invoker.getMsgNo();
 						//if necessary, update the "next message number" bean under this transaction
@@ -318,7 +313,7 @@
 																   //piece of work that will be assigned to the Worker.
 										
 					//check whether the bean is already assigned to a worker.
-					if (lock.isWorkPresent(workId)) {
+					if (getWorkerLock().isWorkPresent(workId)) {
 						String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.workAlreadyAssigned, workId);
 						log.debug(message);
 						continue;
@@ -334,14 +329,14 @@
 							beanIsOutOfOrderMsg); //only ignore nextMsgNumber if the bean is an
 																		//out of order message
 					
-					worker.setLock(lock);
+					worker.setLock(getWorkerLock());
 					worker.setWorkId(workId);
 					
 					threadPool.execute(worker);
 					
 					//adding the workId to the lock after assigning it to a thread makes sure 
 					//that all the workIds in the Lock are handled by threads.
-					lock.addWork(workId);
+					getWorkerLock().addWork(workId);
 				}
 
 			} catch (Exception e) {

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SandeshaThread.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SandeshaThread.java?view=diff&rev=483957&r1=483956&r2=483957
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SandeshaThread.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SandeshaThread.java Fri Dec  8 03:52:57 2006
@@ -20,7 +20,6 @@
 
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.util.threadpool.ThreadFactory;
-import org.apache.axis2.util.threadpool.ThreadPool;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
@@ -39,15 +38,20 @@
 	private boolean pauseRequired = false;
 	
 	private int sleepTime;
-	
+  private WorkerLock lock = null;
+
 	private ArrayList workingSequences = new ArrayList();
 	
 	protected transient ThreadFactory threadPool;
 	protected ConfigurationContext context = null;
 	
-	protected SandeshaThread(int threadPoolSize, int sleepTime){
-		threadPool = new ThreadPool(threadPoolSize, threadPoolSize);
+	public SandeshaThread(int sleepTime) {
 		this.sleepTime = sleepTime;
+  	lock = new WorkerLock ();
+	}
+	
+	public final WorkerLock getWorkerLock() {
+		return lock;
 	}
 	
 	public synchronized void stopThreadForSequence(String sequenceID){
@@ -136,6 +140,9 @@
 			workingSequences.add(sequenceID);
 		if (!isThreadStarted()) {
 			this.context = context;
+			// Get the axis2 thread pool
+			threadPool = context.getThreadPool();
+			
 			runThread = true; // so that isStarted()=true.
 			super.start();
 		}		

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java?view=diff&rev=483957&r1=483956&r2=483957
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Sender.java Fri Dec  8 03:52:57 2006
@@ -38,17 +38,10 @@
 
 public class Sender extends SandeshaThread {
 
-
 	private static final Log log = LogFactory.getLog(Sender.class);
-	
-
-  public static final int SENDER_THREADPOOL_SIZE = 5;
-  
-  private WorkerLock lock = null;
-    
+	    
   public Sender () {
-  	super(SENDER_THREADPOOL_SIZE, Sandesha2Constants.SENDER_SLEEP_TIME);
-  	lock = new WorkerLock ();
+  	super(Sandesha2Constants.SENDER_SLEEP_TIME);
   }	
 
 	protected void internalRun() {
@@ -138,7 +131,7 @@
 				String workId = senderBean.getMessageID();
 
 				// check weather the bean is already assigned to a worker.
-				if (lock.isWorkPresent(workId)) {
+				if (getWorkerLock().isWorkPresent(workId)) {
 					if (log.isDebugEnabled()) {
 						String message = SandeshaMessageHelper
 								.getMessage(
@@ -153,14 +146,14 @@
 
 				// start a worker which will work on this messages.
 				SenderWorker worker = new SenderWorker(context, senderBean);
-				worker.setLock(lock);
+				worker.setLock(getWorkerLock());
 				worker.setWorkId(workId);
 				threadPool.execute(worker);
 
 				// adding the workId to the lock after assigning it to a thread
 				// makes sure
 				// that all the workIds in the Lock are handled by threads.
-				lock.addWork(workId);
+				getWorkerLock().addWork(workId);
 
 			} catch (Exception e) {
 



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org