AWS L'esperienza autogestita di modernizzazione del mainframe non è più aperta a nuovi clienti. Per funzionalità simili all'esperienza autogestita di modernizzazione del AWS mainframe, esplora le funzionalità offerte direttamente dal fornitore e da. AWS Transform I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta Modifica della disponibilità di Mainframe Modernization.AWS
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS Il servizio di modernizzazione del mainframe (esperienza Managed Runtime Environment) non è più aperto a nuovi clienti. Per funzionalità simili a AWS Mainframe Modernization Service (esperienza Managed Runtime Environment), esplora AWS Mainframe Modernization Service (Experience). Self-Managed I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta Modifica della disponibilità di AWS Mainframe Modernization.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS Transform for mainframe Runtime Ultime modifiche - 5.X
Lo scopo di questo documento è elencare le modifiche più importanti nel runtime di AWS Transform for mainframe, per le versioni principali 5.X, a partire dalla versione 5.75.0. Ogni volta che un componente si applica a un singolo ambiente legacy, la modifica corrispondente viene contrassegnata con quell'ambiente.
Vengono utilizzati i seguenti ambienti:
z/OS : mainframe IBM di serie e assimilati, in esecuzione su; z/OS
AS400: midframe IBM iSeries;
GS21: ambiente Fujitsu GS21;
ALL (o vuoto): una modifica che potrebbe riguardare più di un ambiente specifico;
Nota
Una quantità significativa di modifiche riguarda gli usi interni delle classi, nel runtime AWS Transform for mainframe. Non dovrebbero avere alcun impatto sul codice cliente esistente.
Argomenti
Versione 5.274.0 - Ultime modifiche rispetto alla 5.194.0
Generated-code modifiche alla firma
Questi metodi vengono emessi direttamente nel codice dell'applicazione modernizzato generato dal motore di trasformazione, quindi una riconversione si lega alla nuova firma. Ce ne sono tre.
-
InputDeviceHelper.writeInto(...)— terzo tipo di parametro modificatoFile:
velocity-framework/GapWalk-Runtime-Legacy-Statements/src/main/java/com/netfective/bluage/gapwalk/runtime/statements/InputDeviceHelper.javaPerché è importante: il generatore emette
InputDeviceHelper.writeInto(...)chiamate nel codice generato per COBOL ACCEPT... FROM CONSOLE, passando una sezione di campo scrivibile come terzo argomento. Re-transformed le applicazioni si legano al nuovo parametro.RecordAdaptable
Prima
void writeInto(ExecutionContext executionContext, Context context, RangeReference rangeReference)Dopo
void writeInto(ExecutionContext executionContext, Context context, RecordAdaptable recordAdaptable) -
DataUtils.formatBytes(RangeReference, RangeReference)— tipo di ritorno modificatoFile:
velocity-framework/GapWalk-DataSimplifier/src/main/java/com/netfective/bluage/gapwalk/datasimplifier/utils/DataUtils.javaPerché è importante: il generatore emette
DataUtils.formatBytes(...)codice generato e ora utilizza il valore restituitointcome argomento di lunghezza di unaSequentialFile.write(record, int)chiamata generata (percorso di scrittura in modalità stampa VARYING-without-DEPENDING-ON GS21). Re-transformed le applicazioni dipendono dal nuovo ritorno.int
Prima
public static void formatBytes(RangeReference source, RangeReference target)Dopo
public static int formatBytes(RangeReference source, RangeReference target) -
Blu4UserSpace.withTransferSize(...)— tipo di parametro ampliatoFile:
velocity-framework/gapwalk-runtime-userspace-support/src/main/java/com/netfective/bluage/gapwalk/userspace/support/data/Blu4UserSpace.javaPerché è importante: due generatori emettono
withTransferSize(<field reference>)l'API AS/400 QUSCRTUS (Create User Space), vincolando l'overload di riferimento. Il descrittore del metodo cancellato è cambiato da a(RangeReference), quindi gli artefatti predefiniti del cliente(ElementaryRangeReference)che richiamano il vecchio descrittore richiedono la ricompilazione. Il codice sorgente è compatibile con la riconversione (il nuovo corpo gestisce ancora un argomento).ElementaryRangeReference
Prima
public Blu4UserSpace withTransferSize(ElementaryRangeReference transferSize)Dopo
public Blu4UserSpace withTransferSize(RangeReference transferSize)
Configuration-property modifiche
Nessuna. Nessuna proprietà di trasformazione, generazione o configurazione di runtime esistente è stata rinominata, rimossa o il suo valore predefinito è stato modificato. Tutte le modifiche alle proprietà apportate nella versione sono chiavi opt-in net-new, le cui impostazioni predefinite mantengono il comportamento precedente.
Modifiche alla dipendenza e alla distribuzione
-
Il client RabbitMQ non è più in bundle
Impatto: Runtime · Azione richiesta (solo utenti RabbitMQ)
Modifica: la
com.rabbitmq:amqp-clientlibreria è stata separata dal runtime (per cancellare un CVE e una porta di licenza). GPL-2.0 È ora possibile accedere a RabbitMQ tramite una riflessione sulle interfacce di messaggistica del runtime.Perché è importante: una distribuzione che utilizza un broker RabbitMQ (
ims.messages,,jics.queuesdataqueue.queues, orblu4ivmq.queues.broker = rabbitmq) avrà esito negativo in fase di esecuzione (RabbitMQUnavailableException) perché il jar è assente. L'accodamento interno predefinito non viene modificato. Questa è solo una modifica del percorso di classe: le interfacce di messaggistica rivolte ai clienti (MqQueueingConsumer,,JicsQueueingConsumerla base della coda di messaggi IMS) non sono cambiate.Azione: gli utenti di RabbitMQ devono fornire un CVE-free
amqp-clientjar (5.35.0 o successivo) nel percorso di classe di runtime, allo stesso modo in cui vengono forniti i driver Oracle e IBM MQ.
Versione 5.125.0 - Ultime modifiche rispetto alla versione 5.75.0
Componente gapwalk-utility-pgm (5.125.0) - Solo z/OS
-
com.netfective.bluage.gapwalk.utility.sort.service.sum.AbstractSumClasse:-
Correzione di bug (z/OS): Gestisci l'overflow del campo SUM con OPTION OVFLO=RC0 in DFSORT. Quando è impostata OPTION OVFLO=RC0 e un campo SUM supera la sua capacità, viene emesso il record accumulato corrente e un nuovo accumulo inizia con il record corrente, invece di troncare il valore.
Tipo
voidbooleandiaddRecord(byte[])restituzione del metodo modificato da a. Restituisce true se sono stati aggiunti record, false se si è verificato un overflow e OPTION OVFLO=RC0 è stata impostata (record non aggiunti). Potrebbe essere necessario aggiornare di conseguenza qualsiasi codice personalizzato che sovrascriva o richiama questo metodo.Prima
public void addRecord(byte[] record)Dopo
public boolean addRecord(byte[] record) -
Componente gapwalk-bluesam-core (5.125.0) - Solo z/OS
-
com.netfective.bluage.gapwalk.bluesam.core.storage.MetadataPersistenceInterfaccia:-
Ottimizzazione delle prestazioni (z/OS): migliora le prestazioni e correggi il problema su un dataloader KSDS di grandi dimensioni quando è abilitata la modalità di aggiunta. Tutte le implementazioni note di questa interfaccia sono state adattate di conseguenza. Questa interfaccia è interna al runtime Blu Age, per motivi di BluSam supporto. Il metodo a 3 parametri esistente ora delega alla nuova versione a 4 parametri con false come impostazione predefinita. Non dovrebbe avere alcun impatto sul codice cliente esistente.
Aggiunto un nuovo metodo pubblico
boolean buildDatasetIndexes(CoreMetadata metadata, int indexingPageSizeInMb, long expectedRecordsCount, boolean isAppendMode); -
-
Interfaccia
com.netfective.bluage.gapwalk.bluesam.LargeKeySequencedDataSet:-
Ottimizzazione delle prestazioni (z/OS): migliora le prestazioni e correggi il problema su un dataloader KSDS di grandi dimensioni quando è abilitata la modalità di aggiunta. Tutte le implementazioni note di questa interfaccia sono state adattate di
com.netfective.bluage.gapwalk.bluesam.core.LargeKSDSconseguenzacom.netfective.bluage.gapwalk.bluesam.core.LargeESDS. Qualsiasi implementazione di classeLargeKeySequencedDataSetdeve ora implementare questo nuovo metodo. Per un comportamento che non prevede l'aggiunta, delegate alla versione esistente a 2 parametri o passate false per uso interno.isAppendMode
Aggiunto un nuovo metodo pubblico
void buildIndexes(int indexingPageSizeInMb, long expectedRecordsCount, boolean isAppendMode); -
Componente gapwalk-bluesam-services-pgsql (5.125.0) - Solo z/OS
-
com.amazonaws.bluage.gapwalk.bluesam.services.util.large.ReadWorkerInterfaccia:-
Ottimizzazione delle prestazioni (z/OS): migliora le prestazioni e correggi il problema su un dataloader KSDS di grandi dimensioni quando è abilitata la modalità di aggiunta. L'unica implementazione nota,, è stata adattata di
com.amazonaws.bluage.gapwalk.bluesam.services.pgsql.util.PgsqlReadWorkerconseguenza. Qualsiasi implementazione di classeReadWorkerdeve ora implementare questi 3 metodi.
Aggiunto un nuovo metodo pubblico
DataSource getDataSource();Aggiunto un nuovo metodo pubblico
boolean isMultiSchemaEnabled();Aggiunto un nuovo metodo pubblico
String getFileType(); -