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)