Jose Luis Pedrosa created AMQNET-457:
----------------------------------------

             Summary: WCF Dispatching/Execution of messages happens in 
"ActiveMQ Task" thread
                 Key: AMQNET-457
                 URL: https://issues.apache.org/jira/browse/AMQNET-457
             Project: ActiveMQ .Net
          Issue Type: Bug
    Affects Versions: 1.6.0
         Environment: IIS 7.5
.Net 4.
            Reporter: Jose Luis Pedrosa
            Assignee: Jim Gomes


Hi

When using the WCF Connector, the execution of the method corresponding to that 
message, happens in the same thread as the listener, this make the IIS single 
thread execution, which makes it not valid for production environments.

I guess this design is caused by the imposibility of Nack a single message with 
current NMS API. 

Example log, Incoming message:
{noformat}
2013-10-31 12:16:23,156 [ActiveMQ Task] DEBUG MessageConsumer - Decoding message
2013-10-31 12:16:23,157 [ActiveMQ Task] DEBUG MessageConsumer - <s:Envelope 
xmlns:a="http://www.w3.org/2005/08/addressing"; 
xmlns:s="http://www.w3.org/2003/05/soap-envelope";>
  <s:Header>
    <a:Action s:mustUnderstand="1">XXXXXXXXXXXXXXXXXXXXXX</a:Action>
    <a:To>tcp://localhost:61616</a:To>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
    <ProcessEvent xmlns="XXXXXXXXXXXXXXXXXXXX">
      <ev xsi:type="XXXXXXXXXXXXXX">
        <Customer xsi:nil="true" />       
      </ev>
    </ProcessEvent>
  </s:Body>
</s:Envelope>
2013-10-31 12:16:23,157 [ActiveMQ Task] DEBUG NmsInputChannelListener - 
Dispatching incoming message
{noformat}
Execution of the application code:
{noformat}
2013-10-31 12:16:23,157 [ActiveMQ Task] DEBUG QueueConsumerApplication - 
ProcessEvent Start
2013-10-31 12:16:23,157 [ActiveMQ Task] DEBUG QueueConsumerApplication - 
ProcessEvent end
{noformat}
Execution of the Ack after application has exit
{noformat}
2013-10-31 12:16:23,157 [ActiveMQ Task] DEBUG MessageConsumer - Session sending 
Ack: MessageAck[ commandId = 0, responseRequired = False, Destination = 
queue://ExampleApplicationQueue, TransactionId = , ConsumerId = 
ID:JLPedrosa-60663-635188168770182298-1:0:1:1, AckType = 2, FirstMessageId = 
ID:JLPedrosa-60805-1382980580178-5:8:1:1:11025782:0, LastMessageId = 
ID:JLPedrosa-60805-1382980580178-5:8:1:1:11025782:0, MessageCount = 1, 
PoisonCause =  ]
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to