@@ -21,13 +21,7 @@ mechanism and has tasks that can push compiled jars to either a local repository
2121Maven Central. When signing/authentication of modules is required, use the ` gradle.properties.template ` file as a
2222starter for your own ` gradle.properties ` .
2323
24- Java 17 is required as the compiler level when building this package, as that is the baseline for Spring 3. Compiler
25- directives are used to build the Spring 2 version as compatible with the older Java 8 runtime.
26-
27- The script builds modules for both the JMS2 and JMS3 standards. The JMS3 (Jakarta) variant is the primary source. The
28- older JMS2 version does not have a separate source tree in this repository. Instead, the source is generated
29- automatically during the build process, by simply changing package names in the JMS3 code. The created jar files have
30- the same names, but different version numbers.
24+ Java 17 is required as the compiler level when building this package, as that is the baseline for Spring 3.
3125
3226### Spring Boot Applications
3327
5246</dependency >
5347```
5448
55- ** Note** This repository and the corresponding Maven Central artifacts require either Spring Boot 2 or 3.
49+ ** Note** This repository and the corresponding Maven Central artifacts requires Spring Boot 3. Maven
50+ Central continues to provide older versions that work with Spring Boot 2.
5651
5752## Design Approach
5853
@@ -92,25 +87,33 @@ The default attributes are
9287 ibm.mq.queueManager=QM1
9388 ibm.mq.channel=DEV.ADMIN.SVRCONN
9489 ibm.mq.connName=localhost(1414)
95- ibm.mq.user=admin
96- ibm.mq.password=passw0rd
90+ ibm.mq.user=
91+ ibm.mq.password=
9792
9893### Connection security
9994
100- The default userid and password have been chosen for a commonly-used queue manager configuration.
95+ The default userid and password have been removed from this package, as the corresponding default configuration has been
96+ removed from the MQ Developer images. Authentication must now be explicitly defined both for the queue manager, and for
97+ the Spring applications.
10198
102- To disable user/password checking entirely, you must set the ` ibm.mq.user ` and ` ibm.mq.password ` attribute to empty
103- values so that the defaults are not used .
99+ To revert to the previous default user/password checking, perhaps if you are still using older Developer images, you
100+ must now set the ` ibm.mq.user ` and ` ibm.mq.password ` attribute .
104101
105102```
106- ibm.mq.user=
107- ibm.mq.password=
103+ ibm.mq.user=admin
104+ ibm.mq.password=passw0rd
108105```
106+ Configuration of secure connections with TLS are discussed below.
109107
110- Of course, that level of access must be permitted by your queue manager. The usual CHLAUTH and CONNAUTH rules will apply
111- to assign an identity to the connection.
112108
113- Configuration of secure connections with TLS are discussed below.
109+ #### JWT Tokens
110+ If your queue manager supports authentication with JWT tokens, then you can either set ` ibm.mq.token ` or the password to
111+ the token. If you use the ` password ` attribute, then the ` user ` must also be set to the empty value (which is now the
112+ default anyway). Obtaining the token is outside the scope of this package; there are a number of ways that can be done
113+ through Spring Boot making HTTP calls to the JWT server.
114+
115+ One approach to handling this without needing to put the token into the external configuration properties file is to make the
116+ HTTP call and then ` System.setProperty("ibm.mq.token",token) ` .
114117
115118### Configuration Options
116119
@@ -161,15 +164,17 @@ Spring Boot will then create a ConnectionFactory that can then be used to intera
161164| ibm.mq.channel | Channel Name for SVRCONN |
162165| ibm.mq.connName | Connection Name, which can be comma-separated list |
163166| ibm.mq.ccdtUrl | Location of the MQ CCDT file (URL can reference http/ftp location) |
164- | ibm.mq.user | User Name. Must be set to an empty value to turn off authentication attempts |
165- | ibm.mq.password | Password |
167+ | ibm.mq.user | User Name. Default is empty string |
168+ | ibm.mq.password | Password. Default is empty string |
169+ | ibm.mq.token | JWT token |
166170| ibm.mq.clientId | ClientId uniquely identifies the app connection for durable subscriptions |
167171| ibm.mq.applicationName | Application Name used for Uniform Cluster balancing |
168172| ibm.mq.userAuthenticationMQCSP| Control authentication mechanism for old queue managers (default true) |
169173| ibm.mq.tempQPrefix | The prefix to be used to form the name of an MQ dynamic queue |
170174| ibm.mq.tempTopicPrefix | The prefix to be used to form the name of an MQ dynamic topic |
171- | ibm.mq.tempModel | The name of a model queue for creating temporary destinations. |
175+ | ibm.mq.tempModel | The name of a model queue for creating temporary destinations |
172176| ibm.mq.reconnect | Whether app tries automatic reconnect. Options of YES/NO/QMGR/DISABLED/DEFAULT |
177+ | ibm.mq.reconnectTimeout | Timeout in seconds before automatic reconnect gives up |
173178| ibm.mq.autoConfigure | If explicitly set to "false", then the autoconfigure bean is disabled |
174179| ibm.mq.balancingApplicationType | Hint how uniform clusters should treat the app. Options of SIMPLE/REQREP |
175180| ibm.mq.balancingTimeout | Uniform cluster timer. Options NEVER/DEFAULT/IMMEDIATE or integer seconds |
0 commit comments