In Message Queue I Cant Read the Message From Message Type 2 in C
Affiliate 2
Introduction to Bulletin Queue
Message Queue is a reliable asynchronous messaging service that conforms to the JMS 1.ane specification. In addition, to provide for the needs of big-scale enterprise deployments, Message Queue provides a host of features that exceed JMS specification requirements.
This chapter describes the Bulletin Queue service architecture and introduces its enterprise features and capabilities. The chapter covers the post-obit topics:
- Message Service Architecture
- Product Features
- Product Editions
- Message Queue in a Dominicus Product Context
Bulletin Service Compages
The Bulletin Queue service is composed of the following elements:
- Message Server
- Client Runtime
- Administered Objects
- Administration Tools
Figure 2-i shows how these elements work together.
Effigy 2-1 Message Queue Service Architecture
As shown in the effigy, a Message Queue customer uses the Java or C API to ship or receive a message. These APIs are implemented in a Java or C-client runtime library, which does the actual work of creating connections to the broker and packaging the bits appropriately for the connectedness service requested. If the application uses administered objects, the client runtime locates these objects in an object store and uses them to configure the connection and to locate concrete destinations. The broker routes and delivers the message. An administrator uses Message Queue authoritative tools to manage the broker and to add administered objects to the object shop.
Each of these elements is described briefly in the post-obit sections.
Message Server
The message server is composed of one or more brokers and performs message routing and delivery. Information technology is the heart of the Message Queue service.
The message server consists of a single broker or a set of brokers working together (as a broker cluster) to perform message routing and delivery services. The broker is a process that performs the following tasks:
- The authentication of users and authorization of the operations they desire to perform
- Sets up advice channels with clients
- Receives messages from producing clients and places them in their corresponding physical destinations
- Routes and delivers messages to i or more consuming clients
- Guarantees reliable delivery
- Provides data for monitoring system functioning.
For a detailed description of the message server, its internal components, and the functions they perform, see Chapter 4, "Bulletin Server".
Message Queue Enterprise Edition supports the use of broker clusters, consisting of multiple interconnected broker instances, allowing a message server to scale with the volume of message traffic. For a description of architecture and cluster configuration issues, see Chapter 5, "Broker Clusters."
Client Runtime
The Message Queue client runtime provides customer applications with an interface to the Message Queue service. The client runtime supports all operations needed for Message Queue clients to produce messages (send them to destinations) and to consume messages (recollect them from destinations).
There are two language implementations of the Message Queue client runtime, as shown in Effigy 2-1:
- Coffee customer runtime. Supplies Java client applications and components with all the objects needed to implement the JMS API and to interact with the Bulletin Queue bulletin server. These interface objects include connections, sessions, messages, bulletin producers, and message consumers.
- C client runtime. Supplies C customer applications and components with the C programming interfaces needed to interact with the Bulletin Queue server. (The C client runtime supports a procedural version of the JMS API messaging model.)
Figure 2-2 illustrates the central role played past the client runtime between Message Queue clients and the message server. Bulletin production and consumption involve an interaction betwixt clients and the customer runtime, while message delivery is an interaction between the client runtime and the message server.
Figure ii-2 Client Runtime and Messaging Operations
The client runtime performs the following functions:
- Manages message delivery to the message server.
- Sets up the connections,
- Establishes the client's identity
- Implements client acknowledgements
- Controls the menstruation of messages across the connection
- Can override bulletin header values ready by producing clients.
The following subsections briefly describe client runtime functions. Some aspects of the behavior of the client runtime can be customized by configuring the properties of the connection manufacturing plant object.
Connection Handling
To configure connection treatment behavior you lot must specify the host name and port of the broker to which the client wants to connect and the type of connectedness service desired. If the connectedness is made to a broker that is part of a cluster, you must specify a list of addresses to which to make a connexion. If one broker is not online, the client runtime can connect you lot to another broker in the cluster.
In the Enterprise Edition, the client runtime can automatically reconnect to a banker if a connection fails. The reconnection can be to the same broker, or to a banker different from the original connection if the client is connected to a broker that is function of a cluster.
If broker instances do not use a shared, highly bachelor persistent store (as could be achieved through integration of Message Queue with Lord's day Cluster), persistent letters and other land information held by the failed (or disconnected) banker can be lost if a reconnect is to a dissimilar broker instance. That is to say, reconnection provides connectedness failover only not data availability.
Client Identification
A client ID tin can be set on whatever connection if an awarding finds it useful; information technology must exist set to identify durable subscribers.
To continue rails of durable subscriptions, the broker uses a unique customer identification. The customer ID is used to identify a durable subscriber that is inactive at the time that messages are delivered to a topic destination. The broker retains letters addressed to such subscribers and makes them available when the subscriber becomes agile.
Therefore, a client identifier must be set up whenever using durable subscriptions in deployed applications. A Bulletin Queue feature allows yous to use a special variable proper noun syntax when yous specify the Client ID. This makes it possible to obtain a different client ID for each connection obtained from a connectedness manufactory object, whether that object is created past an ambassador or programmatically. For more information, encounter the Bulletin Queue Administration Guide.
Bulletin Distribution to Consumers
Letters delivered by a banker over a connection are received past the client runtime and distributed to the advisable Message Queue sessions, where they are queued up to be consumed by their respective bulletin consumers, as shown in Figure 2-three.
Figure 2-3 Message Delivery to Message Queue Customer Runtime
Messages are fetched off each session queue 1 at a time and consumed either synchronously (past a client thread invoking the receive() method) or asynchronously (by the session thread invoking the onMessage() method of a message listener object). (A session is unmarried threaded.)
The menstruum of messages delivered to the client runtime is metered at a per consumer level. By appropriately adjusting connexion factory properties, yous tin residual the flow of messages so that messages delivered to ane session exercise not adversely impact the commitment of messages to other sessions on the same connectedness.
Ensuring Reliable Bulletin Delivery
The customer runtime has an important function in ensuring reliable delivery of letters. It supports the client acknowledgement and transaction modes of the JMS specification and controls the various broker acknowledgement behaviors used to guarantee reliable delivery.
The JMS specification describes a number of customer acknowledgement modes that provide for unlike levels of reliability. These acknowledgement modes, and boosted modes implemented past Bulletin Queue, are described in the context of message consumption (encounter Client Acknowledgements).
In the case of persistent messages and reliable delivery, the broker ordinarily acknowledges to the customer runtime when it has completed operations used to ensure once and only once consumption of messages. Yous tin can utilize connection mill properties to suppress such broker acknowledgements, thereby saving on network bandwidth and processing. Of course, such suppression of broker acknowledgements, eliminates guarantees of reliable delivery.
Message Period Command
The client runtime is the gatekeeper for the menses of messages across a connection. In addition to the regular JMS payload messages that flow across a connectedness, Bulletin Queue likewise sends a multifariousness of command messages that are used to guarantee reliable delivery, manage the flow of letters across a connection, and perform other control functions.
Since payload letters and control messages compete for the same connection, they can collide, causing logjams to occur. The client runtime enforces various configurable menstruum limits and metering schemes to minimize the collision of payload and command messages, and thereby maximize bulletin throughput.
Overriding Message Header Values
The client runtime can override JMS message header fields that specify the persistence, lifetime, and priority of letters.
Message Queue allows bulletin header overrides at the level of a connexion: overrides utilize to all letters produced in the context of a given connection.
The ability of the customer runtime to override message header values gives a Message Queue ambassador more than command over the resources of a message server. Overriding these fields, nevertheless, has the risk of interfering with application-specific requirements (for example, message persistence). So this adequacy should be used only in consultation with the advisable application users or designers.
Other Functions
The customer runtime performs a few other assorted functions:
- Queue browsing characteristics. The client runtime tin exist configured for the number of messages information technology will call back at one time, and the fourth dimension that it will look for messages, when browsing the contents of a queue destination.
- Message compression. The Java client runtime tin compress messages during message production and decompress messages during message consumption. Whether or not such compression or decompression occurs depends on a Message Queue-specific message belongings ready in the message header when the message is created by the customer.
Administered Objects
Administered objects encapsulate provider-specific implementation and configuration information about connections and destinations. Administered objects can be created programmatically, or they tin be are created and configured using administrator tools, stored in an object store, and accessed by client applications through standard JNDI lookup code.
Message Queue provides the administered object types shown in the following table.
| Blazon | Description |
|---|---|
| Destination | Represents a concrete destination in a broker. Contains the provider-specific name of the physical destination in the broker. Bulletin consumer and/or message producer objects employ a destination administered object to access the corresponding physical destination. |
| Connection Factory | Establishes physical connections between a client awarding and a Message Queue message server. Also configures the Message Queue client runtime, which controls the behavior of physical connections. When setting the aspect values of a connection factory administered object, you specify properties that employ to all connections that it establishes. |
| XA Connexion Manufacturing plant | Used to institute concrete connections that support distributed transactions (see Distributed Transactions). XA connection factory objects share the aforementioned set of attributes as regular connexion mill objects, just enable the additional mechanisms needed to back up distributed transactions. |
| SOAP Endpoint | Identifies the concluding destination of a SOAP bulletin: this is the URL of a servlet that can receive the Lather bulletin. The Soap endpoint administered object tin can be configured to specify multiple URLs. Too specifies the lookup name associated with the object, and object store attributes. |
Using Administered Objects via JNDI
Although the JMS specification does not require JMS clients to look up administered objects in a JNDI namespace, there are distinct advantages to doing and then: it allows for a single source of control, it allows connections (client runtime behavior) to be configured and reconfigured without having to recode, and it allows clients to be portable to other JMS providers.
Administered objects make it easier to command and manage a Message Queue service:
- Administrators can specify the behavior of the client runtime by requiring client applications to admission preconfigured connection factory objects.
- Administrators can control the proliferation of physical destinations by requiring client applications to access preconfigured destination administered objects that correspond to existing physical destinations.
In other words, the use of administered objects allows a Bulletin Queue administrator to control message service configuration details, while at the aforementioned fourth dimension allowing client applications to be provider-contained.
Using administered objects ways that client programmers practise not have to know about provider-specific syntax and object naming conventions or provider-specific configuration properties. In fact, by specifying that administered objects exist read just, administrators tin can ensure that client applications cannot change administered object attribute values that were set when the administered object was first created.
While information technology is possible for customer applications to instantiate both connection manufacturing plant and destination administered objects on their own, this practice undermines the basic purpose of an administered object. Message Queue administrators demand to control banker resource required by an awarding and to tune messaging performance. In addition, directly instantiating administered objects makes client applications provider-dependent.
Notwithstanding these arguments, applications oftentimes instantiate administered objects in evolution environments in which administrative control is not an issue.
Object Stores
Bulletin Queue administered objects are placed in an object store (encounter Effigy ii-1) where they can exist accessed by client applications through a JNDI lookup. Bulletin Queue supports two types of object store: a standard LDAP directory server and a file-organisation object store.
LDAP Server Object Shop An LDAP server is the recommended object store for product messaging systems. LDAP implementations are available from a number of vendors and are designed for use in distributed systems. LDAP servers also provide security features that are useful in production environments.
File-arrangement Object Store Message Queue supports a file-arrangement object store, which is not recommended for production systems but has the advantage of being very easy to use in development environments. Rather than setting up an LDAP server, all you have to practise is create a directory on your local file system. A file-system object shop, still, cannot be used every bit a centralized object store for clients deployed across multiple computer nodes unless these clients have access to the directory where the object shop resides.
Assistants Tools
Message Queue administration tools consist of a set of command line utilities and a graphical user interface (GUI) Assistants Panel.
Control Line Utilities Bulletin Queue provides a set of command line utilities to perform all Message Queue administration tasks, such as starting up and managing a broker, creating and managing physical destinations, managing administered objects, and performing other, more than specialized authoritative tasks. All the command line utilities share mutual formats, syntax conventions, and options. For more than detailed information on the employ of the command line utilities, see the Message Queue Administration Guide.
The Administration Console The Console provides a subset of the capabilities of the Message Queue command line utilities. Y'all tin can use the Administration Console to manage a broker, create and manage physical destinations, and manage administered objects. Nonetheless you lot cannot perform the more specialized tasks of some of the command line utilities. For example, you cannot utilize the Administration Console to starting time up a broker, create broker clusters, or manage a user repository. These tasks must exist performed using the Bulletin Queue command line utilities.
The Message Queue Administration Guide provides a brief, hands-on tutorial to familiarize y'all with the Assistants Console and to illustrate how y'all apply it to accomplish bones tasks.
The Administration Console and some of the control line utilities allow for remote direction of brokers and physical destinations.
Production Features
The Bulletin Queue service, and the compages described in the previous section, fully implement the JMS i.1 specification for reliable, asynchronous, flexible bulletin delivery. For documentation of JMS compliance-related issues, run across Appendix A, "Message Queue Implementation of Optional JMS Functionality."
Yet, Bulletin Queue has capabilities and features that go far beyond the requirements of the JMS specification. These features enable Message Queue to integrate systems consisting of large numbers of distributed components exchanging many thousands of messages in circular-the-clock, mission-critical operations.
Message Queue'due south enterprise features, discussed beneath, are grouped into the post-obit categories:
- Integration Back up Features
- Security Features
- Scalability Features
- Availability Features
- Manageability Features
- Flexible Server Configuration Features
Integration Support Features
Message Queue allows you to integrate disparate applications and components across an enterprise by including back up for several transport protocols, a C client interface to the Message Queue service, support for Soap (XML) messages, and a pluggable J2EE resource adapter.
Multiple Transport Support
Message Queue supports the ability of clients to interact with the Message Queue message server over a number of different transport protocols, including TCP and HTTP, and using secure connections.
HTTP connections HTTP transport allows messages to be delivered through firewalls. Bulletin Queue implements HTTP support using an HTTP tunnel servlet that runs in a web server surroundings. Messages produced by a client are delivered over HTTP through a firewall to the tunnel servlet. The tunnel servlet extracts the bulletin from an HTTP request and delivers the bulletin over TCP/IP to the banker. In a similar fashion, Message Queue supports secure HTTP connections using an HTTPS tunnel servlet. For more information on the architecture of HTTP connections, meet HTTP/HTTPS Back up. For information on setting up and configuring HTTP/HTTPS connections, see the Message Queue Administration Guide.
Secure connections Message Queue provides for secure transmission of messages based on the Secure Socket Layer (SSL) standard over TCP/IP and HTTP transports. These SSL-based connexion services allow for the encryption of letters sent between clients and broker.
SSL support is based on self-signed server certificates. Message Queue provides a utility that generates a private/public central pair and embeds the public key in a self-signed certificate. This certificate is passed to any customer requesting a connectedness to the broker, and the client uses the document to ready an encrypted connexion. For data on creating self-signed certificates to enable SSL-based connections services, see the Message Queue Administration Guide.
C Customer Interface
In addition to supporting Java language messaging clients, Message Queue as well provides a C language interface to the Bulletin Queue service. The C API enables legacy C applications and C++ applications to participate in JMS-based messaging. Nonetheless, clients using Message Queue'south C API are not portable to other JMS providers.
Bulletin Queue'south C API is supported past a C client runtime that supports most of the standard JMS functionality, with the exception of the post-obit: the use of administered objects; map, stream, or object bulletin torso types; distributed transactions; and queue browsers. The C customer runtime also does not support nearly of Message Queue's enterprise features.
For more information on the features of the C API and how it implements the JMS programming model with C data types and functions, see the Message Queue Programmer'due south Guide for C Clients.
Soap (XML) Messaging Support
Message Queue supports creation and delivery of messages that suit to the Simple Object Access Protocol (SOAP) specification. Lather allows for the exchange of structured XML data, or SOAP letters, betwixt peers in a decentralized, distributed environment. A SOAP message is an XML document that can too contain an attachment, which does non have to be in XML.
The fact that SOAP messages are encoded in XML makes Lather messages platform independent. They can be used to access data from legacy systems and share information between enterprises. The information integration offered by XML besides makes this technology a natural for Web-based calculating, such as Spider web services. Firewalls tin recognize Lather packets and can filter messages based on information exposed in the SOAP message header.
Message Queue implements the Soap with Attachments API for Coffee (SAAJ) specification. SAAJ is an application programming interface that can be implemented to support a programming model for SOAP messaging and to furnish Java objects that yous tin can utilise to construct, send, receive, and examine SOAP messages. SAAJ defines two packages:
- javax.xml.soap: You lot use the objects in this package to define the parts of a SOAP message and to assemble and detach SOAP messages. Yous can also use this package to send a SOAP message without the support of a provider.
- javax.xml.messaging: You use the objects in this bundle to send a Soap message using a provider and to receive Soap messages.
Message Queue provides utilities to transform SOAP messages into JMS messages and vice versa. These utilities allow Soap messages to exist received by a servlet, transformed into a JMS message, delivered by the Message Queue service to a JMS consumer, transformed back into a SOAP message, and delivered to a Soap endpoint. In other words, Message Queue supports the power to reliably and asynchronously substitution Lather messages between SOAP endpoints or, more than but, to publish SOAP messages to Bulletin Queue subscribers.
For additional information, see the Message Queue Developer's Guide for Coffee Clients.
J2EE Resources Adapter
The Java 2 Platform, Enterprise Edition (J2EE platform) is a specification for a distributed component model in a Java programming environs. I of the requirements of the J2EE platform is that distributed components be able to interact with one some other through reliable, asynchronous bulletin exchange. In short, the J2EE platform requires JMS back up.
This support is provided in the J2EE programming model using the message-driven bean (MDB), a specialized blazon of Enterprise Coffee Bean (EJB) component that tin consume JMS messages. A J2EE-compliant awarding server must provide an MDB container that supports JMS messaging. This tin be achieved by plugging-in a JMS resources adapter into the application server. Message Queue provides such a resource adapter.
By plugging the Bulletin Queue resource adapter into an awarding server, J2EE components, including MDBs, deployed and running in the application server environment can exchange JMS messages among themselves and with external JMS components. This provides a powerful integration capability for distributed components.
For data on the Message Queue resource adapter, see Affiliate six, "Bulletin Queue and J2EE."
Security Features
Protecting stored and in-transit message data is critical for most enterprise applications. Bulletin Queue provides security at many levels, including authentication of users, controlled access to resources, and message encryption.
Authentication Message Queue supports password-based hallmark of users. Connections to the message server are granted to users based on passwords stored in a apartment file or LDAP user repository. Data about all connection attempts (users and host computers) is logged and tin exist tracked.
Authorization Access control lists (ACLs) provide configurable, fine-grained command over access to a banker's connections and physical destinations. Both user and group access is supported. Potency is performed on a broker-past-broker basis; each broker tin have a different access control file.
Encryption SSL support allows all message traffic between a message server and its clients (whether over TCP/IP or HTTP connections) to be encrypted using a full-strength SSL implementation.
For information on populating a user repository, managing access control lists, and setting upwardly SSL support, see the Bulletin Queue Administration Guide.
Scalability Features
Bulletin Queue allows you to scale your awarding as users, customer connections, and message loads grow.
Scalable Connectedness Chapters
The Message Queue broker tin handle thousands of concurrent connections. By default, each connexion is handled past a dedicated broker thread. Because this ties upwardly the thread even when the connection is idle, you can configure the connectedness service so that multiple connections can share the same thread. This shared threadpool model can dramatically aggrandize the number of connections that a banker can support. For more data, meet Thread Pool Manager.
Broker Clusters
As the number of connections and the number of letters being delivered through a broker increases, the extra load can be managed by calculation additional banker instances to the Message Queue server. Broker clusters balance customer connections and bulletin delivery across a number of broker instances, making the message server highly scalable. The broker instances tin be on the same host or distributed across a network. Clustering is an ideal way to improve bulletin throughput and expand messaging bandwidth as business needs grow. Broker clusters are introduced in Chapter 5, "Broker Clusters" and discussed more fully in Bulletin Queue Assistants Guide.
Queue Delivery to Multiple Consumers
Co-ordinate to the JMS specification, a message in a queue destination can be delivered only to a unmarried consumer. Bulletin Queue allows multiple consumers to register with a queue. The broker can then distribute messages to the different registered consumers, balancing the load amid them and allowing the organization to scale.
The implementation of queue commitment to multiple consumers uses a configurable load-balancing approach. Using this approach, you can specify the maximum number of active consumers and the maximum number of backup consumers standing by to take the place of active consumers should whatsoever fail. In addition, the load-balancing machinery takes into account a consumer's electric current capacity and message processing rate.
For more information on load-balanced queue delivery, see Queue Delivery to Multiple Consumers.
Availability Features
Message Queue provides a number of features for minimizing service downtime. These range from mechanisms for preventing failure to those that allow integration with Dominicus Cluster to provide high availability.
Bulletin Service Stability
One of the nigh constructive ways of ensuring availability of a message service is to provide a service that offers high operation and minimizes failure. Message Queue provides mechanisms for averting memory overloads or performance logjams. These operate on both the message server and client runtime.
Bulletin server resource direction Because the message server is limited in retention and CPU resource, it is possible for it to get overloaded to the point where it becomes unresponsive or unstable. This commonly happens when the rate of message product far exceeds the charge per unit of consumption. To avert such situations, a broker can be configured on the level of individual physical destinations and on a system-wide level to prevent retentiveness overruns. For more information, see Memory Resource Direction.
Client runtime message flow control In addition, Message Queue provides mechanisms for controlling the delivery of messages to the client runtime. You can utilize menstruum control mechanisms to optimize the delivery of letters to the client runtime while preventing the customer from running out of memory. For more information, see Message Flow Control.
Automatic Reconnect to Message Server
Message Queue provides an automatic reconnect adequacy: If a connexion between a message server and client fails, Message Queue maintains the client land while attempting to reestablish the connectedness. In most cases, message product and consumption volition transparently resume once the connection is re-established. for more than information, run across Message Queue Administration Guide.
High Availability Through Sun Cluster
While Bulletin Queue'due south broker clustering provides a highly scalable bulletin server, it does not currently back up failover from one broker instance in a cluster to another. However, Bulletin Queue can exist integrated with Sun Cluster software to provide a high-availability message server. Using a Sun Cluster agent developed for Bulletin Queue, Dominicus Cluster can ensure that no country data is lost if a broker fails, allowing a message server to be restored immediately and transparently with virtually no downtime.
Manageability Features
Message Queue provides a number of features that you lot can use to monitor and administer a message service and to tune bulletin service performance.
Robust Administration Tools
Message Queue offers both command line and GUI tools for administering a Bulletin Queue message server and for managing destinations, transactions, durable subscriptions, and security (encounter Administration Tools).
Message Queue as well supports remote monitoring and administration of bulletin servers as well every bit tools for managing JMS administered objects, user repositories, plugged-in JDBC-compliant data stores, and self-signed server certificates. For information on using these assistants tools, see the Message Queue Administration Guide.
Message-Based Monitoring API
Message Queue provides a simple JMS-based monitoring API that you tin can use to create custom monitoring applications. These monitoring applications are consumers that think metrics messages from special topic destinations. The metrics letters contain monitoring data provided by the Message Queue broker (see Metrics Bulletin Producer (Enterprise Edition)).
For details of the metrics quantities reported in each type of metrics bulletin, see the Message Queue Programmer's Guide for Coffee Clients, which explains how to develop a Message Queue customer for consuming metrics messages. For data nearly how to configure the product of metrics messages, see the Message Queue Administration Guide.
Tunable Operation
Message Queue offers many ways to tune both the message server and the customer runtime to achieve optimal performance. You can monitor cardinal resources and accommodate retentiveness usage, threading resource, message menstruation, connection services, reliability parameters, and other elements that affect message throughput and system performance. For details about how to tune bulletin service performance, see the Message Queue Assistants Guide.
Flexible Server Configuration Features
Message Queue allows you to choose how persistent objects, user data, and administered objects are stored.
Configurable Persistence
In lodge to guarantee delivery of messages, Bulletin Queue stores messages and other persistent objects until letters are consumed. In addition to providing a loftier performance file-based persistent store, Message Queue also supports configurable persistence. This allows you to shop persistent messages in embedded or external JDBC-compliant databases, such as Oracle 8i. For more information, come across Persistence Managing director.
LDAP Server Support
Message Queue provides file-based storage for both administered objects and user information needed for authentication and say-so. Yet, Bulletin Queue likewise supports using LDAP servers for administered object stores and user repositories. LDAP servers provide a more secure, standard way of storing and retrieving such data, and are recommended for production systems. For information on using LDAP servers for administered object stores and user repositories, see the Message Queue Administration Guide.
Product Editions
Bulletin Queue is available in two editions: Enterprise and Platform. Both editions provide a full implementation of the JMS specification, but each corresponds to a different characteristic ready and licensed capacity. The feature sets are compared in the following tabular array. For a clarification of the features, run into Product Features.
| Enterprise Edition | Platform Edition |
|---|---|
| Advanced Integration Support Features | |
| HTTP back up, TCP support | TCP back up |
| Secure connections based on Secure Socket Layer (SSL) standard | Secure connections based on Secure Socket Layer (SSL) standard |
| C language API, Coffee API | Java API (The C API can only be used with the trial license.) |
| SOAP (XML) messaging support | SOAP (XML) messaging support |
| J2EE resource adapter | J2EE resource adapter |
| Security Features | |
| Hallmark from either a flat file or LDAP user repository, say-so using an access control file, and SSL encryption. | Same as Enterprise Edition |
| Scalability Features | |
| Scalable connection chapters | Fixed connection chapters |
| Bulletin server tin be implemented as a broker cluster | Single-broker message server |
| Queue commitment to unlimited number of message consumers (per queue) | Queue delivery to a maximum of three message consumers (per queue) |
| Availability Features | |
| Message service stability through memory resource management and message catamenia command | Same as Enterprise Edition |
| Client connectedness failover to a dissimilar banker in a cluster or automatic reconnect to the same banker. | No client connection failover. Automatic reconnect to same broker immune. |
| High availability through Dominicus Cluster | High availability through Sun Cluster |
| Manageability Features | |
| Robust administration tools | Robust assistants tools |
| Bulletin-based monitoring API in addition to administration tools and logging | Administration tools and logging, but no bulletin-based monitoring API |
| Tunable performance | Tunable performance |
| Flexible Server Configuration Features | |
| Pluggable Persistence | Pluggable Persistence |
| LDAP server support | LDAP server back up |
The license capacities of the Platform and Enterprise Editions are described beneath.
Enterprise Edition
The Message Queue enterprise edition allows you lot to deploy and run messaging applications in an enterprise production environment. You tin also use it for developing, debugging, and load-testing messaging applications and components. The Enterprise Edition has an unlimited duration license based on the number of CPUs that are used. The license places no limit on the number of brokers in a multi-broker message service.
Platform Edition
The Bulletin Queue Platform Edition places no limit on the number of client connections supported by the bulletin server. Information technology comes with a basic license or a 90-day trial license:
- A basic license has an unlimited duration. Platform Edition with a basic license tin can exist used as a JMS provider in less demanding production environments. This license does not include Enterprise Edition features.
- A 90-day trial enterprise license includes all Enterprise Edition features non included in the basic license. Nonetheless, the license has a limited 90-day duration enforced by the software, making it suitable for evaluating the features available in the Enterprise Edition. For instructions on using the 90-day trial enterprise license, see the startup options discussed in the Bulletin Queue Administration Guide.
The Platform Edition can be downloaded free from the Sunday web site and is also bundled with the Sunday Coffee Organization Application Server platform. Instructions for upgrading Message Queue from Platform Edition to Enterprise Edition tin can exist plant in the Bulletin Queue Installation Guide.
| | |
| Note | For all editions of Message Queue, a portion of the production—the Message Queue client runtime—can be freely redistributed for commercial use. All other files in the production cannot be redistributed. The portion that can be freely redistributed allows a licensee to develop a Message Queue client application (one which can be connected to a Message Queue service) that can exist sold to a third party without incurring whatever licensing fees. The third political party volition either need to purchase Message Queue to access a Bulletin Queue bulletin server or make a connection to nonetheless another political party that has a Bulletin Queue bulletin server installed and running. |
| | |
Message Queue in a Sun Production Context
Too existence the middleware directly used past applications, Bulletin Queue is as well used by other middleware as well as by other servers and applications delivered by Sun. To facilitate this, Message Queue is delivered in Solaris and Java Enterprise Organisation too equally being delivered in the Dominicus Coffee System Application Server.
In the Application Server, Message Queue satisfies the JMS requirement that the J2EE platform furnish a JMS provider. It is used directly by the applications that are hosted by the Application Server. For more information, see Chapter 6, "Message Queue and J2EE".
Source: https://docs.oracle.com/cd/E19435-01/819-0069/intro.html
Post a Comment for "In Message Queue I Cant Read the Message From Message Type 2 in C"