Post date: Dec 13, 2012 10:6:46 PM
Queue Service can run side by side with Event Service MSMQ.
The following items / steps need to be confirmed as part of setting up Queue Service in a new QBO 3 environment:
Ensure Message Queue Services are installed on Machine
Windows 2008 - Server Manager-> Features -> Message Queueing -> Message Queue Services (check) -> Install
Install Queue Service
Download latest qbo.QueueService.msi from {SourceRoot}qbo v3/Installation. As of the blog post date, this is 1.04
Install MSI. Ensure during install that "Everyone" option is selected
Modify C:\Program Files (x86)\Quandis\Qbo Queue Service\QueueService.exe.config:
QueueSource ConfigFile must point to QBO v3 web.config
Retrofit QBO v3 install if necessary
Ensure latest modules are installed:
qbo.Application / qbo.AppliationWeb
qbo.Logging / qbo.LoggingWeb
qbo.Queue.MSMQ - MessageQueue
qbo.Queue.ObjectQueue - ObjectQueue based Queues
qbo.Queue.MSSQL (Optional) - MSSQL Service Broker
Ensure ObjectQueue.sql, QueueLog.sql tables scripts have been run in target database. They can be obtained from qbo v2 Core/qbo.Database.Application/Tables
web.config / config entries (web.config has working version of config that can be code compared)
Ensure section references to Queuing, ObjectQueue, QueueLog, QueueScheduling exist in web.config
Ensure membership section has fully qualified providers for type attribute: type="qbo.Security.Providers.QboMembershipProvider, qbo.Security" in web.config
Ensure logging categorySources exists for QueueLogging:
<add switchValue="All" name="QueueSuccess">
<listeners>
<add name="QueueLog" />
</listeners>
</add>
<add switchValue="All" name="QueueFailure">
<listeners>
<add name="QueueLog" />
</listeners>
</add>
<add switchValue="All" name="QueueRetry">
<listeners>
<add name="QueueLog" />
</listeners>
</add>
<add switchValue="All" name="QueueDebug">
<listeners>
<add name="QueueLog" />
</listeners>
</add>
Ensure logging listener exists for QueueLog
<add name="QueueLog" type="qbo.Logging.QueueLogTraceListener, qbo.Logging" listenerDataType="qbo.Logging.QueueLogTraceListenerData, qbo.Logging" formatter="Text Formatter" />
Ensure latest Queuing.config is deployed
Initial Testing of Queuing/QueueService
Navigate to /Application/Queue.ashx (there should be no errors)
All queues should be selected which brings up an edit panel. Ensure drop downs in edit panels contain values. If this does not work, begin troubleshooting
In a new tab, navigate to another module (eg. /LoanSelect.ashx/Summary?LoanID=1). Queue this operation: manually navigate to /LoanSelect.ashx/Queue/Summary?LoanID=1 . Operation doesn't really do much but proves wiring works.
"Default Queue" on /Application/Queue.ashx should now reflect newly queued item
Start Queue Service
Queue another item manually
Check /Logging/QueueLog.ashx
If item is not successfully logged, stop service and begin troubleshooting