Buscar
Social
Ofertas laborales ES
« Google prepara una migración de MySQL a MariaDB | Main | Seminario sobre Desarrollo de Aplicaciones en la Plataforma Java en Barcelona »
miércoles
sep112013

Disponible Java 7 u40 con Java Mission Control

Oracle acaba de anunciar Java 7 u40; en esta versión se continúa integrando la máquina virtual Hot Spot creada por Sun y la máquina virtual JRockit creada por BEA Systems (ambas compañías adquiridas por Oracle). Esta es la primera versión en la que dentro del JDK tendremos Java Mission Control, una potente consola que nos va a permitir obtener un montón de información sobre una máquina virtual Java en tiempo real; aquí vemos la pantalla principal:

Aquí vemos una utilidad que tiene para monitorizar el estado de threads y, por ejemplo, poder listar todos los thread que se encuentran en deadlock:

Y aquí vemos una pantalla que permite crear alarmas si se producen ciertas situaciones dentro de la máquina virtual, como por ejemplo un uso elevado de CPU o de memoria RAM:

 

Oracle Java Mission Control and Oracle Java Flight Recorder aunque forman parte de Java 7 u40 y son gratuitos para desarrollo, no son gratuitos para uso en producción y hay que pagarle una licencia para ello. Según Oracle, el usar en producción este tipo de funcionalidad de monitorización sólo supone una sobrecarga de aproximadamente un 2% para la aplicación.

Aquí os dejo un videotutorial donde se explica el funcionamiento de estas herramientas:

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (24)

Si tienes una MacBook Pro con pantalla retina, es momento que actualizes: En esta versión se formaliza el soporte para este hardware. Yo he venido trabajando con la early access, y el único inconveniente que encontré es que no era posible trabajar con Grails por una incompatibilidad.

septiembre 11, 2013 | Registered Commenterantoniovl

Hay que tener cuidado con las aplicaciones de escritorio que usen JavaFX, porque el nuevo runtime, jfxrt.jar, es incompatible con versiones anteriores, y puede lanzar (lo hará) excepciones "nunca vistas".

septiembre 11, 2013 | Registered Commenterchoces

Wow, y el instalador ha mejorado sustancialmente y... ya no pide instalar la barra de ASK!!!

septiembre 11, 2013 | Unregistered CommenterUnoPorAhi

Pero ¿qué os parece el hecho de que estas herramientas no sean gratuitas para uso en producción?

septiembre 12, 2013 | Registered CommenterAbraham

No pide instalar esa barra si se instala el JDK. Las versiones JRE desde java.com siguen "recomendándolo".

septiembre 12, 2013 | Registered Commenterchoces

> Pero ¿qué os parece el hecho de que estas herramientas no sean gratuitas para uso en producción?


Me parece bien. Oracle no deja de ser una empresa, con sus empleados, y hay que pagarles... ¿Por qué crees que deberían estar grátis?

septiembre 12, 2013 | Unregistered CommenterJim

JRockit ha sido, y sigue siendo, un producto comercial destinado a empresas.
No veo que nada haya cambiado, excepto que su herramienta de análisis, Mission Control, es accesible gratuitamente, como parte de la distribución del JDK, para su uso en desarrollo.
Poder usar esta herramienta, sin pagar una licencia, es una indudable ventaja para los desarrolladores. Ya la he probado, y la cantidad de información que proporciona es abrumadora.

Hay un principio empresarial muy básico: si haces negocio con una herramienta, no te quejes de que el fabricante de dicha herramienta cobre por adquirirla o por usarla.
Nos hemos acostumbrado demasiado a que "lo gratis" sea lo ajeno, mientras que no aplicamos el mismo criterio a "lo propio".

septiembre 12, 2013 | Registered Commenterchoces

100% de acuerdo con choces. No veo criticable el hecho de que una herramienta que hasta ahora era de pago, sea distribuida gratuitamente con el JDK. Cual es el problema? Yo he probado esta misma maniana con mi servidor local y es simplemente increible. Cuanto habra constado desarrollarla? Si hay que pagar licencia para su uso en produccion, me parece razonable, licito y una buena inversion, y no limita para nada al desarrollador Java, sino al contrario. Que sea gratuita para los entornos previos es un autentico regalo y un gran avance.

Un saludo

septiembre 12, 2013 | Unregistered CommenterUnoPorAhi

A mi con esto me surgen dos dudas:

1) Teniendo en cuenta que ahora el JDK de Oracle incluye el Mission Control, que no se puede usar en producción sin pagar ¿sí que puedo usar el JDK de Oracle en producción y no hay problemas mientras no toque la funcionalidad de Mission Control uno puede usar el JDK en producción y tengo que usar, por ejemplo, el OpenJDK?

2) Si uso el JDK de Oracle en producción, incluyendo la funcionalidad de Mission Control, y no le pago licencia a Oracle ¿ Oracle se entera? Es decir ¿el Mission Control "llama" a casa cada vez que se usa?

septiembre 12, 2013 | Registered CommenterAbraham

1) Yo por lo que veo en la licencia, la restriccion es de "uso", por lo que entiendo que tenerlo simplemente alojado en el servidor de produccion no infringe la licencia.
2) Eso tambien me lo he planteado. Supongo que lo dejan a la buena fe de cada uno. Yo lo he monitorizado unos minutos y no he visto que intente conectarlse a ningun lado. Pero quien sabe, igual es muy avanzado y utiliza microondas :-)

Un saludo

septiembre 12, 2013 | Unregistered CommenterUnoPorAhi

Yo estoy de acuerdo en que se pague por el Missioncontrol en produccion. El trabajo hay que pagarlo por defecto. Si alguien da un jar gratis, pues se le agradece porque no tiene porque hacerlo, pero eso no obliga a que los demas tambien lo hagan.

En cuanto a lo que pregunta Abraham, espero que no obliguen a usar el OpenJDK. si la aplciacion llama a casa ¿como puede hacer para saber que esta en produccion? Ahora cada portatil replica produccion...

septiembre 12, 2013 | Registered Commenternilojg

¿Desde dónde se descargan distribuciones del OpenJDK?
Concretando más, para Windows, Mac OS X, Solaris

septiembre 12, 2013 | Registered Commenterchoces

Hola choces,
La mayoría de las distros de Linux ya incorporan el OpenJDK, o permiten instalarlo / actualizarlo desde los repositorios y funcionan muy bien.

http://openjdk.java.net/install/index.html

Para Windows y Mac OS X te recomendaría que sigas utilizando la versión de Oracle.

Leyendo entre líneas..

Download and install the open-source JDK 7 for most popular Linux distributions.
If you came here looking for Oracle JDK 7 product binaries for Solaris, Linux, Mac OS X or Windows, which are based largely on the same code, you can download them from java.oracle.com.

http://openjdk.java.net/

En cuanto a la herramienta Java Mission Control...

¿Alguien puede explicarme de qué forma y en qué contexto la utilizaría de modo continuo contra servidores de producción?

Un saludo,

septiembre 12, 2013 | Registered Commenterefrigerio

En realidad era un pregunta retórica ;)

No hay otras distribuciones de OpenJDK para Windows, Mac, Solaris que desde los builds de Oracle.

La pregunta quería despejar, de una vez por todas, la mezcla que se está haciendo entre el código fuente de las VM y la implementación de referencia del lenguaje, y las diferentes distribuciones que se hacen, para diversos Sistemas Operativos, porque leyendo algunos comentarios, parece que las distribuciones de Oracle no sean OpenJDK, y sean menos Open Source que otras.

Solo hay un OpenJDK, desde el punto de vista del código que permite desarrollar y ejecutar Java, y hay un único repositorio. Todas las distribuciones, las haga Oracle o quien sea, incluyen el código fuente de la implementación. Por lo tanto todas son Open Source.

Como es lógico, cada distribución incluye archivos y utilidades específicas del Sistema Operativo donde se ejecuta la VM, y pueden incluir herramientas, como MIssion Control, que no tiene nada que ver con que la implementación de Java sea Open Source o no.
Que estas utilidades y herramientas adicionales sean Open o no, no determina que la VM y el JDK sean lo que son.

septiembre 12, 2013 | Registered Commenterchoces

Buenas,

Respecto al OpenJDK, precisamente por eso choces dice. "Concretando más, para Windows, Mac OS X, Solaris".

En cuanto a Java Mission Control, nosotros ya empleamos herramientas similares en producción en cientos casos. Con algunas versiones que liberamos y en situaciones de alta carga, detectamos aumentos anómalos en el consumo de memoria de los que nos cuesta Dios y ayuda detectar y solucionar.
Hoy he estado probando todo el día el producto (lo he dejado conectado a mi servidor de desarrollo con el fligh recorder) y he de decir que da una información mucho más completa y detallada que ninguno que hayamos utilizado antes. De hecho, estoy casi seguro de que nos hubiese permitido ahorrarnos cientos de horas/hombre de búsqueda infructuosa en muchos casos. Por supuesto, esas horas valen muucho dinero.

En cuanto a "de que forma", no entiendo muy bien a lo que te refieres, ni cual es la duda. Levantamos jmx securizado en la jvm del cluster que queramos monitorizar y conectamos la herramienta cliente hasta recoger una muestra representativa para poder analizarla. Obviamente no la tenemos de forma continua e indefinida escuchando (y con un operario como Homer Simpson mirando la pantalla de los relojes), sino sólo cuando tenemos algún problema concreto a monitorizar.

Un saludo

septiembre 12, 2013 | Unregistered CommenterUnoPorAhi

Y que pasa con Java Visual VM, lo seguirán distribuyendo junto al JDK?

No es la mejor herramienta, pero hace su trabajo.

http://visualvm.java.net/

septiembre 13, 2013 | Unregistered Commenterleonardoavs

Me parece muy poco probable que la herramienta Mission Control "llama a casa" - la inmensa mayoría de los servidores Java que yo he utilizado no tienen conectividad con el mundo exterior, siempre tienen algo delante y cortafuegos por todos partes. Tampoco veo forma de distinguir fácilmente entre un servidor de desarrollo y de producción, desde el punto de vista de Oracle. Si todas las instalaciones de Mission Control empiezan a enviar mensajes a casa, ¿cómo va a saber cuáles son de interés, y cuáles no?

septiembre 13, 2013 | Unregistered CommenterJim

Parece que venimos mal con las preguntas retóricas
:D

Nosotros también utilizamos una herramienta de monitoreo,
La diferencia es que esta herramienta corre en backend midiendo el estado de la red, los servidores, sistemas operativos, bases de datos, JVM y demás indicadores que se hayan programado,

Si uno de estos indicadores se excede, dispara alertas automáticas a el grupo de interés.

Lo que no tenemos, y lo que no veía es a Homer Simpson mirando la pantalla de los relojes en producción.

:D

PD:
Si existen versiones del OpenJDK (unofficial) para Windows y OS X,
Alguna vez instale una en mi maquina y duro instalada menos de 5 minutos por que era un desastre.

https://github.com/alexkasko/openjdk-unofficial-builds#openjdk-unofficial-installers-for-windows-linux-and-mac-os-x

:(

Un saludo,

septiembre 13, 2013 | Registered Commenterefrigerio

" Si existen versiones del OpenJDK (unofficial) para Windows y OS X,"

No sabía que contaban los "textos apócrifos" ;D

septiembre 13, 2013 | Registered Commenterchoces

:o)

septiembre 13, 2013 | Registered Commenterefrigerio

Answering some of your rethorical questions:

1. The rest of the JDK is absolutely free for production use. What features that count as commercial can be seen here: http://www.oracle.com/technetwork/java/javase/terms/products/index.html

2. Java Mission Control does not "call home" to report of unpaid use in production. Oracle deals with this the same way they do for all the other products that are freely downloable for development, like the Oracle DB. My belief is there is some kind of audit team that will come by your datacenter to check what commercial features you have enabled but not paid for. I like to imagine them as lawyers in black suits arriving by black helicopters, but that is most likely not true ;)

septiembre 14, 2013 | Unregistered CommenterKlara

Thank you Klara

septiembre 15, 2013 | Registered CommenterAbraham

@Klara
"I like to imagine them as lawyers in black suits arriving by black helicopters, but that is most likely not true ;)"


That happens, and that is the SoftwareLegal.

http://www.softwarelegal.org.ar/sla.html
http://www.nicklabs.com.ar/?p=2275

Un saludo,

septiembre 16, 2013 | Registered Commenterefrigerio

como conecto java , me pone imposible conectar, no se en que puerto conectar, saludos

noviembre 19, 2013 | Unregistered Commenterj

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>