locked
External Activator not launching Application RRS feed

  • Question

  • Hello

    I am setup an External Activator solution . I think I got everything as it should be, but the application is just not launching on the QUEUE_ACTIVATION event

    External Activator service start successfully and its shows a RECEIVES_OCCURRING status in sys.dm_broker_queue_monitors.

    The sys.transmission_queue is empty and I can see the messages appearing in sys.conversation_endpoints with a state of CONVERSING

    If I run my Application manually it completes the “Receive” command and reply a message without error.

    Any ideas?

    Regards, WDV

    Wednesday, June 20, 2012 3:48 PM

Answers

  • You might start by turning on verbose tracing.  Change the LogSettings in the EAService.config to the following so that all activity is logged at the verbose level:

      <LogSettings>
        <LogFilter>
    	<TraceFlag>All Levels</TraceFlag>
    	<TraceFlag>All Modules</TraceFlag>
    	<TraceFlag>All Entities</TraceFlag>
    	<TraceFlag>Verbose</TraceFlag>
        </LogFilter>
      </LogSettings>

    After successful activation, the log should contain messages like:

    6/20/2012 9:36:50 AM	VERBOSE	Received event notification for [MyServer].[MyDatabase].[dbo].[MyTargetQueue].
    6/20/2012 9:36:50 AM	VERBOSE	Application process C:\Program Files\MyApplication\MyApplication.EXE was created: id = 7552.
    6/20/2012 9:36:50 AM	VERBOSE	Application process id = 7552 has exited: exit code = 0, exit time = 6/20/2012 9:36:50 AM.


    Dan Guzman, SQL Server MVP, http://weblogs.sqlteam.com/dang/

    • Marked as answer by Iric Wen Thursday, June 28, 2012 9:53 AM
    Wednesday, June 20, 2012 6:00 PM

All replies

  • You might start by turning on verbose tracing.  Change the LogSettings in the EAService.config to the following so that all activity is logged at the verbose level:

      <LogSettings>
        <LogFilter>
    	<TraceFlag>All Levels</TraceFlag>
    	<TraceFlag>All Modules</TraceFlag>
    	<TraceFlag>All Entities</TraceFlag>
    	<TraceFlag>Verbose</TraceFlag>
        </LogFilter>
      </LogSettings>

    After successful activation, the log should contain messages like:

    6/20/2012 9:36:50 AM	VERBOSE	Received event notification for [MyServer].[MyDatabase].[dbo].[MyTargetQueue].
    6/20/2012 9:36:50 AM	VERBOSE	Application process C:\Program Files\MyApplication\MyApplication.EXE was created: id = 7552.
    6/20/2012 9:36:50 AM	VERBOSE	Application process id = 7552 has exited: exit code = 0, exit time = 6/20/2012 9:36:50 AM.


    Dan Guzman, SQL Server MVP, http://weblogs.sqlteam.com/dang/

    • Marked as answer by Iric Wen Thursday, June 28, 2012 9:53 AM
    Wednesday, June 20, 2012 6:00 PM
  • Hi,

    I am having the exact same problem, I have turned on verbose logging and still no luck.

    Error log doesn't appear to be showing much:

    6/12/2013 4:37:14 PM	INFO	The External Activator service is starting.
    6/12/2013 4:37:14 PM	INFO	Initializing configuration manager ...
    6/12/2013 4:37:14 PM	INFO	Reloading configuration file C:\Program Files\Service Broker\External Activator\config\EAService.config ...
    6/12/2013 4:37:14 PM	INFO	Reloading configuration file completed.
    6/12/2013 4:37:14 PM	VERBOSE	Running recovery using recovery log file C:\Program Files\Service Broker\External Activator\log\EARecovery.rlog ...
    6/12/2013 4:37:14 PM	VERBOSE	Checkpointing recovery log C:\Program Files\Service Broker\External Activator\log\EARecovery.rlog ...
    6/12/2013 4:37:14 PM	VERBOSE	Checkpointing recovery log completed.
    6/12/2013 4:37:14 PM	VERBOSE	Running recovery completed.
    6/12/2013 4:37:14 PM	INFO	Initializing configuration manager completed.
    6/12/2013 4:37:14 PM	VERBOSE	Starting worker threads...
    6/12/2013 4:37:14 PM	VERBOSE	CM-NS-Thread is starting...
    6/12/2013 4:37:14 PM	VERBOSE	Worker threads are successfully started.
    6/12/2013 4:37:14 PM	INFO	The External Activator service is running.
    6/12/2013 4:37:14 PM	VERBOSE	Heartbeat-Thread is starting...
    

    and my queues and services are as follows: 

    I assumed I was having issues with "poisoned message" and restarted the entire setup (even dropped the db). I still can't get it to launch my exe.

    Any suggestions would be greatly appreciated!

    Sam

    Wednesday, June 12, 2013 10:54 PM
  • Did you get your work ?
    Thursday, June 13, 2013 2:48 PM
  • Hi,

    I saw your message while looking for something else... I've been through this... 

    The SSBEAS is not launching your app because the queue is in a NOTIFIED state.  When a queue is in the NOTIFIED state no new notifications are posted for it...

    To get it out of this state you must read the messages... you could also launch your app manually (just like the SSBEA service would).

    Oh yeah... there is another way... you can reset the service broker... only do this in your development environment though, as you will lose everything in the queues and the service broker GUID  will be changed (in which case, routes that depend on the service broker id will need to be re-created).

    Hope this helps...

    Gabriel



    Friday, May 16, 2014 3:24 PM