Desarrollo de aplicaciones JMS/Jakarta Messaging y Java
IBM® MQ proporciona tres interfaces de lenguaje Java : IBM MQ classes for Jakarta Messaging, IBM MQ classes for JMSy IBM MQ classes for Java.
IBM MQ classes for Jakarta Messaging- IBM MQ classes for Jakarta Messaging es un proveedor de Jakarta Messaging que implementa las interfaces Jakarta Messaging para IBM MQ como el sistema de mensajería. El Jakarta Connectors Architecture proporciona una forma estándar de conectar aplicaciones que se ejecutan en un entorno Jakarta EE a un sistema de información empresarial (EIS) como, por ejemplo, IBM MQ o Db2®.
IBM MQ classes for JMS- IBM MQ classes for JMS es un proveedor de JMS que implementa las interfaces JMS para IBM MQ como el sistema de mensajería. Java Platform, Enterprise Edition Connector Architecture (JCA) proporciona una forma estándar de conectar aplicaciones que se ejecutan en un entorno Java EE con un EIS (Enterprise Information System) como IBM MQ o Db2.
- IBM MQ classes for Java
- IBM MQ classes for Java le permite utilizar IBM MQ en un entorno Java . IBM MQ classes for Java permite que una aplicación Java se conecte a IBM MQ como un cliente de IBM MQ , o se conecte directamente a un gestor de colas de IBM MQ .
Notas:
IBM No se realizarán más mejoras en el IBM MQ classes for Java y están funcionalmente estabilizados al nivel en que se enviaron en IBM MQ 8.0. Las aplicaciones existentes que utilizan IBM MQ classes for Java siguen teniendo soporte completo, pero no se añadirán nuevas características y se rechazarán las solicitudes de mejoras. El soporte completo significa que los defectos se arreglarán junto con los cambios que requieran los cambios en los requisitos del sistema de IBM MQ .- Los IBM MQ classes for Java no están soportados en IMS.
- Los IBM MQ classes for Java no están soportados en WebSphere® Liberty. No se deben utilizar con la característica de mensajería de IBM MQ Liberty o con el soporte genérico de JCA . Para obtener más información, consulte Uso de interfaces de Java WebSphere MQ en entornos de J2EE/JEE.
Cambios importantes en Java las versiones
A veces, los cambios en Java las versiones pueden provocar mensajes de advertencia o problemas para sus aplicaciones IBM MQ classes for Jakarta Messaging, IBM MQ classes for JMSIBM MQ classes for Java , o. Estos cambios se resumen en esta sección.
- Java 25
- TLS_RSA_* CipherSpecs están desactivados
- TLS_RSA_* CipherSpecs están desactivados desde Java 25. Si su aplicación utiliza alguno de estos IBM MQ classes for JMS CipherSpecs,IBM MQ classes for Java ,Jakarta Messaging realice una de las siguientes acciones:
- Actualice la aplicación para utilizar un controlador de dispositivo ( CipherSpec ) compatible.
- Elimine el algoritmo de la lista de desactivados en el java.security archivo.
Para obtener más información, consulte TLS CipherSpecs y CipherSuites en IBM MQ classes for JMS y TLS CipherSpecs y CipherSuites en IBM MQ classes for Java.
- Mensajes de avisos
- Si ve la siguiente advertencia al ejecutar su aplicación con Java 25, puede suprimirla pasando el
--enable-native-access=ALL-UNNAMEDparámetro JVM al iniciar la aplicación:WARNING: A restricted method in java.lang.System has been called WARNING: java.lang.System::loadLibrary has been called by com.ibm.mq.jmqi.local.LocalMQ in an unnamed module (file:/opt/mqm/java/lib/com.ibm.mq.allclient.jar) WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module WARNING: Restricted methods will be blocked in a future release unless native access is enabled - Si ve la siguiente advertencia al ejecutar su aplicación en un Java 2 Platform, Enterprise Edition entorno (Java EE) como WebSphere Liberty con Java Runtime Environment 25 (JRE25), establezca la variable Java de entorno
JAVA_TOOL_OPTIONS=-Djdk.xml.enableExtensionFunctions=truepara resolver el error:Errors while applying transformations: javax.xml.transform.TransformerException: java.lang.RuntimeException: Use of the extension element 'redirect' is not allowed when extension functions are disabled by the secure processing feature or the property 'jdk.xml.enableExtensionFunctions'. To enable extension functions, set 'jdk.xml.enableExtensionFunctions' to 'true'
- Si ve la siguiente advertencia al ejecutar su aplicación con Java 25, puede suprimirla pasando el
- Java 21
- Se cambia la codificación predeterminada
- En Java 21, la codificación predeterminada es UTF-8, mientras que en versiones anteriores compatibles de Java, la codificación predeterminada era la predeterminada del sistema operativo (por ejemplo, IBM-1047 en z/OS®). Este cambio puede afectar a la forma en que una aplicación gestiona las operaciones de lectura o escritura de archivos, como archivos de texto o archivos de propiedades, que no se encuentran en un UTF-8. Por ejemplo, archivos en EBCDIC. Puede solucionar los problemas de codificación predeterminada utilizando una de las siguientes opciones:
- Especifique la codificación que Java runtime environment debe utilizar configurando el
file.encodingparámetro en la línea de comandos cuando ejecute la Java aplicación. Por ejemplo:
Lajava -Dfile.encoding=IBM-1047 myApplicationCOMPATpalabra clave especifica el valor predeterminado del sistema operativo:java -Dfile.encoding=COMPAT myApplication - Actualice la Java aplicación para especificar explícitamente la codificación para cada operación de lectura/escritura de archivos.
- Especifique la codificación que Java runtime environment debe utilizar configurando el