[ http://issues.apache.org/jira/browse/SANDESHA2-46?page=comments#action_12453881 ] Andrew Gatford commented on SANDESHA2-46: -----------------------------------------
This patch has been applied, but due to an error with my apache id no notification was sent..... Author: gatfora Date: Mon Nov 27 02:11:25 2006 New Revision: 479570 URL: http://svn.apache.org/viewvc?view=rev&rev=479570 Log: Applying patch for SANDESHA2-46 Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.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=479570&r1=479569&r2=479570 ============================================================================== --- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java (original) +++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/Invoker.java Mon Nov 27 02:11:25 2006 @@ -20,17 +20,12 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Random; -import org.apache.axis2.addressing.AddressingConstants; import org.apache.axis2.context.ConfigurationContext ; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.engine.AxisEngine; 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.RMMsgContext; import org.apache.sandesha2.Sandesha2Constants; import org.apache.sandesha2.SandeshaException ; import org.apache.sandesha2.i18n.SandeshaMessageHelper; @@ -43,12 +38,9 @@ import org.apache.sandesha2.storage.beans.InvokerBean; import org.apache.sandesha2.storage.beans.NextMsgBean; import org.apache.sandesha2.storage.beans.SequencePropertyBean ; -import org.apache.sandesha2.util.MsgInitializer; import org.apache.sandesha2.util.Range; import org.apache.sandesha2.util.RangeString; import org.apache.sandesha2.util.SandeshaUtil; -import org.apache.sandesha2.util.TerminateManager ; -import org.apache.sandesha2.wsrm.Sequence; /** * This is used when InOrder invocation is required. This is a seperated Thread @@ -442,7 +434,7 @@ String message = "Next message not set correctly. Removing invalid entry."; log.debug(message); - allSequencesList.remove(size); + allSequencesList.remove(nextIndex - 1); // cleaning the invalid data of the all sequences. allSequencesBean.setValue(allSequencesList.toString()); > ArrayIndexOutofBounds in the Invoker > ------------------------------------ > > Key: SANDESHA2-46 > URL: http://issues.apache.org/jira/browse/SANDESHA2-46 > Project: Apache Sandesha2 > Issue Type: Bug > Reporter: Andrew Gatford > Priority: Trivial > Attachments: ArrayIndexInvoker.patch > > > The following block of code causes an ArrayIndexOutOfBoundsException when the > allSequencesList.remove is called with size set to the size of the sequence > list > int size = allSequencesList.size(); > log.debug("Choosing one from " + size + " > sequences"); > if(nextIndex >= size) { > nextIndex = 0; > if (size == 0) continue; > } > String sequenceId = (String) > allSequencesList.get(nextIndex++); > log.debug("Chose sequence " + sequenceId); > NextMsgBean nextMsgBean = > nextMsgMgr.retrieve(sequenceId); > if (nextMsgBean == null) { > String message = "Next message not set > correctly. Removing invalid entry."; > log.debug(message); > > allSequencesList.remove(size); > allSequencesList.remove() Should be using the nextIndex key to remove the > right element from the list. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
