This page provides links to review drafts of new and changed documentation for the JMS Integration project.

Mandatory reviewers for each item are listed in each section.

Changes to existing documentation since the last release are marked with change bars. No changes are marked in new documentation.

Please provide your feedback by adding a comment to this page. To simplify the processing of your comments, please add your comments in the format in the sample comment. Review existing comments to see known issues and avoid duplicates.

Changes to Books

GlassFish Administration Guide Changes

Section Documentation Impact Reviewers Status
"Configuring the Generic JMS Resource Adapter for External JMS Providers", "Using the Generic JMS Resource Adapter with WebLogic JMS" in Chapter 16
draft 3 , Nigel's latest comments
Moderate, New Nigel Deakin, Satish Kumar Review complete.
"Using the Generic JMS Resource Adapter with IBM WebSphere MQ" in Chapter 16
draft2, Satish's latest comments
draft3], added new MQ/GF graphic for doc refresh
New Nigel Deakin, Satish Kumar In review. Comments due by March 25th, 2011.
jmsra/mq-related sections in Chapter 16, "Administering the Java Message Service (JMS)"
draft 1
draft 2, comment responses (pdf,docx)
draft 3, comment responses 2 (pdf,docx)
draft 4, comment responses 3 (pdf,docx)
Moderate Amy Kang, Nigel Deakin, Satish Kumar Review complete.

GlassFish High Availability Administration Guide Changes

Section Documentation Impact Reviewers Status
Chapter 1, "High Availability in GlassFish Server"
draft 1
draft 2, comment responses below with Chapter 10
draft 3, comment responses 2 below with Chapter 10
draft 4, comment responses 3 below with Chapter 10
Minor Amy Kang, Nigel Deakin, Satish Kumar In review. Comments due by February 17th, 2011.
Chapter 10, "Java Message Service Load Balancing and Failover"
draft 1
draft 2, comment responses (pdf,docx)
draft 3, comment responses 2 (pdf,docx)
draft 4, comment responses 3 (pdf,docx)
Moderate Amy Kang, Nigel Deakin, Satish Kumar In review. Comments due by February 17th, 2011.

Message Queue Administration Guide Changes

Draft of Message Queue Administration Guide with change bars:
draft 1
draft 2, comment responses (pdf,docx)
draft 3, comment responses 2 (pdf,docx)

Section Documentation Impact Reviewers Status
Chapter 10, "Configuring and Managing Broker Clusters" New Amy Kang, Nigel Deakin In review. Comments due by February 20th, 2011.
Chapter 16, "Command Line Reference" New Amy Kang, Nigel Deakin In review. Comments due by February 20th, 2011.
Chapter 17, "Broker Properties Reference" New Amy Kang, Nigel Deakin In review. Comments due by February 20th, 2011.

Message Queue Technical Overview Changes

Section Documentation Impact Reviewers Status
Chapter 4, "Broker Clusters"
draft 1
draft 2, comment responses (pdf, docx)
draft 3, comment responses 2 (pdf, docx)
New Amy Kang, Nigel Deakin In review. Comments due by February 19th, 2011.

Changes to Man Pages


Note - Comments are now closed for man pages. To suggest an improvement to a man page or report an error in a man page, file a GlassFish issue, subcomponent docs, against the man page.


Man Page Name and Section Documentation Impact Reviewers Status
change-master-broker(1) New Satish Kumar Updated 11 Feb 2011
configure-jms-cluster(1) New Satish Kumar Updated 11 Feb 2011
create-jmsdest(1) Minor Satish Kumar Updated 11 Feb 2011
create-jms-host(1) Minor Satish Kumar Updated 11 Feb 2011
create-jms-resource(1) Minor Satish Kumar Updated 11 Feb 2011
delete-jmsdest(1) Minor Satish Kumar Updated 11 Feb 2011
delete-jms-host(1) Minor Satish Kumar Updated 11 Feb 2011
delete-jms-resource(1) Minor Satish Kumar Updated 11 Feb 2011
flush-jmsdest(1) Minor Satish Kumar Updated 11 Feb 2011
jms-ping(1) Minor Satish Kumar Updated 11 Feb 2011
list-jmsdest(1) Minor Satish Kumar Updated 11 Feb 2011
list-jms-hosts(1) Minor Satish Kumar Updated 11 Feb 2011
list-jms-resources(1) Minor Satish Kumar Updated 11 Feb 2011

configure-jms-cluster.pdf (application/octet-stream)
change-master-broker.pdf (application/octet-stream)
create-jmsdest.pdf (application/octet-stream)
create-jms-host.pdf (application/octet-stream)
create-jms-resource.pdf (application/octet-stream)
delete-jmsdest.pdf (application/octet-stream)
delete-jms-host.pdf (application/octet-stream)
delete-jms-resource.pdf (application/octet-stream)
flush-jmsdest.pdf (application/octet-stream)
jms-ping.pdf (application/octet-stream)
list-jmsdest.pdf (application/octet-stream)
list-jms-hosts.pdf (application/octet-stream)
list-jms-resources.pdf (application/octet-stream)
genericjmsra.pdf (application/pdf)
AdminGde-Ch16-JMS.pdf (application/octet-stream)
HAAdminGde-Ch1-Overview.pdf (application/octet-stream)
HAAdminGde-Ch10-JMS.pdf (application/octet-stream)
configure-jms-cluster.pdf (application/octet-stream)
change-master-broker.pdf (application/octet-stream)
create-jmsdest.pdf (application/octet-stream)
delete-jmsdest.pdf (application/octet-stream)
flush-jmsdest.pdf (application/octet-stream)
list-jmsdest.pdf (application/octet-stream)
create-jms-host.pdf (application/octet-stream)
jms-ping.pdf (application/octet-stream)
create-jms-resource.pdf (application/octet-stream)
delete-jms-host.pdf (application/octet-stream)
delete-jms-resource.pdf (application/octet-stream)
list-jms-hosts.pdf (application/octet-stream)
list-jms-resources.pdf (application/octet-stream)
4_broker-clusters.pdf (application/octet-stream)
MQ_Admin_Gde.pdf (application/octet-stream)
GenericJMSRA-WLS-MQ.pdf (application/x-download)
JMS-GFAG-Comments.pdf (application/octet-stream)
AdminGde-Ch16-JMS-draft2.pdf (application/octet-stream)
HAAdminGde-Ch10-JMS-draft2.pdf (application/octet-stream)
JMS-GFHAAG-Comments.pdf (application/octet-stream)
HAAdminGde-Ch1-Overview-draft2.pdf (application/octet-stream)
JMS-MQTO-Comments.pdf (application/octet-stream)
4_broker-clusters-draft2.pdf (application/octet-stream)
genericjmsra-wls_v3.pdf (application/pdf)
genericjmsra-mq_v2.pdf (application/pdf)
HAAdminGde-Ch10-JMS-draft3.pdf (application/octet-stream)
AdminGde-Ch16-JMS-draft3.pdf (application/octet-stream)
HAAdminGde-Ch1-Overview-draft3.pdf (application/octet-stream)
JMS-GFAG-Comments-2.pdf (application/octet-stream)
JMS-GFHAAG-Comments-2.pdf (application/octet-stream)
4_broker-clusters-draft3.pdf (application/octet-stream)
JMS-MQTO-Comments-2.pdf (application/octet-stream)
MQ_Admin_Gde2.pdf (application/octet-stream)
JMS-MQAG-Comments.pdf (application/octet-stream)
AdminGde-Ch16-JMS-draft4.pdf (application/octet-stream)
JMS-GFAG-Comments-3.pdf (application/octet-stream)
JMS-GFHAAG-Comments-3.pdf (application/octet-stream)
HAAdminGde-Ch10-JMS-draft4.pdf (application/octet-stream)
HAAdminGde-Ch1-Overview-draft4.pdf (application/octet-stream)
JMS-MQAG-Comments-2.pdf (application/octet-stream)
MQ_Admin_Gde3.pdf (application/octet-stream)
genericjmsra-mq_refresh.pdf (application/pdf)
JMS-MQTO-Comments.docx.pdf (application/pdf)
JMS-MQTO-Comments-2.docx.pdf (application/pdf)
JMS-MQAG-Comments.docx.pdf (application/pdf)
JMS-MQAG-Comments-2.docx.pdf (application/pdf)
JMS-GFHAAG-Comments.docx.pdf (application/pdf)
JMS-GFHAAG-Comments-3.docx.pdf (application/pdf)
JMS-GFHAAG-Comments-2.docx.pdf (application/pdf)
JMS-GFAG-Comments.docx.pdf (application/pdf)
JMS-GFAG-Comments-3.docx.pdf (application/pdf)
JMS-GFAG-Comments-2.docx.pdf (application/pdf)
Comment ID Location Comment
MAF-001 GF Admin Gde, Ch14 Sample comment.
MAF-002 GF HA Admin Gde, Ch10 Another Sample comment.
Posted by oldestred at Feb 10, 2011 02:51

Following are the Comments for man pages:

1. configure-jms-cluster

Under Options->clustertype, it should be configstoretype instead of configstorstype

2.create-jmsdest

Under Options, remove -T option

3. create-jms-host

create-jms-host doesn't work without mqusername & mqpassword options. So example needs to be updated with those options. Are they part of passfile???

4. delete-jmsdest

remove -T option under Options

5.flush-jmsdest

remove -T option under Options

6.jms-ping, create-jms-resource etc

I am seeing the connector statements printed along with jms statements. I am not sure if they should be included in the examples.

For example:
intg-v60x-1# ./asadmin jms-ping
JMS-ping command executed successfully
Connector resource test_jms_adapter created.
Command jms-ping executed successfully.

7.list-jmsdest

remove -T option under Options

8.I am also seeing  "This subcommand is supported in remote mode only" for most of the jms commands. Is it jms REMOTE mode or something completely different? If it is jms REMOTE mode then the comment should be removed for most of the commands.

Posted by sarada_k at Feb 10, 2011 18:14

1. change-master-broker
Its probably worth mentioning here that by default the master broker is the first configured instance in the GF cluster

2. configure-jms-cluster
Remove the --force option. This is no longer valid.

3. create-jms-resource/delete-jms-resource/list-jms-resources:
config is not a valid target type. Valid targets for these commands are - server, domain, cluster_name, instance_name

Posted by sats_i at Feb 11, 2011 02:49

Thanks for the thorough review Sarada.

RE: your comment no 8: the REMOTE mode being referred to here is the asadmin REMOTE mode not the JMS integration REMOTE mode, so this should be fine.

Posted by sats_i at Feb 11, 2011 02:52

1. configure-jms-cluster
Done. See updated pdf.
2. create-jmsdest
Done. See updated pdf.
3. create-jms-host
Done. Discovered through trying it out that all the --mq* options are required. See updated pdf.
4. delete-jmsdest
Done. See updated pdf.
5.flush-jmsdest
Done. See updated pdf.
6.jms-ping, create-jms-resource etc
Done. See updated pdfs of jms-ping, create-jms-resource, delete-jms-resource.
7.list-jmsdest
Done. See updated pdf.
8.I am also seeing "This subcommand is ...
Done. Added the text "Remote asadmin subcommands require a running domain administration server (DAS)." as appropriate to all man pages in an effort to clarify the confusion. See updated pdfs.

Posted by oldestred at Feb 11, 2011 18:03

1. change-master-broker
Done. See updated pdf.
2. configure-jms-cluster
Done. See updated pdf.
3. create-jms-resource/delete-jms-resource/list-jms-resources:
Done. See updated pdf.

Posted by oldestred at Feb 11, 2011 18:05

Comments for chapter 16 Administering the Java Message Service (JMS)

Comment ID Location Comment
ak-1 p289 some links do not seem point to the top of intended sections under "The following topics are addressed here:"
ak-2 p290 The JMS service supports JMS hosts to be used in these modes: The "Embedded", "Local" and "Remote" descriptions need to be changed, please refer to the latest GF 3.1 "Deployment Planning Guide" chapter "Java Message Service Type" for descriptions of these modes
ak-3 p290 JMS Destination Resources ".. specify the target of messages they produce and the source of messages they consume.." - please clarify 'target'and 'source' by using 'target destination' and 'source destination'
ak-4 p290 JMS Physical Destinations Please use "administratively" instead of 'statically' to be consistent with MQ Administration Guide doc
ak-5 p290 ".. statically created physical destinations are more efficient in production environment", change to ".. administratively created destinations are more suitable for production environment"
ak-6 p290 JMS Service High Availability possibly here reference MQ Technical Overview "Broker Clusters"
ak-7 p291 Updating the JMS Service Configuration "...jms-service.type", "The JMS host mode the service is to use", the "JMS host mode" term is not consistent with other books, e.g. "Deployment Planning Guide" or the domain.xml dtd, it simply refers the "type" as the JMS service type. It should use "JMS service type"
ak-8 p290 Updating the JMS Service Configuration "..jms-service.start-args", "A list of arguments the JMS service passes to Local-mode .." should be "A list of arguments the JMS service passes to Local-mode and Embedded mode .."
ak-9 p290 Updating the JMS Service Configuration The term "JMS host" here and some other places in this doc is inconsistent with some other docs, e.g. domain.xml dtd, where it uses "broker"
ak-10 p290 Updating the JMS Service Configuration "..jms-service.addresslist-iterations", "..indicates that the number of attempts.." should be "..indicates that the number of times.."
ak-11 p290 Updating the JMS Service Configuration Please check with Satish for all properties prefixes
ak-12 P290 Updating the JMS Service Configuration Please check with Satish for "set configs.config.config-name.jms-service.property.broker-property-name=value" usage correctness
ak-13 p293 About JMS Host Modes "servuce" typo
ak-14 p293 About JMS Host Modes Please check with Satish on comments about the port# of RMI registry
ak-15 p294 Configuring Embedded and Local JMS Hosts "Should the need to use Message Queue utilities arise, you must use the -varhome option when running the Message Queue utility to specify the location where the JMS service stores configuration information for Embedded and Local JMS hosts ", change to "Should the need to use Message Queue utilities arise, you must use the -varhome option when running certain Message Queue utilities to specify the 'var' home location of the Embedded and Local JMS host"
ak-16 p294 To Create a JMS Host "Use the create-jms-host subcommand in remote mode to create an additional JMS host", the term "remote mode" is confusing here, similar confusion usage of "remote mode in later sections of this doc as well
ak-17 Administering JMS Hosts There should be some text to explain for Embedded and Local JMS service modes, how the JMS host(s) in jms-service are used in a GlassFish cluster where Message Queue brokers are auto-clustering. Please check with Satish for text
ak-18 p300 Administering JMS Physical Destinations "The physical destination is temporary and expires after a period specified by a Message Queue configuration property", change to "The auto-created physical destination is temporary and expires after a period specified by a Message Queue configuration property if no message in it and no producer and no consumer on it"
ak-19 p302 Troubleshooting the JMS Service "When you start GlassFish Server, the JMS service is available but is not loaded until it is needed", please check with Satish - this is only true for Embedded JMS service mode
ak-20 p302 Troubleshooting the JMS Service "Use the jms-ping(1) subcommand to check if the JMS service is running or, if it is not yet running, to start it", need to give suggestion how "to start it" and clarify whether this applies to all modes of JMS service please check with Satish. Please note that in LOCAL mode, one should not start the broker process by itself
ak-21 p302 Troubleshooting the JMS Service "If a the log file indicates that a Message Queue broker did not respond to a message, stop the broker and then restart it." - I believe here it refers to REMOTE JMS service mode, should clarify that
ak-22 Administering the Java Message Service (JMS) This chapter should mention the GlassFish 3.1 new JMS subcommands of asadmin added, e.g. configure-jms-cluster, ..., please check with Satish for text
Posted by a-k at Feb 15, 2011 19:09

Comments for chapter 1 and 10 of GlassFish High Availability Administration Guide

Comment ID Location Comments
ak-1 p22 Recovering Message Queue ".., including JMS hostconfigurations, are stored in the Domain", change to ".., including JMS host configurations for Embedded or Local JMS hosts, are stored in DAS"
ak-2 p23 Recovering Message Queue "according using" typo
ak-3 p157 Connection Pooling and Failover "When the Address List Behavior attribute is random (the default), .." somewhat contradicts with the later sentence "The default value for the Address List Behavior attribute is priority, if the JMS type is of type LOCAL.", Please check with Satish to clarify what is the default Address List Behavior for Embedded, Local and Remote
ak-4 p157 Connection Pooling and Failover "When failover occurs, MQ transparently transfers the load to another broker ..", change to "When failover occurs, MQ automatically transfers the load to another broker .."
ak-5 p157 Connection Pooling and Failover "To specify whether the GlassFish Server tries to reconnect to the primary broker ..", need to clarify what does "primary broker" referring to here
ak-6 p157 Connection Pooling and Failover "select the Reconnect checkbox", need to clarify on which screen
ak-7 p158 Load-Balanced Message Inflow "set the maxNumActiveConsumers property of the physical destination to a large value", change "a large value" to "a value > 0"
ak-8 p158 Load-Balanced Message Inflow "To ensure that local delivery is preferred", change to "To ensure a message-driven bean first try to connect to the local colocated broker"
ak-9 p158 Load-Balanced Message Inflow "This setting is the default for GlassFish Server instances that belong to a cluster", see comment ak-3
ak-9' p159 8 links under "The following topics are addressed here" and the link titles look crowded, for clarity maybe combine close-related topics to a higher level title ?
ak-10 p159 About Message Queue Broker Clusters "When a broker or a connection fails, ...reconnect to another broker in the cluster", change to "When a broker fails, ...reconnect to another broker in the cluster", or to be worded to include the case of auto-reconnect to possibly the same broker if only connection failed but broker running
ak-11 p159 About Message Queue Broker Clusters "based on where information about the cluster configuration is stored", change to "based on where the cluster configuration change record is stored"
ak-12 p159 About Message Queue Broker Clusters change all occurrences of "the information about the cluster's configuration" to "the cluster configuration change record"
ak-13 p159 About Message Queue Broker Clusters "to keep abreast of changes to the configuration", change to "to keep abreast of changes to the cluster configuration change record"
ak-14 p159 About Message Queue Broker Clusters "Thus, brokers can access the cluster configuration information", change to "Thus, brokers can access the cluster configuration change record"
ak-15 p159 About Message Queue Broker Clusters Enhanced broker clusters: some comment as ak-10
ak-16 p159 About Message Queue Broker Clusters This section should refer to MQ Technical Overview on "Broker Clusters" so that the same content are not repeated here. I think here it can simply give a brief summarization of MQ cluster types and service availabilities provided
ak-17 p160 "it as its primary broker and has that broker listed first in its JMS host list.", if "primary broker" == "listed first in its JMS host list", then rewording this
ak-18 p161 "subcommand in remote mode", confusing "remote mode" here, maybe "subcommand in asadmin remote mode", similar changes in later contents where "remote" is used for the same context
ak-19 p162 "Use the change-master-broker subcommand .. JMS hosts", add following at the end "for example, before you remove the GlassFish instance that is associated with the current master broker from the cluster"
Posted by a-k at Feb 17, 2011 06:40

Comments on GF HA Guide:

1. Connection Pooling and failover (Page 157)- "By default, the JMS service selects the primary JMS host (Message Queue broker) randomly from the specified JMS host list." The above is true only for Remote mode. For EMBEDDED and LOCAL, it should be - "By default, the JMS Service selects the co-located JMS Host (MQ Broker). When failover occurs, MQ transparently transfers the load to another JMS host in the list..."

2. Page 164 "Configure the GlassFish Server cluster to use a Message Queue enhanced broker cluster with master broker by using the configure-jms-cluster(1) subcommand: asadmin --passwordfile password-file configure-jms-cluster --clustertype=enhanced
--dbvendor database-vendor-name --dbuser database-user-name --dburl database-url
--property list-of-database-specific-properties glassfish-cluster-name"

This is incorrect there is no master-broker option in enhanced broker clusters. The command will need the --configstore and --messagestore to point to JDBC

3. To Migrate Between Types of Conventional Broker Clusters (Page 162)- "If the need arises to convert from a conventional broker cluster with master broker to a conventional broker cluster of peer brokers, or the reverse, follow the instructions in 'Managing Conventional Clusters' in Oracle GlassFish Message Queue 4.5 Administration Guide." This should be changed into a note of caution and mentioned right in the beginning of this section.

Posted by sats_i at Feb 17, 2011 10:18

Comments on GF Admin Guide:

1. Page 292:
"If the broker property name includes dots, preface the dots with backslashes (); for example, to set the imq.system.max_count property, specify imq\.system\.max_count in the set subcommand."

The '.' should be escaped with double slashes - '
' like in the following example

asadmin set server-config.jms-service.property.imq\\.admin\\.tcp
.port=12345

2. page 293: typo- JMS servuce -> JMS Service

3. Page 294: ...varhome... This location is domain-root-dir/domain-name/imq.

This varhome location is only for DAS. We will need to specify the varhome location for stand-alone instances and clustered-instances also.

4. Page 293: About JMS Host Modes:
"Local mode: the JMS Service starts the MQ broker specified ... on the same host"
You may want to add that the broker is started as a separate process.

5. Trouble shooting (page 302):
"When you start GlassFish Server, the JMS service is available but is not loaded until it is needed"

This is true only for Embedded mode. The service is started eagerly in LOCAL mode.

Posted by sats_i at Feb 17, 2011 10:30

Comments for Message Queue Technical Overview

Comment ID Location Comment
ak-1 p85 "a broker or connection failure rarely ..... delivered in order.", change to "messages owned by the failed broker are delivered by the failover broker as soon as been taken over and processed, and JMS message order semantics are preserved during failover"
ak-2 p89 "... differ in the way that cluster state information is maintained.", change to "... differ in the way that cluster persist state information is maintained."
ak-3 p92 "When the cluster encounters a failed connection between brokers, it cannot do anything to recover, other than stop sendng data.", change to "When a broker in the cluster detects a failure of its connection to another broker in the cluster, it automatically attempts to reconnect to that broker periodically. If that broker is failed, messages and state information stored in the failed broker cannot be recovered until the failed broker is restarted."
ak-4 p92 "It is the responsibility of an administrator to monitor .. (...) and perform the appropriate recovery operations.", change to "It is the responsibility of an administrator to monitor ..(...) and to ensure the failed broker is brought back online as soon as possible"
ak-5 p92 "For example, messages to have been consumed by the client or the state of transactions involving the client might have been lost.", change to "For example, messages that have been consumed by the client or the state of transactions involving the client"
ak-6 p93 "If these failure detection services operating in tandem determine that a broker has failed, then a failover broker ..", change to "These failure detection services operating in tandem to determine that a broker has failed, then a failover borker .."
ak-6 p93 ".. will clean up any transient resources (such as transactions and ..)", change to ".. will clean up any transient resources (such as completed transactions and ..)"
ak-6 p93 ".. will not cause a failure in message delivery.", change to ".. will not cause its messages unavailable for delivery"
Posted by a-k at Feb 17, 2011 20:15

Comments on GlassFish High Availability Administration Guide

Chapter 1
---------

P18 "High Availability Java Message Service"

Change "Connection Pooling and Failover
The JMS service pools JMS connections automatically."
To: "Failover"

Connection pooling is nothing to do with high availability. It's a performance/resource management feature. Suggest you delete all references to connection pooling from this section.)

Change:
"For more information about JMS connection pooling and failover, see "Connection Pooling
and Failover" on page xxx."
To:
"For more information about JMS high availability, see (name of chapter 10) on page xxx."

I make more comments about chapter 10 later.

Page 19: "How GlassFish Server Provides High Availability"

In the list that follows "GlassFish Server provides high availability through the following subcomponents and features:", Add a link to "Using Message Queue Broker Clusters with GlassFish Server" on page xxx" (or perhaps to the whole of chapter 10)

I know we mentioned it earlier, but if we're listing here the ways in which GlassFish provides HA then we need to mention MQ high availability.

Page 19: "Message Queue Broker Clusters"

Change "This automatically created broker cluster is configurable to
take advantage of the different types of broker clusters supported by Message Queue."
To: "This automatically created broker cluster is configurable to
take advantage of the two types of broker clusters (conventional and enhanced) supported by Message Queue."

Change: "Additionally, Message Queue broker clusters created and managed using Message Queue
itself can be used as external, or remote, JMS hosts to provide JMS messaging high
availability to both GlassFish standalone instances and clusters."

To: "Additionally, Message Queue broker clusters created and managed using Message Queue
itself can be used as external, or remote, JMS hosts. This provides additional deployment options, such
as deploying a Message Queue broker on a different machine from the GlassFish instance, or deploying
different numbers of GlassFish instances and Message Queue brokers."

Page 20: "Highly Available Clusters"

Is it worth spelling out that in this context we're not talking about JMS HA?

Page 22: "Recovering MessageQueue"

Change "hostconfigurations" to "host configurations"

Change "maintain by Message Queue brokers" to "maintained by Message Queue brokers"

This statement that private data is stored with the GlassFish instances does not apply in the case of enhanced clusters. In that case the message data will be stored in a centralised HA database. Add that in that case you may need to follow any backup/restore procedure defined for that database.

Chapter 10: "Java Message Service Load Balancing and Failover"
-------------------------------------------------------------

I think the name of this chapter, and its introductory sentence, should refer to "High Availability", for consistency with the previous chapter.

I suggect changing the name of the chapter to "Configuring Java Message Service High Availability, Load Balancing and Failover", or, of this is too long, leave out the mention of load balancing since that's a relatively short part of the chapter.

Then change "This chapter describes how to configure load balancing and failover of the JavaMessage Service
(JMS) for use with the GlassFish Server."
to:
"This chapter describes how to configure high availability, load balancing and failover of the Java Message Service
(JMS) for use with the GlassFish Server."

Under "The following topics are addressed here:"
add a reference to Load-Balanced Message Inflow on p158.

Page 157: "For more information about JMS connection pooling and failover, see "Connection Pooling
and Failover" on page xxx."

Page 157: "Connection Pooling and Failover"

Connection pooling is nothing to do with HA (you get connection pooling in standalone instances as well). Please remote all references to connection pooling.

Change: "Connection Pooling and Failover. GlassFish Server supports JMS connection pooling and failover. The Oracle GlassFish Server pools JMS connections automatically."
To: "Connection Failover. GlassFish Server supports JMS connection failover."

Page 159: "Conventional cluster with master broker." You could add that this is the simplest to configure and is the default for a GlassFish cluster.

Page 159: "Conventional cluster of peer brokers."
I haven't seen this term before. I like it. Do the updated MQ docs (admin guide and technical overview) use the same term?

Page 160: Embedded (at bottom of page). Add the comment that there is one broker for each GlassFish instance, and that each pair is colocated in the same JVM.

Page 161: Local (at top of page). Add the comment that there is one broker for each GlassFish instance, and that each pair is colocated on the same machine.

Page 161: Remote (near top of page).
I suggest replacing "Any" with the same list as for "Local", since the use of the word "Any" suggests that there are other possibilities.

Add the comment that this option allows a different number of brokers to GlassFish instance, and that may be on different machines.

Page 161: "To Configure a Conventional Broker Cluster With Master Broker as an Embedded or Local JMS Host for a GlassFish Server Cluster"

This heading is a rather convoluted form of words. Can't we drop the words "JMS Host" (which in this context is synonymous with "Broker", and using two terms for the same thing is confusing) and change it to
"To Configure a GlassFish Server Cluster to use a conventional broker cluster with master broker"

Change "Use the configure-jms-cluster subcommand in remote mode to configure a conventional
broker cluster with master broker to service a GlassFish Server cluster that uses Embedded or
Local JMS hosts."
To: "Use the configure-jms-cluster subcommand to configure a conventional
broker cluster with master broker to service a GlassFish Server cluster that uses either Embedded or
Local brokers"

(I don't know why the words "in remote mode" were used previously)

Change "Note that this configuration, with embedded brokers, is the default for GlassFish Server clusters"

Page 161: "To Configure a Conventional Broker Cluster of Peer
Brokers as an Embedded or Local JMS Host for a
GlassFish Server Cluster"

Change heading to
"To Configure a GlassFish Server Cluster to use a conventional cluster of peer brokers"

Change "Use the configure-jms-cluster subcommand in remote mode to configure a conventional
broker cluster of peer brokers to service a GlassFish Server cluster that uses Embedded or Local
JMS hosts."
To: "Use the configure-jms-cluster subcommand to configure a conventional
broker cluster of peer brokers to service a GlassFish Server cluster that uses Embedded or Local
brokers"

Page 163: "To Change the Master Broker in a Broker Cluster
Serving as an Embedded or LocalHost"

Change to "To change the master broker in a broker cluster that uses either embedded or
local brokers"

(N.B. I'm not trying to impose my own capitalisation preferences here)

Page 163: Fix incorrect use of bold font in "If the need arises to convert froma conventional broker cluster with master broker to a conventional broker cluster of peer brokers, or the reverse, follow the instructions in"Managing
Conventional Clusters" in"

Posted by nigeldeakin at Feb 18, 2011 10:49

Comments for Message Queue Administration Guide Changes

Comment ID Location Comment
ak-1 p178 "no two running clusters may have the same cluster identifier", change to "no two clusters may have the same cluster identifier"
ak-2 p178 Remove ". imq.cluster.sharecc.persist.jdbc.<vendorName>.table.MQSHARECC45 optionally .. change record" for it's for internal use, not for specifying alternative table name

The following properties were not explicitly mentioned in the func spec, please add

Comment ID Location Comment
ak-3 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.password specifies password for the user, if required, for connecting to the database from vendor <vendorName>, should be set only in password files. String type, default not set
ak-4 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.driver fully qualified Java class name of the JDBC driver for connecting to database from vendor vendorName. String type, default set per vendor
ak-5 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.opendburl URL for connecting to existing database from vendor vendorName, applicable when Driver is used to connect to database. String type, default not set
ak-6 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.createdburl URL for creating new database from vendor vendorName, applies for embedded database, such as Java DB. optional, String type, default not set
ak-7 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.closedburl URL for closing connection to database from vendor vendorName, applies for some embedded databases, such as Java DB. String type, default not set
ak-8 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.needpassword Does database from vendor vendorName require a password for broker access? If true, the imqbrokerd and imqdbmgr commands will prompt for a password, unless imq.cluster.sharecc.persist.jdbc.<vendorName>.password is set. Boolean type, default false
ak-9 p178 Add imq.cluster.sharecc.persist.jdbc.<vendorName>.tableoption Vendor-specific options passed to the database when creating the table schema. String type, default not set except for MySQL, see broker default.properties
Comment ID Location Comment
ak-10 p180 Remove "HADB When using HDB in a GlassFish ... explicitly."
ak-11 p184 "On such systems, you must ... properly: For each Linux ..", change to "On such systems, you must do the following: For each Linux .."
ak-12 p184 "edit the file DNS lookup is performed before ..", change to "edit the file /etc/nsswitch.conf so that DNS lookup is performed before .."
ak-13 p183 "..five seconds; the connection will succeed .. up (if one is configured). If .. has completed its startup." change to ".. five seconds until the connection succeeds." and start a new paragraph "For a cluster configured with master broker, the connection will succeed .. up. If .. has completed its startup."
ak-14 p184 "Use the imqdbmgr .. to create the database table schema", change to "Use the imqdbmgr .. to create the database table", same comment on p185
ak-15 p184 Add following to "2 Create a cluster configuration file that uses the imq.cluster.brokerlist ..": "If you are using a cluster of peer brokers, set imq.cluster.nomasterbroker=true and the necessary JDBC properties (prefix with imq.cluster.sharecc.) in the configuration file"
ak-16 p185 reorganize the original content in section "To Connect Brokers from the Command Line" as following

Connecting brokers to a cluster on command line involves starting each broker with the imqbrokerd command using the -cluster option to specify the complete list of brokers to be included in the cluster, For example the following command... (taken text from "2 If you are ..").

The value specified for the -cluster option must be the same for all brokers in the cluster.

The following steps assumes you have set the necessary broker properties (except the imq.cluster.brokerlist) in each broker instance's configuration file:

1 If using .. of peer ..

  • Use the imqdbmgr ..
  • Place a copy of ..
  • Then start each broker with imqbrokerd using -cluster option

2 If you are using a master broker

  • Start the master broker first with imqbrokerd using -cluster option
  • Once the master broker is runing, start each of the other brokers in the cluster with the imqbrokerd command using -cluster option
Comment ID Location Comment
ak-17 p187 add following to "Removing Brokers From a Conventional Cluster": "If the broker to be removed is the master broker, please following instruction from section "Change Master Broker" which is a new section should be added to mention how to manually and dynamically change master broker
ak-18 p189 "and then re-create the table schema", change to "and then re-create the table"
ak-19 p189-190 The hyper links of "Step 2" does not seem necessary
ak-20 p192 "Create the database schema needed" change to "Create the database tables needed", some comment on p193
ak-21 p183 The feature "Dynamically Change Master Broker" is not mentioned in chapter 10
ak-22 p326 TABLE 16-4 "where hostName is the host name of the new master broker's host", change to "where hostName is the host name of the new master broker's Port Mapper host"
ak-23 p333 create sharecc_tbl: "Create the database table schema for shared configuration change records in the current data store", change to "Create the database table for shared cluster configuration change record"
ak-24 p333 delete sharecc_tbl: "Delete the shared configuration change database table from the current data store", change to "Delete the shared cluster configuration change record database table"
ak-25 p333 recreate sharecc_tbl: "Re-create database table schema for shared configuration change records in the current data store. Deletes any existing shared configuration change database table from the current data store and then re-creates the table schema.", change to "Re-create database table for shared cluster configuration change record. Deletes existing database table of shared cluster configuration change record then re-creates the table."
ak-26 p333 "Back up the shared configuration change database table to a backup file", change to "Back up the shared cluster configuration change record database table to a backup file"
ak-27 p333 "Restore the shared configuration change database table from a backup file. The table schema must already exist.", change to "Restore the shared cluster configuration change record database table from a backup file. The table must already exist."
ak-28 p358 "The location, as a URL, of the access control file for connection service", change to "The location, as a URL, of the access control file for the connection service"
ak-29 p368 imq.cluster.nomasterbroker: "Does this conventional cluster lack a master broker in favor of using a shared JDBC store for the change configuration record?", change to "Specifies whether a conventional cluster should use shared JDBC database store for shared cluster configuration change record instead of using a master broker"
ak-30 p369 "the imq.cluster.sharecc.persist.jdbc.* properties configure access to the shared JDBC store.", change to "the imq.cluster.sharecc.persist.jdbc.* properties are configured for accessing the shared JDBC store."
ak-31 p369 imq.cluster.sharecc.persist.jdbc.dbVendor: "..housing the configuration change record", change to "..housing the cluster configuration change record", when it's not in chapter 10 where 'cluster' is obvious, I think use "cluster configuration change record" for clarity
ak-31 p369 imq.cluster.sharecc.persist.jdbc.dbVendor: add "db2" to the vendor's list
ak-32 p369 All descriptions for imq.cluster.sharecc.persist.jdbc.xx properties should mention "shared JDBC store for cluster configuration change record" for clarity
ak-33 p369 "Optional vendor-specific property propName for database from vendor vendorName", change to "Optional vendor-specific property propName for the JDBC driver from vendor vendorName"
ak-34 p369 Remove "imq.cluster.sharecc.persist.jdbc.vendorName.table.MQSHARECC45" from TABLE 17-12
ak-35 p369 Add the additional imq.cluster.sharecc.persist.jdbc.xxx properties from comments ak-3 to ak-9 inclusive to TABLE 17-12
Posted by a-k at Feb 18, 2011 13:29

Hey Satish,
I just updated the GenericJMSRA and WebSphere MQ section with a new graphic. I think you'll really like this one too.

Posted by jeffschieli at Mar 17, 2011 15:19