Search Results obtainadapterlock_verify
Overview
XDP_ADAPTER_CORE_DB is the core database package body within the Oracle E-Business Suite XML Publisher (XDP) architecture, specifically handling the adapter registration and lifecycle framework. Adapters in this context are lightweight integration processes that connect external delivery channels — such as FTP, e-mail, WebDAV, or print — to the XML Publisher engine. The package provides the persistence, locking, and administrative plumbing that allows the Applications Concurrent Manager to launch, monitor, and recycle these adapter processes.
The body contains 45 documented procedures and functions, spanning adapter registration, adapter administration requests, channel-code validation, system-request de-duplication, queue inspection, and — most relevant to the search term — adapter locking through the OBTAINADAPTERLOCK family. Unlike the adapter runtime, which is largely external C or Java code invoked through the concurrent manager, XDP_ADAPTER_CORE_DB governs all metadata the engine needs to know about registered adapters and their operational state.
Key Procedures and Functions
The documented procedures fall into several functional clusters:
- Registration and lifecycle: LOADNEWADAPTER inserts a new adapter registration row; CREATENEWADAPTERCHANNEL establishes the associated channel; FETCHADAPTERINFO and FETCHADAPTERSTARTUPINFO retrieve adapter definition and startup configuration for runtime use; UPDATEADAPTER and UPDATE_ADAPTER_ACTIVE_TIME mutate adapter state and last-active timestamps; UPDATE_ADAPTER_STATUS records status transitions.
- Administration request workflow: SUBMITADAPTERADMINREQ, UPDATEADAPTERADMINREQ, REMOVEADAPTERADMINREQ, and FETCHADAPTERADMINREQINFO manage the request queue that the adapter administration UI and concurrent programs consume; DOESSYSTEMREQALREADYEXIST prevents duplicate system-generated requests.
- Locking and concurrency (including the searched term): OBTAINADAPTERLOCK acquires a lock for an adapter instance; OBTAINADAPTERLOCK_FA is a fast-path variant that skips unnecessary verification; OBTAINADAPTERLOCK_VERIFY performs the verification step — typically confirming that the caller holds or should hold the lock, or that a stale lock is eligible for reclamation; RELEASEADAPTERLOCK relinquishes the lock. These functions are central to preventing two concurrent manager workers from managing the same adapter simultaneously.
- Status and diagnostic utilities: GETCURRENTADAPTERSTATUS returns the adapter's current operational status; ISCHANNELCOD validates whether a channel code exists; PEEKINTOFEWAITQUEUE inspects the advanced-queue wait queue without dequeuing messages; GETACKTIMEOUT returns the acknowledgement timeout setting.
Tables Accessed
The package reads and writes across the XML Publisher adapter schema. XDP_ADAPTER_REG is the primary registration table, holding channel, feature/entity (FE) ID, adapter type, display name, usage code, startup mode, log level, and command-line metadata. XDP_ADAPTER_TYPES_B stores the valid adapter types. XDP_FES identifies the feature/entity records that adapters serve. XDP_ADAPTER_ADMIN_REQS (and its _S sequence) holds administrative requests. XDP_ADAPTER_AUDIT (and _S) records audit history of adapter changes. XDP_ADAPTER_JOB_QUEUE tracks queued jobs. XDP_ERROR_LOG captures adapter-related errors. XDP_FE_GENERIC_CONFIG (and _S) and XDP_FE_SW_GEN_LOOKUP provide configuration and lookup values. AQ$XNP_OUT_MSG_QTAB is inspected for outbound message queue state. DBMS_JOB and DBMS_LOCK supply scheduling and lock primitives.
Usage Notes
XDP_ADAPTER_CORE_DB is referenced by 13 other packages, indicating it is a shared foundation rather than a user-facing API. It is typically invoked indirectly — by concurrent programs that start, stop, or recycle adapters, by the XML Publisher administration forms, and by internal engine code that needs adapter metadata. The OBTAINADAPTERLOCK / OBTAINADAPTERLOCK_VERIFY / RELEASEADAPTERLOCK triad is called during adapter startup and shutdown to serialize access. Customizations should avoid calling locking routines directly; instead, standard adapter lifecycle entry points should be used to preserve lock consistency.