[ 
https://issues.apache.org/jira/browse/AMQNET-775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy A. Bish updated AMQNET-775:
-----------------------------------
    Description: 
Versions used:

Artemis : apache-artemis-2.22.0

Apache.NMS : 1.8.0

Apache.NMS.Activemq : 1.8.0

Following is the code,

 
{code:java}
using Apache.NMS;
using Apache.NMS.Util;
using NUnit.Framework;
using System.Collections;
[Test]
public void DataMatchActiveMQTest()
{
   using (IConnection connection = 
GetConnection("activemq:tcp://localhost:61616"))
   using (session = 
connection.CreateSession(AcknowledgementMode.IndividualAcknowledge))
   {           
      IDestination destinationDlq = SessionUtil.GetDestination(session, 
"queue://DLQ");
      IDestination destination = SessionUtil.GetDestination(session, 
"queue://ArtimesTest");
      // Create a consumer and producer
      using (IMessageConsumer consumerDlq = 
session.CreateConsumer(destinationDlq))
      using (IMessageConsumer consumer = session.CreateConsumer(destination))
      using (IMessageProducer producer = session.CreateProducer(destination))   
       
      {
         // Start the connection so that messages will be processed.            
         
         connection.Start();
         producer.DeliveryMode = MsgDeliveryMode.Persistent;
         producer.RequestTimeout = receiveTimeout;
         consumer.Listener += new MessageListener(OnMessage);
         consumerDlq.Listener += new MessageListener(ConsumerDlq_Listener);
         //consumerDlq.Receive();                     
         // Send a message                     
         IObjectMessage request = session.CreateObjectMessage(GetData());
         //session.CreateTextMessage("TextMessage");                     
         session.CreateObjectMessage(GetData());                          
         producer.Send(request);
      }
 
private void ConsumerDlq_Listener(IMessage message)      
{ 
   // message.OriginalDestination is null here. 
   // neither we are able to get it through any other properties            }
private static IConnection GetConnection(string uri)
       
{             
Uri connecturi = new Uri(uri);             
Console.WriteLine("About to connect to " + connecturi);             
// NOTE: ensure the nmsprovider-activemq.config file exists in the executable 
folder.             IConnectionFactory factory = new NMSConnectionFactory 
(connecturi);             IConnection connection = factory.CreateConnection();  
           return connection;         }
 protected static void OnMessage(IMessage receivedMsg)
       
{            
throw new Exception("DLQ exception");
}
{code}
This was working in the earlier versions of ActiveMq. We are not able to replay 
messages using code at a later stage as we are not getting the Original Queue 
and address

  was:
Versions used:

Artemis : apache-artemis-2.22.0

Apache.NMS : 1.8.0

Apache.NMS.Activemq : 1.8.0

Following is the code,

using Apache.NMS;
using Apache.NMS.Util;
using NUnit.Framework;
using System.Collections;

[Test]
        public void DataMatchActiveMQTest()
        {

 using (IConnection connection = 
GetConnection("activemq:tcp://localhost:61616"))
            using (session = 
connection.CreateSession(AcknowledgementMode.IndividualAcknowledge))
            {
                
                IDestination destinationDlq = 
SessionUtil.GetDestination(session, "queue://DLQ");
                IDestination destination = SessionUtil.GetDestination(session, 
"queue://ArtimesTest");
                        // Create a consumer and producer
               using (IMessageConsumer consumerDlq = 
session.CreateConsumer(destinationDlq))
                using (IMessageConsumer consumer = 
session.CreateConsumer(destination))
                using (IMessageProducer producer = 
session.CreateProducer(destination))
               

{                                          // Start the connection so that 
messages will be processed.                     connection.Start();             
        producer.DeliveryMode = MsgDeliveryMode.Persistent;                     
producer.RequestTimeout = receiveTimeout;                     consumer.Listener 
+= new MessageListener(OnMessage);                     consumerDlq.Listener += 
new MessageListener(ConsumerDlq_Listener);                                      
    //consumerDlq.Receive();                     // Send a message              
       IObjectMessage request = session.CreateObjectMessage(GetData()); 
//session.CreateTextMessage("TextMessage");                     
session.CreateObjectMessage(GetData());                          
producer.Send(request);                        }

 

 private void ConsumerDlq_Listener(IMessage message)
       

{ //message.OriginalDestination is null here. neither we are able to get it 
through any other properties            }

 private static IConnection GetConnection(string uri)
       

{             Uri connecturi = new Uri(uri);             
Console.WriteLine("About to connect to " + connecturi);             // NOTE: 
ensure the nmsprovider-activemq.config file exists in the executable folder.    
         IConnectionFactory factory = new NMSConnectionFactory (connecturi);    
         IConnection connection = factory.CreateConnection();             
return connection;         }

 protected static void OnMessage(IMessage receivedMsg)
        {

           throw new Exception("DLQ exception");
            
        }

This was working in the earlier versions of ActiveMq. We are not able to replay 
messages using code at a later stage as we are not getting the Original Queue 
and address


> NMS library with activemq is missing OriginalDestination when message 
> retrieved from DLQ
> ----------------------------------------------------------------------------------------
>
>                 Key: AMQNET-775
>                 URL: https://issues.apache.org/jira/browse/AMQNET-775
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>            Reporter: Vidyadhar Parulekar
>            Priority: Major
>
> Versions used:
> Artemis : apache-artemis-2.22.0
> Apache.NMS : 1.8.0
> Apache.NMS.Activemq : 1.8.0
> Following is the code,
>  
> {code:java}
> using Apache.NMS;
> using Apache.NMS.Util;
> using NUnit.Framework;
> using System.Collections;
> [Test]
> public void DataMatchActiveMQTest()
> {
>    using (IConnection connection = 
> GetConnection("activemq:tcp://localhost:61616"))
>    using (session = 
> connection.CreateSession(AcknowledgementMode.IndividualAcknowledge))
>    {           
>       IDestination destinationDlq = SessionUtil.GetDestination(session, 
> "queue://DLQ");
>       IDestination destination = SessionUtil.GetDestination(session, 
> "queue://ArtimesTest");
>       // Create a consumer and producer
>       using (IMessageConsumer consumerDlq = 
> session.CreateConsumer(destinationDlq))
>       using (IMessageConsumer consumer = session.CreateConsumer(destination))
>       using (IMessageProducer producer = session.CreateProducer(destination)) 
>          
>       {
>          // Start the connection so that messages will be processed.          
>            
>          connection.Start();
>          producer.DeliveryMode = MsgDeliveryMode.Persistent;
>          producer.RequestTimeout = receiveTimeout;
>          consumer.Listener += new MessageListener(OnMessage);
>          consumerDlq.Listener += new MessageListener(ConsumerDlq_Listener);
>          //consumerDlq.Receive();                     
>          // Send a message                     
>          IObjectMessage request = session.CreateObjectMessage(GetData());
>          //session.CreateTextMessage("TextMessage");                     
>          session.CreateObjectMessage(GetData());                          
>          producer.Send(request);
>       }
>  
> private void ConsumerDlq_Listener(IMessage message)      
> { 
>    // message.OriginalDestination is null here. 
>    // neither we are able to get it through any other properties            }
> private static IConnection GetConnection(string uri)
>        
> {             
> Uri connecturi = new Uri(uri);             
> Console.WriteLine("About to connect to " + connecturi);             
> // NOTE: ensure the nmsprovider-activemq.config file exists in the executable 
> folder.             IConnectionFactory factory = new NMSConnectionFactory 
> (connecturi);             IConnection connection = 
> factory.CreateConnection();             return connection;         }
>  protected static void OnMessage(IMessage receivedMsg)
>        
> {            
> throw new Exception("DLQ exception");
> }
> {code}
> This was working in the earlier versions of ActiveMq. We are not able to 
> replay messages using code at a later stage as we are not getting the 
> Original Queue and address



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to