Each type can be thought of like a table in an SQL database. Each table has a set of attributes that comprise it, and at least one of those attributes will comprise the primary key.
Tabulator comes with a set of sample "Type" classes in its examples. These illustrate various features of the sources provided.
It also provides other ready made "Type" classes.
Apache QPid is messaging
implementation which speaks the AMQP
protocol.
Older versions of QPid support administration via JMX.
This uses the JMX source
class to scan JMX MBeans matching this pattern :-
If the queue names are known, it can make targetted requests for just
those named queues.
It fetches a basic set of attributes
per queue.
The Config attribute group
enables additional attributes relating to how the queue is configured,
such as whether it is Durable.
The Status attribute group enables additional attributes relating
to the status of the queue, such as its current MessageCount.
It only fetches attributes if their group has been selected.
The "Type" class provides an This is too complex to implement using the
JMX source, so the logic to
query queues for messages is actually in the QPid message "Type" class.
This is because QPid JMX MBeans make extensive use of methods,
CompositeData and TabularData.
There is a basic set of attributes
returned per message.
The Headers attribute group
enables additional non-JMS message header attributes.
The JMS Headers attribute group enables additional JMS message
header attributes.
The Payload attribute group enables additional attributes,
relating to, and including, the message payload itself.
The "Type" class provides an The enrichment functions are obliged to apply the
match expressions to the attribute values they
create.
So the sequence is :-
This means that if the queue is filtered out by the match criteria,
the system doesn't bother fetching message level attributes.
The QPid message type implements an
extended action
which returns the raw message content to the browser.
It uses the MIME type obtained from QPid when returning data to the browser.
Newer versions of QPid support administration via the QPid REST API,
and have removed the JMX interface.
This uses the JSON source
to process the output of calling the QPid REST API.
If the queue name is known, it can make a targetted request for just
that named queue.
It fetches a basic set of attributes
per queue, and there are attribute groups
to fetch more.
The "Type" class provides an By default, queues in the This code has been tested with QPid 6.1.4,
but I don't know the earliest version it works with.
This uses the JSON source
to process the output of calling the QPid REST API.
If the queue name is known, it can make a targetted request for just
that named queue.
If the range of desired queue positions is known, it can make targetted
requests for just those ranges of messages.
It fetches a basic set of attributes
per message, and there are attribute groups
to fetch more.
The "Type" class provides The QPid message type implements an
extended action
which returns the raw message content to the browser.
It uses the MIME type obtained from QPid when returning data to the browser.
This code has been tested with QPid 6.1.4,
but I don't know the earliest version it works with.
It doesn't work with QPid 5.1.11, as it doesn't support
QPid queue JMX
org.apache.qpid:type=VirtualHost.Queue,name=*,*
enrichQueue
method which any
subclass can use to provide additional attributes.
One use of this is could be to annotate each queue using static reference data,
such as a support group.
QPid message JMX
enrichQueue
method which any
subclass can use to provide additional queue level attributes.
It also supplies an enrichMessage
method for enriching the
message.
This could be used to decode the message content, perhaps XPath-ing out
salient fields and presenting as attributes of their own.
QPid queue REST
enrichQueue
method which any
subclass can use to provide additional attributes.
default
virtualhostnode
and the default
virtualhost are displayed, but these values
can be overridden.
QPid message REST
enrichQueue
and
enrichMessage
methods which any subclass can use to provide
additional attributes.
getMessageInfo
.