public void TestNornalRedeliveryPolicyOnRollbackUntilTimeToLiveCallback() { using (Connection connection = (Connection)CreateConnection()) { IRedeliveryPolicy policy = connection.RedeliveryPolicy; policy.MaximumRedeliveries = -1; policy.InitialRedeliveryDelay = 500; policy.UseExponentialBackOff = false; connection.Start(); ISession session = connection.CreateSession(AcknowledgementMode.Transactional); IDestination destination = session.CreateTemporaryQueue(); IMessageProducer producer = session.CreateProducer(destination); IMessageConsumer consumer = session.CreateConsumer(destination); CallbackClass cc = new CallbackClass(session); consumer.Listener += new MessageListener(cc.consumer_Listener); // Send the messages ITextMessage textMessage = session.CreateTextMessage("1st"); textMessage.NMSTimeToLive = TimeSpan.FromMilliseconds(800.0); producer.Send(textMessage, MsgDeliveryMode.Persistent, MsgPriority.Normal, TimeSpan.FromMilliseconds(800.0)); session.Commit(); // sends normal message, then immediate retry, then retry after 500 ms, then expire. Thread.Sleep(2000); Assert.AreEqual(3, cc.numReceived); } }
public void TestNornalRedeliveryPolicyOnRollbackUntilTimeToLiveCallback() { using(Connection connection = (Connection) CreateConnection()) { IRedeliveryPolicy policy = connection.RedeliveryPolicy; policy.MaximumRedeliveries = -1; policy.InitialRedeliveryDelay = 300; policy.UseExponentialBackOff = false; connection.Start(); ISession session = connection.CreateSession(AcknowledgementMode.Transactional); IDestination destination = session.CreateTemporaryQueue(); IMessageProducer producer = session.CreateProducer(destination); IMessageConsumer consumer = session.CreateConsumer(destination); CallbackClass cc = new CallbackClass(session); consumer.Listener += new MessageListener(cc.consumer_Listener); // Send the messages ITextMessage textMessage = session.CreateTextMessage("1st"); textMessage.NMSTimeToLive = TimeSpan.FromMilliseconds(1000.0); producer.Send(textMessage, MsgDeliveryMode.Persistent,MsgPriority.Normal,TimeSpan.FromMilliseconds(1000.0)); session.Commit(); // sends normal message, then immediate retry, then retry after 500 ms, then expire. Thread.Sleep(3000); Assert.IsTrue(cc.numReceived > 0); } }
protected void btnDownload_Click(object sender, System.EventArgs e) { Timer1.Enabled = true; //Label1.Text = "Refreshed at " + //DateTime.Now.ToString(); bool blnServiceStarted; bool blnNoError; try { objCommonMethods = new CommonMethods(); objCController = new CController(); objIController = (CController)objCController; objCMWException = new CMWException(); objCommonMethods = new CommonMethods(); objIController.SetFilePath(strProjectDBPath); Shared.udtNetworkType = objIController.GetNetworkType(strProjectDBPath); ResgistrySettings RegSettings; RegSettings = objIController.GetRegistrySettings(); Shared.ProjectDBPath = strProjectDBPath; Shared.ApplicationPath = RegSettings.InstallationPath; objDownloadSettings = new DownloadSettings(); //start downloader Service blnServiceStarted = objCommonMethods.StartDownloaderService(); //Communication Type objDownloadSettings.TCP = true; objDownloadSettings.ipAddress = "159.99.185.100"; //Port number objDownloadSettings.portNumber = Constants.portNumber; //Gateway type objDownloadSettings.enumDownloadGateway = GateWay.E3NGA; //NetworkType objDownloadSettings.enumNetworkType = Shared.udtNetworkType; //Node type objDownloadSettings.enumBoardTypeID = BoardTypeID.ILI_S_E3; //Node Number objDownloadSettings.NodeNumber = 2; //Firmware path objDownloadSettings.FirmwarePath = ""; //7100 network card objDownloadSettings.Do7100CardDownload = false; //RPT card objDownloadSettings.DoRPTDownload = false; //LCD-SLP load objDownloadSettings.DoLCDSLPDownload = false; //LCD-SLP Graphics objDownloadSettings.DoLCDSLPGraphicsDownload = false; //Project Path objDownloadSettings.ProjectPath = Shared.ProjectDBPath; //Level 4 Password objDownloadSettings.L4Password = "******"; //Download Type objDownloadSettings.DownloadTypes = (int)DownloadTypes.CAMOnly | (int)DownloadTypes.ConfigOnly | (int)DownloadTypes.LabelsOnly; //Installer ID objDownloadSettings.InstallerID = "1234"; //Virtual Switch objDownloadSettings.LoadVirtualSwitch = false; //Site Specific key objDownloadSettings.SiteSpecificKey = 1234; //Application path objDownloadSettings.ApplicationPath = Shared.ApplicationPath; OnCommandCompleted = new DelegateCommandCompleted(Query_OnCommandCompleted); objCallback = new CallbackClass(); objCallback.OnHostToClient += new RemoteCallback(Status_Changed); //call back delegate RemoteCallback wire = new RemoteCallback(objCallback.HandleToClient); //Parameters to be passed between the client and CAMWorksDownloader service. CallbackEventArgs objCallBckArgs = new CallbackEventArgs(); objCallBckArgs.CallBack = wire; objCallBckArgs.IsError = false; objCallBckArgs.Finished = false; objCallBckArgs.CommandId = CommandName.ConfigDownload; objCallBckArgs.State = 0; objCallBckArgs.Sender = GetType().ToString(); objCallBckArgs.Parameters = objDownloadSettings; blnNoError = objIController.DownloadConfigData(objCallBckArgs); if (!blnNoError) { arListStatus.Add(objCMWException.GetExceptions(objCMWException.LastException, "")); // IsDownloadSuucessful = false; OnCommandCompleted(); } //objCMWException = null; objCallBckArgs = null; objDownloadSettings = null; } catch (Exception Ex) { } }