Skip Headers

Oracle Workflow Administrator's Guide
Release 2.6.3.5

Part Number B12160-02
Previous Next       Contents Index Glossary
         Previous  Next          Contents  Index  Glossary

Synchronizing License Statuses

This step is required only for the version of Oracle Workflow embedded in Oracle Applications. Some Oracle Applications products provide seeded events and subscriptions. In these cases, Oracle Workflow executes subscriptions only if the triggering event and the subscription are both owned by products that you have licensed with a status of Installed or Shared.

You can use the License Manager AD utility to review which products you currently have licensed. See: License Manager, Oracle Applications AD Utilies Reference Guide.

To ensure that the license status of the seeded events and subscriptions in the Business Event System is updated according to the status of the products you currently have licensed, you can run the Synchronize Product License and Workflow BES License concurrent program. Use the Submit Requests form in Oracle Applications to submit this concurrent program.

If you upgrade from an Oracle Applications release earlier than Release 11.5.9, you should run the Synchronize Product License and Workflow BES License concurrent program once after the upgrade to update the license status of the existing events and subscriptions in your Event Manager. Otherwise, subscriptions may not be correctly processed after the upgrade. Subsequently, when you license a product, Oracle Workflow automatically updates the license status for all the events and subscriptions owned by that product.

Note: Any events and subscriptions that you define with a customization level of User are always treated as being licensed.

arrow icon   To submit the Synchronize Product License and Workflow BES License concurrent program:

See Also

Events (for Oracle Applications), Oracle Workflow Developer's Guide

Event Subscriptions (for Oracle Applications), Oracle Workflow Developer's Guide

Cleaning Up the Workflow Control Queue

Oracle Workflow contains a standard Business Event System agent named WF_CONTROL, which is associated with a standard queue that is also named WF_CONTROL. This queue has a payload type of JMS Text message. The WF_CONTROL agent is used for internal processing only, and is not meant for customer use. You should not place custom event messages on this queue.

The Generic Service Component Framework uses WF_CONTROL to handle control events for containers and service components, such as notification mailer or agent listener service components. In Oracle Applications, WF_CONTROL is also used for other Oracle Applications internal processing.

You do not need to schedule propagation for the WF_CONTROL agent, because the middle tier processes that use WF_CONTROL dequeue messages directly from its queue.

However, the subscribers to the WF_CONTROL queue need to be cleaned up periodically.

When a middle tier process for Oracle Applications or for standalone Oracle Workflow starts up, it creates a JMS subscriber to the queue. Then, when an event message is placed on the queue, a copy of the event message is created for each subscriber to the queue. If a middle tier process dies, however, the corresponding subscriber remains in the database. For more efficient processing, you should ensure that WF_CONTROL is periodically cleaned up by removing the subscribers for any middle tier processes that are no longer active.

The WF_BES_CLEANUP.Cleanup_Subscribers() procedure sends an event named oracle.apps.wf.bes.control.ping to check the status of each subscriber to the WF_CONTROL queue. If the corresponding middle tier process is still alive, it sends back a response. The next time the cleanup procedure runs, it checks whether responses have been received for each ping event sent during the previous run. If no response was received from a particular subscriber, that subscriber is removed. See: Cleanup_Subscribers, Oracle Workflow API Reference.

The recommended frequency for performing cleanup is every twelve hours. In order to allow enough time for subscribers to respond to the ping event, the minimum wait time between two cleanup runs is thirty minutes. If you run the procedure again less than thirty minutes after the previous run, it will not perform any processing.

Standalone Oracle Workflow If you are using the standalone version of Oracle Workflow, then use the WF_BES_CLEANUP.Cleanup_Subscribers() API to clean up the WF_CONTROL queue. You can use the Oracle Workflow Manager component available through Oracle Enterprise Manager to submit and manage Workflow control queue cleanup database jobs. You can also use the procedures in the DBMS_JOB or DBMS_SCHEDULER packages to schedule and manage the WF_BES_CLEANUP.Cleanup_subscribers() procedure as a database job. See the Oracle Workflow Manager online help and Managing Job Queues, Oracle Database Administrator's Guide or Using the Scheduler, Oracle Database Administrator's Guide.

Oracle Workflow Embedded in Oracle Applications If you are using the version of Oracle Workflow embedded in Oracle Applications, Oracle Workflow provides a concurrent program named Workflow Control Queue Cleanup, which uses the WF_BES_CLEANUP.Cleanup_Subscribers() API to perform the necessary cleanup. This concurrent program is scheduled to run every twelve hours by default, which is the recommended frequency for performing cleanup. You can optionally run this program with a different schedule if you want to perform cleanup at a different frequency.

arrow icon   To submit the Workflow Control Queue Cleanup concurrent program:

In Oracle Applications, you can run a diagnostic test to check that the Workflow control queue is properly accessible. See: Oracle Workflow Diagnostic Tests.

See Also

Workflow Control Events, Oracle Workflow Developer's Guide

Standard Agents, Oracle Workflow Developer's Guide

Business Event System Cleanup API, Oracle Workflow API Reference


         Previous  Next          Contents  Index  Glossary



Oracle Logo
Copyright © 2003, 2004, Oracle. All rights reserved.