BEA Logo BEA Tuxedo Release 8.0

  BEA Home  |  Events  |  Solutions  |  Partners  |  Products  |  Services  |  Download  |  Developer Center  |  WebSUPPORT

 

   Tuxedo Documentation   |   File Formats and Data Descriptions Reference   |   Local Topics   |   Previous Topic   |   Next Topic   |   Contents

 


APPQ_MIB(5)

Name

APPQ_MIB—Management Information Base for /Q

Synopsis

#include <fml32.h>
#include <tpadm.h>

Description

The /Q MIB defines classes through which application queues can be managed.

APPQ_MIB(5) should be used in combination with the generic MIB reference page MIB(5) to format administrative requests and interpret administrative replies. Requests formatted as described in MIB(5) using classes and attributes described on this reference page may be used to request an administrative service using any one of a number of existing ATMI interfaces in an active application. Application queues in an inactive application may also be administered using the tpadmcall() function interface. For additional information pertaining to all APPQ_MIB(5) class definitions, see APPQ_MIB(5) Additional Information.

APPQ_MIB(5) consists of the following classes.

APPQ_MIB Classes

Class Name

Attributes

T_APPQ

Application queues within a queue space

T_APPQMSG

Messages within an application queue

T_APPQSPACE

Application queue spaces

T_APPQTRANS

Transactions associated with application queues


 

Note that this MIB refers to application-defined persistent (reliable disk-based) and non-persistent (in memory) queues (that is, /Q queues), and not server queues (the T_QUEUE class of the TM_MIB(5) component).

Each class description section has four subsections:

Overview

High level description of the attributes associated with the class.

Attribute Table

A table that lists the name, type, permissions, values and default for each attribute in the class. The format of the attribute table is described below.

Attribute Semantics

Tells how each attribute should be interpreted.

Limitations

Limitations in the access to and interpretation of this class.

Attribute Table Format

Each class that is a part of this MIB is documented in four parts. One part is the attribute table. The attribute table is a reference guide to the attributes within a class and how they may used by administrators, operators, and general users to interface with an application.

There are five components to each attribute description in the attribute tables: name, type, permissions, values and default. Each of these components is discussed in MIB(5).

TA_FLAGS Values

MIB(5) defines the generic TA_FLAGS attribute which is a long containing both generic and component MIB-specific flag values. The following flag values are defined for the APPQ_MIB(5) component. These flag values should be OR'd with any generic MIB flags.

QMIB_FORCECLOSE

When setting the TA_STATE attribute of a T_APPQSPACE object to CLEaning, this flag indicates that the state change should succeed even if the state of the queue space is ACTive.

QMIB_FORCEDELETE

When setting the TA_STATE attribute of a T_APPQSPACE object to INValid, this flag indicates that the state change should succeed even if the queue space is ACTive or if messages are present in any of its queues. Similarly, when setting the TA_STATE attribute of a T_APPQ object to INValid, this flag allows the queue to be deleted even if messages are present or processes are attached to the queue space.

QMIB_FORCEPURGE

When setting the TA_STATE attribute of a T_APPQ object to INValid, this flag indicates that the state change should succeed even if messages are present on the queue. If, however, a message stored in the selected T_APPQ object is currently involved in a transaction, the state change will fail and an error will be written to the user log.

FML32 Field Table

The field table for the attributes described on this reference page is found in the file udataobj/tpadm relative to the root directory of the BEA Tuxedo software installed on the system. The directory ${TUXDIR}/udataobj should be included by the application in the path list (semicolon-separated list on Windows and colon-separated list otherwise) specified by the FLDTBLDIR environment variable and the field table name tpadm should be included in the comma-separated list specified by the FIELDTBLS environment variable.

Limitations

This MIB is provided only on BEA Tuxedo system 6.0 sites and later, both native and Workstation.

If a site running a BEA Tuxedo release earlier than release 6.0 is active in the application, then administrative access through this MIB is limited as follows.

T_APPQ Class Definition

Overview

The T_APPQ class represents application queues. One or more application queues may exist in a single application queue space.

Limitations

It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, sufficient key fields must be supplied to explicitly target a single application queue space. These required key fields are TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID, except when the application is unconfigured (that is, when the TUXCONFIG environment variable is not set), in which case TA_LMID must be omitted. For example, if the TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID attributes are set in a request using tpcall(), then all T_APPQ objects within the specified queue space will be retrieved.

Attribute Table

APPQ_MIB(5): T_APPQ Class Definition Attribute Table

Attributea

Type

Permissions

Values

Default

TA_APPQNAME(k)(r)(*)

string

ru-r--r--

string[1..15]

N/A

TA_APPQSPACENAME(k)(r)(*)

string

ru-r--r--

string[1..15]

N/A

TA_QMCONFIG(k)(r)(*)

string

ru-r--r--

string[1..78]

N/A

TA_LMID(k)(r)(*)b

string

ru-r--r--

string[1..30]

N/A


TA_STATE (Note 3)c

string

rw-r--r--

GET: "VAL"

SET: "{NEW | INV}"

N/A

N/A


TA_APPQORDERd

string

rw-r--r--

{PRIO | TIME | LIFO | FIFO | EXPIR}

FIFO

TA_DEFEXPIRATIONTIME

string

rw-r--r--

{+seconds | NONE}

N/A

TA_DEFDELIVERYPOLICY

string

rw-r--r--

{PERSIST | NONPERSIST}

PERSIST

TA_CMD

string

rw-r--r--

shell-command -string[0..78]

""

TA_CMDHW

string

rw-r--r--

0 <= num [bBm%]

100%

TA_CMDLW

string

rw-r--r--

0 <= num [bBm%]

0%

TA_CMDNONPERSIST

string

rw-r--r--

shell-command-string[0-78]

""


TA_CMDNONPERSISTHW

string

rw-r--r--

0 <= num[bB%]

100%

TA_CMDNONPERSISTLW

string

rw-r--r--

0 <= num[bB%]

0%

TA_MAXRETRIES

long

rw-r--r--

0 <= num

0

TA_OUTOFORDER

string

rw-r--r--

{NONE | TOP | MSGID}

NONE

TA_RETRYDELAY

long

rw-r--r--

0 <= num

0


TA_CURBLOCKS

long

r--r--r--

0 <= num

N/A

TA_CURMSG

long

r--r--r--

0 <= num

N/A

TA_CURNONPERSISTBYTES

long

r--r--r--

0 <= num

N/A

TA_CURNONPERSISTMSG

long

r--r--r--

0 <= num

N/A

( k )—GET key fielde
( r )—required field for object creation
( * )—required SET key field


 

aAll attributes of class T_APPQ are local attributes.

bTA_LMID must be specified as a key field except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set).

cAll operations on T_APPQ objects—both GET and SET—silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.

dTA_APPQORDER cannot be modified after the application queue is created.

eSufficient key fields must be supplied in a GET operation to explicitly target a single application queue space.

Attribute Semantics

TA_APPQNAME: string[1..15]

Name of the application queue.

TA_APPQSPACENAME: string[1..15]

Name of the application queue space containing the application queue.

TA_QMCONFIG: string[1..78]

Absolute pathname of the file or device where the application queue space is located.

TA_LMID: string[1..30] (no comma)

Identifier of the logical machine where the application queue space is located.

TA_STATE:

GET: {VALid}

A GET operation retrieves information about the selected application queues. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request.

VALid

The specified queue exists. This state is INActive equivalent for purposes of permissions checking.


 

SET: {NEW | INValid}

A SET operation changes characteristics of the selected application queue or creates a new queue. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.

NEW

Create a new queue in the specified queue space. The queue is left in state VALid following successful creation.

INValid

Delete the specified queue. The queue must be in state VALid to be deleted. If the queue space has processes attached to it (that is, it is in the ACTive state), the queue will not be deleted unless the TA_FLAGS attribute includes the QMIB_FORCEDELETE flag. In addition, if the queue has messages in it, it will not be deleted unless QMIB_FORCEPURGE is specified. Successful return leaves the object in the INValid state.

unset

Modify an application queue. Successful return leaves the state unchanged.


 

TA_APPQORDER:

The order in which messages in the queue are to be processed. Legal values are PRIO, TIME, or EXPIR. A combination of sort criteria may be specified with the most significant criterion specified first, followed by other criteria, and optionally followed by either LIFO or FIFO, which are mutually exclusive. If EXPIR is specified, messages with no expiration time are dequeued after all messages with an expiration time. If neither FIFO nor LIFO is specified, FIFO is assumed. If no order is specified when a queue is created, the default order is FIFO. For example, the following are settings are legal:

PRIO
PRIO,TIME,LIFO
TIME,PRIO,FIFO
TIME,FIFO
EXPIR
EXPIR,PRIO,FIFO
TIME,EXPIR,PRIO,FIFO

TA_CMD: shell-command-string[0..78]

The command to be automatically executed when the high water mark for persistent (disk-based) messages, TA_CMDHW, is reached. The command will be reexecuted when the high water mark is reached again after the low water mark, TA_CMDLW, has been reached.

TA_CMDHW: 0 <= num[bBm%]

TA_CMDLW: 0 <= num[bBm%]

The high and low water marks that control the automatic execution of the command specified in the TA_CMD attribute. Each is an integer greater than or equal to zero. Both TA_CMDHW and TA_CMDLW must be followed by one of the following keyletters and the keyletters must be consistent for TA_CMDHW and TA_CMDLW.

b

The high and low water marks pertain to the number of bytes used by persistent (disk based) messages in the queue.

B

The high and low water marks pertain to the number of blocks used by persistent messages in the queue.

m

The high and low water marks pertain to the number of messages (both persistent and non-persistent) in the queue.

%

The high and low water marks are expressed in terms of a percentage of queue capacity. This pertains only to persistent messages.

For example, if TA_CMDLW is 50m and TA_CMDHW is 100m, then the command specified in TA_CMD will be executed when 100 messages are on the queue, and it will not be executed again until the queue has been drained below 50 messages and has filled again to 100 messages.

TA_CMDNONPERSIST: shell-command-string[0..78]

This attribute specifies the command to be executed automatically when the high water mark for non-persistent (memory-based delivery) messages, TA_CMDNONPERSISTHW, is reached. The command is reexecuted when the high-water mark is reached again after the low-water mark for non-persistent (memory-based delivery) messages, TA_CMDNONPERSISTLW, has been reached.

TA_CMDNONPERSISTHW: 0 <= num[bB%]

TA_CMDNONPERSISTLW: 0 <= num[bB%]

These attributes specify the high and low water marks that control the automatic execution of the command specified in the TA_CMDNONPERSIST attribute. Each is an integer greater than or equal to zero followed by one of the following keyletters. The keyletters must be consistent for TA_CMDNONPERSISTHW and TA_CMDNONPERSISTLW.

b

The high and low water marks are expressed as the number of bytes used by non-persistent (in memory) messages in the queue.

B

The high and low water marks are expressed as the number of blocks used by non-persistent (in memory) messages in the queue.

%

The high and low water marks are expressed as a percentage of the shared memory capacity reserved for non-persistent messages in the queue space used by the queue.

The messages threshold type specified via the TA_CMDHW and TA_CMDLW attributes (when followed by an m) applies to all messages in a queue, including both persistent and non-persistent messages, and therefore is not available as a threshold type for TA_CMDNONPERSISTHW and TA_CMDNONPERSISTLW.

TA_CURBLOCKS: 0 <= num

The number of disk pages currently consumed by the queue.

TA_CURMSG: 0 <= num

The number of persistent messages currently in the queue. To determine the total number of messages in the queue, add TA_CURMEMMSG to this value.

TA_DEFAULTEXPIRATIONTIME:

This attribute specifies an expiration time for messages enqueued with no explicit expiration time. The expiration time may be either a relative expiration time or NONE. The relative expiration time is determined by associating a fixed amount of time with a message after the message arrives at the queue manager process. When a message's expiration time is reached and the message has not been dequeued or administratively deleted, all resources associated with the message are reclaimed by the system and statistics are updated. If a message expires during a transaction, the expiration does not cause the transaction to fail. Messages that expire while being enqueued or dequeued within a transaction are removed from the queue when the transaction ends. There is no notification that the message has expired. If no default expiration time is specified for a queue, then messages without an explicit expiration time do not expire. When the queue's expiration time is modified, the expiration times of messages that were in the queue before the modification are not changed.

The format is +seconds where seconds is the number of seconds allowed to lapse between the time that the queue manager successfully completes the operation and the time that the message is to expire. If seconds is set to zero (0) the message expires immediately.

The value of this attribute may also be set to the string NONE. The NONE string indicates that messages enqueued to the queue with no explicit expiration time do not expire. You may change the expiration time for messages already in a queue with the TA_EXPIRETIME attribute of the T_APPQMSG class in the APPQ_MIB.

TA_DEFDELIVERYPOLICY:

This attribute specifies the default delivery policy for the queue when no delivery mode is specified for a message enqueued to the queue. When the value is PERSIST, messages enqueued to the queue without an explicitly specified delivery mode are delivered using the persistent (disk-based) delivery method. When the value is NONPERSIST, messages enqueued to the queue without an explicitly specified delivery mode are delivered using the non-persistent (in memory) delivery method.When a queue's default delivery policy is modified, the delivery quality of service of messages that are in the queue before the modification are not changed. If the queue being modified is the reply queue named for any messages currently in the queue space, the reply quality of service is not changed for those messages as a result of changing the default delivery policy of the queue.

For non-persistent delivery, if the memory area is exhausted or fragmented such that a message cannot be enqueued, the enqueuing operation fails, even if there is sufficient persistent storage for the message. Similarly, if the persistent storage area is exhausted or fragmented such that a message cannot be enqueued, the enqueuing operation fails, even if there is sufficient non-persistent storage for the message. If the TA_MEMNONPERSIST attribute of the T_APPQSPACE class is zero (0) for a queue space, no space is reserved for non-persistent messages. In such a case, any attempt to enqueue a non-persistent message fails. This type of failure results, for example, when no delivery quality of service has been specified for a message and the TA_DEFDELIVERYPOLICY attribute for the target queue has been set to NONPERSIST.

TA_MAXRETRIES: 0 <= num

The maximum number of retries for a failed queue message. When the number of retries is exhausted, the message is placed on the error queue of the associated application queue space. If there is no error queue, the message is dropped. The default is zero.

TA_OUTOFORDER: {NONE | TOP | MSGID}

The way in which out-of-order message processing is to be handled. The default is NONE.

TA_RETRYDELAY: 0 <= num

The delay, in seconds, between retries for a failed queue message. The default is zero.

TA_CURNONPERSISTBYTES: 0 <= num

This attribute specifies the number of shared memory bytes currently consumed by the non-persistent messages on the queue.

TA_CURNONPERSISTMSG: 0 <= num

This attribute specifies the number of non-persistent messages currently in the queue. To determine the total number of messages in the queue, add TA_CURMSG to this value.

T_APPQMSG Class Definition

Overview

The T_APPQMSG class represents messages stored in application queues. A message is not created by an administrator; instead, it comes into existence as a result of a call to tpenqueue(). A message can be destroyed either by a call to tpdequeue() or by an administrator. In addition, certain attributes of a message can be modified by an administrator. For example, an administrator can move a message from one queue to another queue within the same queue space or change its priority.

Limitations

It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, sufficient key fields must be supplied to explicitly target a single application queue space. These required key fields are TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID, except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set), in which case TA_LMID must be omitted. For example, if the TA_APPQSPACENAME, TA_QMCONFIG, and TA_LMID attributes are set in a request using tpcall(), then all T_APPQMSG objects in all queues of the specified queue space will be retrieved.

Attribute Table

APPQ_MIB(5): T_APPQMSG Class Definition Attribute Table

Attributea

Type

Permissions

Values

Default

TA_APPQMSGID(k)(*)

string

r--r--r--

string[1..32]

N/A

TA_APPQNAME(k)(*)

string

r--r--r--

string[1..15]

N/A

TA_APPQSPACENAME(k) (*)

string

r--r--r--

string[1..15]

N/A

TA_QMCONFIG(k)(*)

string

r--r--r--

string[1..78]

N/A

TA_LMID(k)(*)b

string

r--r--r--

string[1..30]

N/A


TA_STATEc

string

rw-r--r--

GET: "VAL"

SET: "INV"

N/A

N/A


TA_NEWAPPQNAME

string

-w--w----

string[1..15]

N/A

TA_PRIORITY

long

rw-rw-r--

{ 1 <= num <= 100 | -1 }

N/A

TA_TIME

string

rw-rw-r--

{YY[MM[DD[hh[mm[ss]]]]] | +seconds}

N/A

TA_EXPIRETIME

string

rw-rw-r--

{YY[MM[DD[hh[mm[ss]]]]] | +seconds}

N/A


TA_CORRID(k)

string

r--r--r--

string[0..32]

N/A

TA_PERSISTENCE (k)

string

r--r--r--

{PERSIST|NONPERSIST}

N/A

TA_REPLYPERSISTENCE

string

r--r--r--

{PERSIST | NONPERSIST | DEFAULT}

N/A

TA_LOWPRIORITY(k)

long

k--k--k--

1 <= num <= 100

1

TA_HIGHPRIORITY(k)

long

k--k--k--

1 <= num <= 100

100

TA_MSGENDTIME(k)

string

k--k--k--

{ YY[MM[DD[hh[mm[ss]]]]] | +seconds}

MAXLONG

TA_MSGSTARTTIME(k)

string

k--k--k--

{ YY[MM[DD[hh[mm[ss]]]]] | +seconds}

0

TA_MSGEXPIREENDTIME(k)

string

k--k--k--

{ YY[MM[DD[hh[mm[ss]]]]] | +seconds|NONE}

MAXLONG

TA_MSGEXPIRESTARTTIME(k)

string

k--k--k--

{ YY[MM[DD[hh[mm[ss]]]]] | +seconds}

0


TA_CURRETRIES

long

r--r--r--

0 <= num

N/A

TA_MSGSIZE

long

r--r--r--

0 <= num

N/A

( k )—GET key fieldd
( * )—required SET key field


 

aAll attributes of class T_APPQMSG are local attributes.

bTA_LMID must be specified as a key field except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set).

cAll operations on T_APPQMSG objects—both GET and SET—silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.

dSufficient key fields must be supplied in a GET operation to explicitly target a single application queue space.

Attribute Semantics

TA_APPQMSGID: string[1..32]

A unique identifier for the queue message, which can be used to select the message for GET or SET operations. No significance should be placed on this value beyond using it for equality comparisons.

TA_APPQNAME: string[1..15]

Name of the application queue in which the message is stored.

TA_APPQSPACENAME: string[1..15]

Name of the application queue space containing the message.

TA_QMCONFIG: string[1..78]

Absolute pathname of the file or device where the application queue space is located.

TA_LMID: string[1..30] (no comma)

Identifier of the logical machine where the application queue space is located.

TA_STATE:

GET: {VALid}

A GET operation retrieves information about the selected messages. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request.

VALid

The message exists. This state is INActive equivalent for purposes of permissions checking.


 

SET: {INValid}

A SET operation changes characteristics of the selected message. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.

INValid

The message is deleted from its queue space. The message must be in state VALid before attempting this operation. Successful return leaves the object in the INValid state.

unset

Modify a message. Successful return leaves the state unchanged.


 

TA_CURRETRIES: 0 <= num

The number of retries that have been attempted so far on this message.

TA_CORRID: string[0..32]

The correlation identifier for this message provided by the application in the tpenqueue(3c) request. The empty string indicates that a correlation identifier is not present.

TA_EXPIRETIME:

This attribute specifies the time at which a message expires (that is, the time at which the message should be removed from the queue if it has not already been dequeued or administratively deleted). When a message expires, all resources used by it are reclaimed by the system and statistics are updated. If a message expires during a transaction, the expiration does not cause the transaction to fail. Messages that expire while being enqueued or dequeued within a transaction are removed from the queue when the transaction ends. There is no notification that the message has expired.

Expiration times cannot be added to messages enqueued by versions of the BEA Tuxedo system that do not support message expiration, even when the queue manager responsible for changing this value supports message expiration. Attempts to add an expiration time fail.

The empty string is returned by a GET operation if the expiration time is not set. The TA_EXPIRETIME format is one of the following:

+seconds

Specifies that the message will be removed after the specified number of seconds. If the value of seconds is set to zero (0), the message is removed immediately from the queue. Relative expiration time is calculated on the basis of the time at which the MIB request arrives and has been processed by the corresponding queue manager.

YY[MM[DD[hh]mm[ss]]]]

Specifies the year, month, day, hour, minute, and second when the message will be removed if it has not been dequeued or administratively deleted already. Omitted units default to their minimum possible values. For example, 9506 is equivalent to 950601000000. The years 00 through 37 are treated as 2000 through 2037, 70 through 99 are treated as 1970 through 1999, and 38 through 69 are invalid. An absolute expiration time is determined by the clock on the machine where the queue manager process resides.

NONE

Specifies that the message will never expire.

TA_LOWPRIORITY: 1 <= num <= 100
TA_HIGHPRIORITY: 1 <= num <= 100

The lowest and highest priority within which to search for occurrences of T_APPQMSG objects. These attributes may only be used as key fields with GET operations.

TA_MSGEXPIRESTARTTIME:
TA_MSGEXPIREENDTIME:

The expiration start and end times within which to search for occurrences of T_APPQMSG objects. The range is inclusive. A start or end time must be specified as an absolute time value; see TA_EXPIRETIME for the format. These attributes may only be used as key fields with GET operations.

TA_MSGSIZE: 0 <= num

The size of the message, in bytes.

TA_MSGSTARTTIME:
TA_MSGENDTIME:

The start and end time within which to search for occurrences of T_APPQMSG objects. The range is inclusive. A start or end time must be specified as an absolute time value; see TA_TIME for the format. These attributes may only be used as key fields with GET operations.

TA_NEWAPPQNAME: string[1..15]

Name of the queue into which to move the selected message. This queue must be an existing queue in the same queue space. The message must be in state VALid for this operation to succeed. This attribute is not returned by a GET operation. The delivery quality of service of messages that are moved will not be changed as a result of the default delivery policy of the new queue. When messages with an expiration time are moved, the expiration time is considered an absolute expiration time in the new queue, even if it was previously specified as a relative expiration time.

TA_PERSISTENCE:

The quality of service with which the message is being delivered. This read-only state is set to NONPERSIST for non-persistent messages and PERSIST for persistent messages.

TA_PRIORITY: 1 <= num <= 100

The priority of the message.

TA_REPLYPERSISTENCE:

The quality of service with which replies to the message should be delivered. This read-only state is set to NONPERSIST for non-persistent, PERSIST for persistent, and DEFAULT when the reply is to use the default persistence established for the queue where the reply is to be enqueued.

Note that the default delivery policy is determined when the reply to a message is enqueued. That is, if the default delivery policy of the reply queue is modified between the time that the original message is enqueued and the reply to the message is enqueued, the policy used is the one in effect when the reply is finally enqueued.

TA_TIME:

The time when the message will be made available. The format is one of the following:

+seconds

Specifies that the message will be processed seconds in the future. The value zero (0) specifies that the message should be processed immediately.

YY[MM[DD[hh[mm[ss]]]]]

Specifies the year, month, day, hour, minute, and second when the message should be processed. Omitted units default to their minimum possible values. For example, 9506 is equivalent to 950601000000. The years 00 through 37 are treated as 2000 through 2037, 70 through 99 are treated as 1970 through 1999, and 38 through 69 are invalid.

T_APPQSPACE Class Definition

Overview

The T_APPQSPACE class represents application queue spaces. An application queue space is an area in a BEA Tuxedo system device; see the T_DEVICE class in TM_MIB(5) for more information about devices and their attributes. Each queue space typically contains one or more application queues, and each queue may have messages stored in it.

A queue space is uniquely identified by several attributes: its name (TA_APPQSPACENAME attribute), the device that contains it (TA_QMCONFIG attribute), and the logical machine where the device is located (TA_LMID attribute).

A queue space is typically associated with exactly one server group in a configured application. The queue space name as well as the device name are components of the TA_OPENINFO attribute of the T_GROUP object.

Limitations

It is not possible to retrieve all instances of this class by leaving all key fields unset. Instead, all three key fields must be supplied to explicitly target a single application queue space. The single exception occurs when accessing a local queue space via tpadmcall() in the context of an unconfigured application (that is, the TUXCONFIG environment variable is not set). In this case the TA_LMID key field must be omitted.

The above limitation regarding accessibility of queue spaces also applies to T_APPQ, T_APPQMSG, and T_APPQTRANS objects because operations on all objects in the /Q MIB implicitly involve queue spaces.

Attribute Table

APPQ_MIB(5): T_APPQSPACE Class Definition Attribute Table

Attributea

Type

Permissions

Values

Default

TA_APPQSPACENAME(k)(r)(*)

TA_QMCONFIG(k)(r)(*)

TA_LMID(k)(r)(*)b

string

string

string

ru-r--r--

ru-r--r--

ru-r--r--

string[1..15]

string[1..78]

string[1..30]

N/A

N/A

N/A

TA_STATE(k)c

string

rwxrwxr--

GET: "{INA | INI | OPE | ACT}"

SET: "{NEW | OPE | CLE | INV}"

N/A

N/A

TA_BLOCKING

TA_ERRORQNAME

TA_FORCEINIT—>

TA_IPCKEY(r)

TA_MAXMSG(r)

TA_MAXPAGES(r)

TA_MAXPROC(r)

TA_MAXQUEUES(r)d

TA_MAXTRANS(r)

TA_MAXACTIONS

TA_MAXHANDLES

TA_MAXOWNERS

TA_MAXTMPQUEUES

TA_MAXCURSORS

TA_MEMNONPERSIST

TA_MEMFILTERS

TA_MEMOVERFLOW

long

string

string

long

long

long

long

long

long

long

long

long

long

long

string

long

long

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

rw-r--r--

0 <= num

string[0..15]

{Y | N}

32769 <= num <= 262143

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num[bB]

0 <= num

0 <= num

16

""

N

N/A

N/A

N/A

N/A

N/A

N/A

0

0

0

0

0

0

0

0

TA_MEMSYSTEMRESERVED

TA_MEMTOTALALLOCATED

long

long

r--r--r--

r--r--r--

0 <= num

0 <= num

N/A

N/A

TA_CUREXTENT

TA_CURMSG

TA_CURPROC

TA_CURQUEUES

TA_CURTRANS

TA_CURACTIONS

TA_CURHANDLES

TA_CUROWNERS

TA_CURTMPQUEUES

TA_CURCURSORS

TA_CURMEMNONPERSIST

TA_CURMEMFILTERS

TA_CURMEMOVERFLOW

TA_HWMSG

TA_HWPROC

TA_HWQUEUES

TA_HWTRANS

TA_HWACTIONS

TA_HWHANDLES

TA_HWOWNERS

TA_HWTMPQUEUES

TA_HWCURSORS

TA_HWMEMNONPERSIST

TA_HWMEMFILTERS

TA_HWMEMOVERFLOW

TA_PERCENTINIT

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

long

r--r--r--

r--r--r--

r--r--r--

r--r--r--

R--R--R--

r--r--r--

r--r--r--

r--r--r--

r--r--r--

r--r--r--

r--r--r--

r--r--r--

r--r--r--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

R--R--R--

r--r--r--

0 <= num <= 100

{ 0 <= num | -1 }

0 <= num

{ 0 <= num | -1 }

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num <= 100

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

0 <= num

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

N/A

( k )—GET key field
( r )—required field for object creation
( * )—required SET key field


 

a.All attributes of class T_APPQSPACE are local attributes.

b.TA_LMID must be specified as a key field except when the application is unconfigured (that is, the TUXCONFIG environment variable is not set).

c.All operations on T_APPQ, T_APPQMSG, and T_APPQTRANS objects (both GET and SET) silently open the associated queue space (that is, implicitly set the state of the queue space to OPEn if it is not already OPEn or ACTive). This may be a time-consuming operation if the queue space is large.

d.TA_MAXQUEUES cannot be modified after the queue space is created.

Attribute Semantics

TA_APPQSPACENAME: string[1..15]

Name of the application queue space.

TA_QMCONFIG: string[1..78]

Absolute pathname of the file or device where the application queue space is located.

TA_LMID: string[1..30] (no comma)

Identifier of the logical machine where the application queue space is located.

TA_STATE:

GET: {INActive | INItializing | OPEn | ACTive}

A GET operation retrieves information about the selected application queue space. The following list describes the meaning of the TA_STATE attribute returned in response to a GET request.

INActive

The queue space exists; that is, disk space for it has been reserved in a device and the space has been initialized (if requested or if necessary).

INItializing

Disk space for the queue space is currently being initialized. This state is ACTive equivalent for purposes of permissions checking.

OPEn

Shared memory and other IPC resources for the queue space have been allocated and initialized, but no processes are currently attached to the shared memory. This state is INActive equivalent for purposes of permissions checking.

ACTive

Shared memory and other IPC resources for the queue space have been allocated and initialized, and at least one process is currently attached to the shared memory. These processes can be the queue servers (TMS_QM, TMQUEUE, and perhaps TMQFORWARD) associated with the queue space, or they can be administrative processes such as qmadmin(1), or they can be processes associated with another application.


 

SET: {NEW | OPEn | CLEaning | INValid}

A SET operation changes the selected application queue space or creates a new one. The following list describes the meaning of the TA_STATE attribute returned by a SET request. States not listed cannot be set.

NEW

Create a new queue space. The state of the queue space becomes either INItializing or INActive following a successful SET to this state.

OPEn

Allocate and initialize shared memory and other IPC resources for the queue space. This is allowed only if the queue space is in the INActive state.

CLEaning

Remove the shared memory and other IPC resources for the queue space. This is allowed only when the queue space is in the OPEn or ACTive state. The QMIB_FORCECLOSE flag must be specified if the state is ACTive. When successful, all non-persistent messages are permanently lost.

INValid

Delete the queue space. Unless the QMIB_FORCEDELETE flag is passed, an error is reported if the state is ACTive or if messages exist on any queues in the queue space. Successful return leaves the object in the INValid state. When successful, all non-persistent messages are permanently lost.

unset

Modify an application queue space. Successful return leaves the state unchanged.


 

TA_BLOCKING: 0 <= num

The blocking factor used for disk space management of the queue space. The default when a new queue space is created is 16.