Newsletter Java: Novedades de la Semana 4 Enero 2025
Tu newsletter semanal de Programando En Java
¡Hola comunidad Java! 🚀
Esta semana tenemos novedades muy interesantes en el mundo de Java, desde la fase final de JDK 24 hasta nuevas versiones de herramientas populares como Spring Framework y Micrometer Metrics. ¡Vamos a desglosarlo todo! 📝
🌟 JDK 24 en Fase de Rampdown 2
La versión JDK 24 ha entrado en la Rampdown Phase Two, lo que significa que no se añadirán nuevas JEPs y ahora el enfoque está en corregir errores de alta prioridad (✨ P1 y P2).
Algunas JEPs destacadas para la versión final de marzo 2025 son:
JEP 404 - Generational Shenandoah (Experimental)
JEP 450 - Compact Object Headers (Experimental)
JEP 479 - Remove the Windows 32-bit x86 Port
JEP 489 - Vector API (Ninth Incubator)
JEP 499 - Structured Concurrency (Fourth Preview)
¡Es momento de reportar cualquier bug pendiente en el Java Bug Database!
💡 JDK 25 Early Access Build 6
La versión JDK 25 también ha recibido actualizaciones con su Build 6, incluyendo varias correcciones de errores.
Si quieres probar lo último de JDK 25, puedes descargar el build aquí.
🤩 ¡Tu opinión importa!
Queremos mejorar esta newsletter y necesitamos tu ayuda. Responde esta encuesta para decirnos qué temas prefieres y cómo podemos hacerlo mejor.
👉Realizar encuesta👈

🌟 Spring Framework 6.2.2
La nueva versión de Spring Framework 6.2.2 trae:
✨ Correcciones de errores
📖 Mejoras en la documentación
🛠️ Actualizaciones de dependencias
💪 Nuevas características como mejoras en el
BeanFactoryPostProcessor
Consulta el anuncio oficial aquí.
📊 Micrometer Metrics 1.15.0-M1 y Tracing 1.5.0-M1
Las nuevas versiones incluyen mejoras en la instrumentación y trazabilidad de aplicaciones. ¡Ideal para mantener el rendimiento de tus apps bajo control!
Más detalles en el blog de Micrometer.
🎯 ¿Buscas mejorar tu nivel en Java?
Reserva una sesión 1:1 de mentoría conmigo. ¡Tienes 15 minutos gratis para que nos conozcamos! 🕒
👉 Reserva aquí 👈
🚀 Infinispan se une a Commonhaus Foundation
Infinispan, la solución de caché distribuida y almacenamiento en memoria, ahora forma parte de la Commonhaus Foundation, lo que promete un mayor respaldo y crecimiento para el proyecto.
🌍 Actualización de Jakarta EE 11
Jakarta EE 11 está avanzando rápidamente con el equipo trabajando en las pruebas para el Web Profile. ¡Están cada vez más cerca del lanzamiento!
Si te interesa contribuir, puedes unirte a la discusión en el GitHub de Jakarta EE.
💡 Tip Java de la semana
En Spring Boot, puedes utilizar la anotación @Transactional
para gestionar transacciones de base de datos de manera declarativa. Esta anotación garantiza que un método se ejecute dentro de una transacción y, en caso de error, realice un rollback automáticamente.
@Service
public class CuentaService {
@Autowired
private CuentaRepository cuentaRepository;
@Transactional
public void transferirDinero(Long cuentaOrigenId, Long cuentaDestinoId, Double monto) {
Cuenta cuentaOrigen = cuentaRepository.findById(cuentaOrigenId)
.orElseThrow(() -> new RuntimeException("Cuenta origen no encontrada"));
Cuenta cuentaDestino = cuentaRepository.findById(cuentaDestinoId)
.orElseThrow(() -> new RuntimeException("Cuenta destino no encontrada"));
// Verificar que haya suficiente saldo
if (cuentaOrigen.getSaldo() < monto) {
throw new RuntimeException("Saldo insuficiente en cuenta origen");
}
// Realizar la transferencia
cuentaOrigen.setSaldo(cuentaOrigen.getSaldo() - monto);
cuentaDestino.setSaldo(cuentaDestino.getSaldo() + monto);
// Guardar los cambios (esto ocurre automáticamente dentro de una transacción)
cuentaRepository.save(cuentaOrigen);
cuentaRepository.save(cuentaDestino);
// Si ocurre un error en cualquier parte de este método, se revertirán todos los cambios
}
}
¡Espero que esta edición te haya sido útil!
No olvides compartirla y suscribirte para recibir todas las novedades del mundo Java.
Nos leemos la próxima semana,
Ricardo