Comando mqsichangeproperties

Piattaforme supportate

Scopo

Utilizzare il comando mqsichangeproperties per modificare le proprietà correlate alle comunicazioni interbroker e il componente listener http, che include il supporto HTTP e HTTPS (SSL) per i nodi HTTPInput e HTTPReply.

Avviare il broker mediante mqsistart quindi immettere il comando sulla macchina su cui è in esecuzione il broker.

Se si modifica un valore è necessario arrestare e riavviare il broker affinché la modifica sia attiva.

Sintassi

Parametri

brokername
(Obbligatorio) Il nome del broker da modificare. Questo deve essere il primo parametro.
-b httplistener
(Facoltativo) Il nome del componente listener http.
-e ExecutionGroupLabel
(Facoltativo) Riservato
-o ObjectName
(Obbligatorio) Il nome dell'oggetto di cui si desidera modificare le proprietà. Questo deve essere impostato su uno dei valori presenti nell'elenco riportato di seguito.
-n PropertyName
(Obbligatorio) Il nome della proprietà da modificare.
-v PropertyValue
(Obbligatorio) Quando fornito per PropertyValue viene assegnato alla proprietà specificata da PropertyName.
E' possibile specificare più di un nome e il corrispondente valore mediante l'uso di virgole e separatori. Ad esempio,
-n Name1, Name2 -v Value1, Value2
Relativamente alle comunicazioni interbroker, sono disponibili i seguenti valori ObjectName:
  • DynamicSubscriptionEngine
Per il componente httplistener, che include i nodi HTTPInput e HTTPReply, sono disponibili i seguenti valori ObjectName:
  • HTTPListener per il controllo del processo HTTPListener.
  • HTTPConnector per il controllo della comunicazione HTTP con i nodi HTTPInput e HTTPReply.
  • HTTPSConnector per il controllo della comunicazione HTTPS con i nodi HTTPInput e HTTPReply.
httplistener ComponentName è richiesto quando si utilizzano le impostazioni ObjectName HTTP.
È disponibile il seguente valore ObjectName per attivare la modalità di compatibilità con le versioni precedenti:
  • ComIbmXmlParserFactory

Valori del parametro delle comunicazioni interbroker

Di seguito sono riportati i nomi validi di proprietà delle comunicazioni interbroker:

brokerInputQueues
Specifica il numero massimo di code di invio che devono essere utilizzate quando si elaborano i messaggi da un insieme di interbroker. Aumentando il valore potrebbe aumentare la velocità di trasmissione dei messaggi in una connessione di interbroker:
  • Tipo di valore - Intero
  • Valore iniziale - 1
brokerInputQueueLength
Definisce il numero massimo di messaggi che possono essere memorizzati in ogni coda di input; maggiore è il valore, maggiore è il numero di messaggi di input che possono essere memorizzati in ciascuna coda di input. Tenere presente che maggiore è il valore di questa proprietà, più grande e la quantità di memoria richiesta dal broker per ciascuna coda:
  • Tipo di valore - Intero
  • Valore iniziale - 99
brokerPingInterval
Intervallo di tempo in millisecondi che intercorre tra i messaggi ping avviati del broker sulle connessioni broker-broker. I messaggi ping assicurano che le comunicazioni sono ancora aperte tra entrambe le parti della connessione e sono generati internamente. Se il valore è 0, il broker non avvia i ping.
  • Tipo di valore - Intero
  • Valore iniziale - 5000
clientPingInterval
Intervallo di tempo in millisecondi che intercorre tra i messaggi ping avviati del broker sulle connessioni broker-client. I messaggi ping assicurano che le comunicazioni sono ancora aperte tra entrambe le parti della connessione e sono generati internamente. Se il valore è 0, il broker non avvia i ping.
  • Tipo di valore - Intero
  • Valore iniziale - 30000
clonedPubSubBrokerList
L'elenco dei broker in cui i registri <brokername> devono essere un clone.
L'elenco ha il formato BrokerName1,BrokerQMName1,BrokerName2,BrokerQMName2. Quindi, se si richiede di clonare tre broker BRKA, BRKB e BRKC, è necessario eseguire i seguenti comandi:
mqsichangeproperties BRKA -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"BRKB,BRKBQM,BRKC,BRKCQM\"
mqsichangeproperties BRKB -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"BRKA,BRKAQM,BRKC,BRKCQM\"
mqsichangeproperties BRKC -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"BRKA,BRKAQM,BRKB,BRKBQM\"
E' possibile inoltre eliminare i broker da un ambiente clonato. Ad esempio, se BRKC deve essere eliminato dal clone, utilizzare i seguenti comandi:
mqsichangeproperties BRKA -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"-BRKC\"
mqsichangeproperties BRKB -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"-BRKC\"
mqsichangeproperties BRKC -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"\"

Osservare il simbolo meno nell'elenco relativo a BRKA e BRKB. BRKC non specifica eventuali broker e quindi non è un clone. Tuttavia, BRKA e BRKB rimangono cloni uno dell'altro.

  • Tipo di valore - Stringa
  • Valore iniziale - nessuno
enableClientDiscOnQueueOverflow
Se impostato a true e se, dopo la cancellazione di tutti i possibili messaggi, si supera ancora la soglia di maxClientQueueSize, il broker disconnette il client.
  • Tipo di valore - Booleano
  • Valore iniziale - False
enableQopSecurity
Abilita il livello di qualità di protezione dei messaggi.

Come impostazione predefinita, Qualità di protezione è abilitata se è stato cambiato il valore predefinito (nessuno) per isysQopLevel o sysQopLevel.

  • Tipo di valore - Stringa
  • Valore iniziale - nessuno
httpDispatchThreads
Il valore corrisponde al numero di thread che il broker dedica alla gestione dei client per il tunneling HTTP.
  • Tipo di valore - Intero
  • Valore iniziale - 32
httpProtocolTimeout
Il valore corrisponde al numero di millisecondi nell'intervallo di timeout del protocollo HTTP. E' possibile modificare tale valore per aggiornare la quantità di tempo che un broker deve attendere l'evento successivo durante una qualsiasi fase del protocollo di tunneling HTTP. Il valore 0 fa sì che il broker attenda indefinitamente.
  • Tipo di valore - Intero
  • Valore iniziale - 10000
interbrokerHost
Specifica il nome host IP del broker. Una singola configurazione del broker può essere lasciata sul valore predefinito null.

mqsichangeproperties <broker> -o DynamicSubscriptionEngine -n interbrokerHost -v <IP host name>

  • Tipo di valore - Stringa
  • Valore iniziale - null

Se si modifica il valore, il broker deve essere arrestato e quindi riavviato. E' quindi necessario distribuire nuovamente la completa topologia.

interbrokerPort
Numero di porta sui cui il broker ascolta le connessioni interbroker in entrata. Se è in esecuzione più di un broker sulla stessa macchina, impostare la proprietà interbrokerPort su un diverso valore per ciascun broker. Ad esempio:

mqsichangeproperties <broker> -o DynamicSubscriptionEngine -n interbrokerPort -v <port number>

Se non si imposta il valore interbrokerPort prima che la topologia venga distribuita, riavviare il broker.

  • Tipo di valore - Intero
  • Valore iniziale - 1507

Se si modifica il valore, il broker deve essere arrestato e quindi riavviato. E' quindi necessario distribuire nuovamente la completa topologia.

isysQopLevel
Valido per il sistema e consente ai broker si eseguire solo la pubblicazione e la sottoscrizione.
  • Tipo di valore - Stringa
  • Valore iniziale - nessuno
maxBrokerQueueSize
Numero massimo di byte che il broker deve accodare per la trasmissione ad un altro broker. Se il numero massimo viene superato, il broker elimina tutti i messaggi accodati in quel broker, ad eccezione dell'ultimo messaggio, dei messaggi ad alta priorità e delle risposte. In presenza del valore 0, il broker non limita il numero di byte accodati ad un altro broker:
  • Tipo di valore - Intero
  • Valore iniziale - 1000000
maxClientQueueSize
Numero massimo di byte che il broker deve accodare per la trasmissione ad un client. Se il numero massimo viene superato, il broker elimina tutti i messaggi accodati in quel client, ad eccezione dell'ultimo messaggio, dei messaggi ad alta priorità e dei messaggi di risposta. In presenza del valore 0, il broker non limita il numero di byte accodati ad un client.
  • Tipo di valore - Intero
  • Valore iniziale - 100000

Il valore di questa proprietà deve essere maggiore o uguale al valore maxMessageSize.

maxConnections
Il numero massimo di client connessi contemporaneamente consentito dal broker. Se tale limite è raggiunto, il broker nega nuove richieste di connessione dai client. Se tale valore è minore di 0, il numero di client è illimitato.
  • Tipo di valore - Intero
  • Valore iniziale - 100
Inizio modificajvmMaxHeapSizeFine modifica
Inizio modificaSpecifica la dimensione di heap della JVM (Java Virtual Machine) utilizzata con JVMManager per i nodi di plug-in Java.

Tale dimensione deve essere compresa nell'intervallo fra 16 777 216 e 8 589 934 592.

  • Tipo di valore - Intero
  • Valore iniziale - 134 217 728
Fine modifica
maxHopCount
Specifica il numero massimo di link multibroker superato il quale viene inviato un messaggio, a garanzia che i messaggi non eseguano mai un loop in una rete multibroker. Impostare questo valore su un numero abbastanza grande da garantire che i messaggi possano navigare sull'intera rete multibroker.
  • Tipo di valore - Intero
  • Valore iniziale - 20
maxMessageSize
Dimensione massima dei messaggi consentita in byte. Se un client riceve un messaggio che supera questa dimensione massima, tale client viene scollegato.
  • Tipo di valore - Intero
  • Valore iniziale - 100000

Il valore di questa proprietà deve essere minore o uguale al valore maxClientQueueSize.

multicastAddressRangeMax
L'indirizzo IP maggiore che il broker può utilizzare per le relative trasmissioni multicast.
Questo deve essere compreso nell'intervallo tra 224.0.0.2 e 239.255.255.255
  • Tipo di valore - Stringa
  • Valore iniziale - 239.255.255.255
multicastAddressRangeMin
L'indirizzo IP minore che il broker può utilizzare per le relative trasmissioni multicast.
Questo deve essere compreso nell'intervallo tra 224.0.0.2 e 239.255.255.255
  • Tipo di valore - Stringa
  • Valore iniziale - 224.0.0.2
multicastBackoffTimeMillis
Il tempo, in millisecondi, di ascolto massimo di un client per altro NACK prima di inviare il proprio. Tale valore può essere compreso nell'intervallo tra 0 e 1000.
  • Tipo di valore - Intero
  • Valore iniziale - 100
multicastDataPort
La porta dei dati UDP attraverso la quale i pacchetti multicast vengono inviati e ricevuti:
  • Tipo di valore - Intero
  • Valore iniziale - 34343
multicastEnabled
Indica se gli argomenti definiti in multicastTopicsConfigFile sono rilasciati come multicast. Se il valore è true, gli argomento in multicastTopicsConfigFile sono rilasciati come multicast.
  • Tipo di valore - Booleano
  • Valore iniziale - false
multicastHeartbeatTimeoutSec
Indica l'intervallo di tempo in secondi che intercorre tra l'arrivo dei pacchetti di controllo su ciascun client. Se un pacchetto non arriva nell'ambito dell'intervallo specificato, definito come due volte il valore specificato da questa proprietà, in secondi dall'arrivo del precedente pacchetto, è probabile che si verifichi un errore.
  • Tipo di valore - Intero
  • Valore iniziale - 20
multicastLimitTransRate
Questa proprietà può essere utilizzata insieme alla proprietà multicastTransRateLimitKbps per il controllo della congestione di rete. I valori possibili sono:
Disabilitato
I dati multicast vengono trasmessi il più velocemente possibile
Statico
La velocità di trasmissione è limitata dal valore specificato in multicastTransRateLimitKbps
Dinamico
La velocità di trasmissione può variare durante il processo, ma non supera mai il valore specificato in multicastTransRateLimitKbps
  • Tipo di valore - Stringa
  • Valore iniziale - Disabilitato
multicastMaxKeyAge
Giacenza massima, in minuti, di una chiave di crittografia di argomento prima che debba essere ridefinita.
  • Tipo di valore - Stringa
  • Valore iniziale - 360
multicastMaxMemoryAllowedKBytes
Massimo consumo di memoria dai buffer di ricezione del client, misurato in kilobyte.
  • Tipo di valore - Intero
  • Valore iniziale - 262144

Questo parametro è disponibile solo se è selezionato un protocollo PGM (Pragmatic General Multicast).

multicastMCastSocketTTL
Il numero massimo di hop che un pacchetto multicast può eseguire tra il client e il broker. Tale valore corrisponde ad un numero in più del numero massimo di router che possono essere presenti tra il client e il broker.
Il valore 1 indica che il pacchetto raggiunge tutti i nodi locali, ma non può essere trasmesso dai router. Il valore massimo è 255.
  • Tipo di valore - Intero
  • Valore iniziale - 1
multicastMinimalHistoryKBytes
La dimensione minima, in kilobyte, di un buffer assegnato come un archivio per tutti i pacchetti trasmessi. Tale buffer è condiviso da tutti gli argomenti affidabili e può essere utilizzato per ripristinare i pacchetti persi. Tale valore può essere compreso nell'intervallo tra 1000 e 1.000.000.
  • Tipo di valore - Intero
  • Valore iniziale - 60000
multicastMulticastInterface
Indica l'interfaccia da utilizzare per le trasmissioni multicast. E' possibile specificare un nome host o un indirizzo IP. Il valore "nessuno" fa sì che l'interfaccia di rete sia dipendente dal sistema operativo.
  • Tipo di valore - Stringa
  • Valore iniziale - "nessuno"
Nota: Se si dispone di un'unica scheda di rete, il valore predefinito "nessuno" è attivo in quanto il sistema operativo utilizza il valore localhost. Tuttavia, se si dispone di più di una scheda di rete, si deve impostare tale parametro per essere certi che venga utilizzata la scheda corretta.
multicastNACKAccumulationTimeMillis
Il tempo, in millisecondi, in cui i NACK vengono aggregati nel broker, prima dell'invio dei pacchetti ripristinati. Tale valore può essere compreso nell'intervallo tra 50 e 1000.
  • Tipo di valore - Intero
  • Valore iniziale - 300
multicastNACKCheckPeriodMillis
Il tempo, in millisecondi, che intercorre tra i controlli periodici dello stato di ricezione e la rilevazione di gap della sequenza per la costruzione di NACK. Tale valore può essere compreso nell'intervallo tra 10 e 1000.
  • Tipo di valore - Intero
  • Valore iniziale - 500
multicastOverlappingTopicBehavior
Tale proprietà viene utilizzata per il controllo del broker quando un client richiede una sottoscrizione multicast per un argomento, che fa parte di una gerarchia contenente argomenti esclusi esplicitamente per multicast. I valori possibili sono:
Accetta
Viene accettata una sottoscrizione multicast corrispondente e tutte le pubblicazioni che corrispondono all'argomento, ad eccezione di quelle che sono specificatamente esclude, sono multicast.
Rifiuta
Viene rifiutata dal broker una sottoscrizione multicast ad un argomento con child che non sono abilitati per multicast.
Ripristina
Sottoscrizioni ad un argomento, o a child di tale argomento, che non sono abilitate per Multicast risultano come trasmissioni unicast.
  • Tipo di valore - Stringa
  • Valore iniziale - Accetta
multicastPacketBuffers
Il numero di buffer di memoria creati all'avvio per la ricezione del pacchetto. Se si dispone di un elevato numero di buffer disponibili si migliorano le prestazioni della ricezione e si riduce la perdita del pacchetto ad elevate velocità di distribuzione, ma si verifica un maggior impiego di memoria. Ciascun buffer è di 33KB e tale valore può essere compreso nell'intervallo tra 1 e 5000.
  • Tipo di valore - Intero
  • Valore iniziale - 500
multicastPacketSizeBytes
Indica la dimensione, in byte, dei pacchetti multicast. Tale valore può essere compreso nell'intervallo tra 500 e 32000.
  • Tipo di valore - Intero
  • Valore iniziale - 7000
multicastProtocolType
Specifica il tipo di protocollo. Questo deve essere uno dei seguenti:
  • PTL
  • PGM/IP
  • PGM/UDP
  • Tipo di valore - Stringa
  • Valore iniziale - PTL
multicastSocketBufferSizeKbytes
La dimensione, in kilobyte, del buffer del ricevitore del socket del client. Se si aumenta tale valore si riduce la velocità di perdita. Tale valore può essere compreso nell'intervallo tra 65 e 10000.
  • Tipo di valore - Intero
  • Valore iniziale - 3000
multicastTransRateLimitKbps
Limita la velocità di trasmissione complessiva in Kb (kilobyte) per secondo.
Tale proprietà è valida solo se la proprietà multicastLimitTransRate non è disabilitata. Il valore di questa proprietà non deve essere impostato ad un valore maggiore della velocità massima di trasmissione dei dati del sistema o della rete e può essere compreso nell'intervallo tra 10 e 1.000.000.
  • Tipo di valore - Intero
  • Valore iniziale - 9500
nonDurableSubscriptionEvents
Indica se l'utente richiede i messaggi di evento quando viene creato o eliminato un sottoscrittore (subscriber) non duraturo. Un valore true provoca la creazione di una pubblicazione di evento, false indica che tali pubblicazioni non vengono eseguite.
  • Tipo di valore - Booleano
  • Valore iniziale - False
pingTimeoutMultiple
Numero di clientPngIntervals o brokerPngIntervals consecutivi senza una risposta che il broker attende prima di scollegare un client o il broker.
  • Tipo di valore - Intero
  • Valore iniziale - 3
statsInterval
Il valore corrisponde al numero di millisecondi tra le pubblicazioni statistiche. Se impostato a 0, le pubblicazioni statistiche non vengono generate. Non è necessario riavviare il broker dopo aver modificato questa proprietà; tuttavia, una volta modificato il valore, può essere necessario al broker circa un minuto di tempo per avviare la produzione delle statistiche.
Questo deve essere compreso nell'intervallo tra 0 e 1000
  • Tipo di valore - Intero
  • Valore iniziale - 0
Nota: Questo valore fa riferimento solo all'intervallo delle statistiche pubblicazione/sottoscrizione.
sysQopLevel
Valido per il sistema e consente ai broker si eseguire solo la pubblicazione.
  • Tipo di valore - Stringa
  • Valore iniziale - nessuno

Autorizzazione

Sulle piattaforme Windows, l'ID utente utilizzato per richiamare questo comando deve possedere l'autorizzazione Amministratore sul sistema locale.

Sui sistemi UNIX, l'ID utente utilizzato per richiamare tale comando deve essere root oppure lo stesso specificato nel parametro -i del comando mqsicreatebroker. Deve essere inoltre un membro del gruppo mqbrkrs.

Inoltre, l'autorizzazione richiesta dal broker per i diversi protocolli è la seguente:
PGM/IP
Il broker richiede:
  • l'autorizzazione Root sui sistemi Linux e UNIX
  • l'autorizzazione Amministratore sulle piattaforme Windows
  • l'autorizzazione root (solo per UNIX System Services) su z/OS
PGM/UDP
Il broker richiede l'autorizzazione Utente su tutte le piattaforme supportate
PTL
Il broker richiede l'autorizzazione Utente su tutte le piattaforme supportate

Valori del parametro del componente httplistener

Nomi validi di proprietà per HTTPListener ObjectName:

enableSSLConnector
Un valore booleano che è possibile utilizzare per abilitare o disabilitare il connettore HTTPS (SSL). Questo deve essere impostato su “true” prima che il listener http ascolti connessioni SSL in entrata.
  • Tipo di valore - Booleano
  • Valore iniziale - false

Nomi validi di proprietà per HTTPConnector ObjectName:

address
Per server con più di un indirizzo IP, tale valore specifica l'indirizzo utilizzato per l'ascolto sulla porta specificata. Per impostazione predefinita, tale porta viene utilizzata su tutti gli indirizzi IP associati al server. Se specificato, è possibile utilizzare solo un indirizzo.
  • Tipo di valore - Stringa
  • Valore iniziale - null
port
Il numero di porta TCP su cui tale connettore crea un socket del server e attende connessioni in entrata.
  • Tipo di valore - Intero
  • Valore iniziale - 7080

Nomi validi di proprietà per HTTPSConnector ObjectName:

address
Per server con più di un indirizzo IP, tale valore specifica l'indirizzo utilizzato per l'ascolto sulla porta specificata. Per impostazione predefinita, tale porta viene utilizzata su tutti gli indirizzi IP associati al server. Se specificato, è possibile utilizzare solo un indirizzo.
  • Tipo di valore - Stringa
  • Valore iniziale - null
port
Il numero di porta TCP su cui tale connettore crea un socket del server e attende connessioni in entrata.
  • Tipo di valore - Intero
  • Valore iniziale - 7083
algorithm
L'algoritmo di codifica del certificato da utilizzare.
  • Tipo di valore - Stringa
  • Valore iniziale - SunX509 su Solaris e HPUX mentre IbmX509 su altre piattaforme (AIX, z/OS, Linux e Windows).
clientAuth
Impostato su true se lo stack SSL richiede un concatenamento di certificati valido dal client prima di accettare un connessione. Il valore false (valore predefinito) non richiede un concatenamento di certificati a meno che il client richiede una risorsa protetta da un limite di sicurezza che utilizza l'autenticazione CLIENT-CERT.
  • Tipo di valore - Stringa
  • Valore iniziale - false
keystoreFile
Il percorso al file archivio di chiavi in cui è stato memorizzato il certificato del server, che deve essere caricato. Per impostazione predefinita, il listener http prevede un file denominato .keystore nella directory home dell'utente che ha avviato il broker.
  • Tipo di valore - Stringa
  • Valore iniziale - valore predefinito (descritto sopra)
keystorePass
La password utilizzata per accedere al certificato del server dal file archivio di chiavi specificato.
  • Tipo di valore - Stringa
  • Valore iniziale - changeit
keystoreType
Il tipo di file archivio di chiavi da utilizzare per il certificato del server.
  • Tipo di valore - Stringa
  • Valore iniziale - JKS
sslProtocol
La versione del protocollo SSL da utilizzare.
  • Tipo di valore - Stringa
  • Valore iniziale - SSLv3
ciphers
Un elenco separato da virgole di cipher di crittografia che è possibile utilizzare. Se non specificato (valore predefinito), è possibile utilizzare qualsiasi cipher disponibile.
  • Tipo di valore - Stringa
  • Valore iniziale - null
I valori possibili per keystoreType, sslProtocol e ciphers sono specifici dell'implementazione JSSE e devono essere rilevati nella documentazione del provider JSSE.

Autorizzazione

Sulle piattaforme Windows, l'ID utente utilizzato per richiamare questo comando deve possedere l'autorizzazione Amministratore sul sistema locale.

Sui sistemi UNIX, l'ID utente utilizzato per richiamare tale comando deve essere root oppure lo stesso specificato nel parametro -i del comando mqsicreatebroker. Deve essere inoltre un membro del gruppo mqbrkrs.

Esempi

Impostazione di clientPingInterval su 200
mqsichangeproperties TEST -o DynamicSubscriptionEngine -n clientPingInterval -v 200 
Abilitazione multicast
mqsichangeproperties TEST -o DynamicSubScriptionEngine -n multicastEnabled -v true
Modifica del protocollo ssl predefinito da SSLv3 a TLS
mqsichangeproperties TEST -b httplistener -n sslProtocol -v TLS 
Abilitazione connettore HTTPS
mqsichangeproperties TEST -b httplistener -o HTTPListener -n enableSSLConnector -v true
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
an09140_