
main.java.com.ibm.mq.spring.boot.MQConfigurationProperties Maven / Gradle / Ivy
/*
* Copyright © 2018 IBM Corp. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.ibm.mq.spring.boot;
import org.springframework.boot.context.properties.ConfigurationProperties;
/** There are many properties that can be set on an MQ Connection Factory, but these are the most commonly-used
* for both direct and client connections. If you use TLS for client connectivity, most properties related to that
* (keystore, certificates etc) must be set independently.
*
* This class allows for setting the CipherSuite/CipherSpec property, and an indication of whether or not
* to use the IBM JRE maps for Cipher names - that's not something that is standardised.
*
* The default values have been set to match the settings of the
* MQ Docker
* container.
*
*
* - queueManager = QM1
*
- connName = localhost(1414)
*
- channel = DEV.ADMIN.SVRCONN
*
- user = admin
*
- password = passw0rd
*
*
*/
@ConfigurationProperties(prefix = "ibm.mq")
public class MQConfigurationProperties {
/** MQ Queue Manager name */
private String queueManager = "QM1";
/** Channel - for example "SYSTEM.DEF.SVRCONN" **/
private String channel = "DEV.ADMIN.SVRCONN";
/** Connection Name - hostname or address and port. Format like 'system.example.com(1414)' **/
private String connName = "localhost(1414)";
/** MQ Client ID */
private String clientId;
/** MQ user name */
private String user = "admin";
/** MQ password */
private String password = "passw0rd";
/** Override the authentication mode. This
* should not normally be needed with current maintenance levels of MQ V8 or V9, but some earlier levels
* sometimes got get it wrong and then this flag can be set to "false".
* @see the KnowledgeCenter
*/
private boolean userAuthenticationMQCSP = true;
/** For TLS connections, you can set either the sslCipherSuite or sslCipherSpec property.
* For example, "SSL_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
* @see the KnowledgeCenter
*/
private String sslCipherSuite;
/** For TLS connections, you can set either the sslCipherSuite or sslCipherSpec property.
* For example, "ECDHE_RSA_AES_256_GCM_SHA384"
* @see the KnowledgeCenter
*/
private String sslCipherSpec;
/** Type a distinguished name skeleton that must match that provided by the queue manager.
* @see the KnowledgeCenter
*/
private String sslPeerName;
/** Set to true for the IBM JRE CipherSuite name maps; set to false to use the Oracle JRE CipherSuite mapping */
private boolean useIBMCipherMappings = true;
/** Enter the uniform resource locator (URL) that identifies the name and location of the file that contains
* the client channel definition table and specifies how the file can be accessed.
* You must set a value for either the Channel property or for the Client Channel Definition Table URL property but not both.
* For example, "file:///home/admdata/ccdt1.tab"
* @see the KnowledgeCenter
*/
private String ccdtUrl;
public String getQueueManager() {
return queueManager;
}
public void setQueueManager(String queueManager) {
this.queueManager = queueManager;
}
public String getChannel() {
return channel;
}
public void setChannel(String channel) {
this.channel = channel;
}
public String getConnName() {
return connName;
}
public void setConnName(String connName) {
this.connName = connName;
}
public void setClientId(String clientId){
this.clientId = clientId;
}
public String getClientId(){
return clientId;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSslCipherSuite() {
return sslCipherSuite;
}
public void setSslCipherSuite(String sslCipherSuite) {
this.sslCipherSuite = sslCipherSuite;
}
public String getSslCipherSpec() {
return sslCipherSpec;
}
public void setSslCipherSpec(String sslCipherSpec) {
this.sslCipherSpec = sslCipherSpec;
}
public boolean isUseIBMCipherMappings() {
return useIBMCipherMappings;
}
public void setUseIBMCipherMappings(boolean useIBMCipherMappings) {
System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", Boolean.toString(useIBMCipherMappings));
this.useIBMCipherMappings = useIBMCipherMappings;
}
public boolean isUserAuthenticationMQCSP() {
return userAuthenticationMQCSP;
}
public void setUserAuthenticationMQCSP(boolean userAuthenticationMQCSP) {
this.userAuthenticationMQCSP = userAuthenticationMQCSP;
}
public String getSslPeerName() {
return sslPeerName;
}
public void setSslPeerName(String sslPeerName) {
this.sslPeerName = sslPeerName;
}
public String getCcdtUrl() {
return ccdtUrl;
}
public void setCcdtUrl(String ccdtUrl) {
this.ccdtUrl = ccdtUrl;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy