¿Vendes aplicaciones programadas con Java Oracle SE 8? Esto te interesa.

A partir del 2019, el uso no personal de desarrollos en Java SE 8 cambia de licencia comercial:

“Las actualizaciones públicas de la versión 8 de Oracle Java SE seguirán disponibles para uso personal e individual al menos hasta finales de 2020.

Las actualizaciones públicas de la versión 8 de Oracle Java SE que se lancen a partir de enero de 2019 no estarán disponibles para uso empresarial, comercial o de producción sin licencia comercial.”

Para más información y detalles visita: https://www.java.com/es/download/release_notice.jsp

La opción ¿ OpenJDK?

There is a process already using the admin port 4848. Glassfish 4/CentOS 6.

El servidor de aplicaciones Glassfish 4.1 de un cliente no quería arrancar y mandaba el mensaje de error especificado en la siguiente imagen:

El servidor corre el sistema operativo CentOS 6 y al inspeccionar los puertos para ver que proceso estaba utilizando el puerto indicado en el mensaje, el 4848, indicaba que ningún proceso estaba ocupando dicho puerto. Así que quedó descartado que fuera otra instancia de Glassfish ejecutándose en la misma máquina.

El problema era que la máquina del cliente no tenía en su archivo /etc/hosts el hostname de su servidor. Para obtener el nombre del hostname.

Así que bastó con editar el archivo /etc/hosts y añadir al final de la IP 127.0.0.1 el hostname del servidor.

Con el comando hostname obtenemos el nombre del servidor. El archivo /etc/hosts debería más o menos quedar así:

127.0.0.1   localhost localhost.localdomain localhost4 HOSTNAME
::1         localhost localhost.localdomain localhost6

Donde HOSTNAME es el nombre del servidor obtenido con el comando hostname.

¡Hasta la próxima!

 

 

Cómo añadir o restar horas, minutos o segundos a una fecha en java con la clase Calendar

A veces es necesario, en nuestros programas java, incrementar o restar de una fecha en cierta cantidad de horas, minutos o segundos. Usando la clase Calendar de este lenguaje es muy sencillo hacer este tipo de operaciones con el tiempo.

Aquí les dejo el código auto-explicativo:

import java.util.Calendar;

/**
 *
 * @author scyasig
 */
public class OperacionesCalendar {
    
  public static void main(String[] args) {
        
    // Obtiene fecha y hora actuales
    Calendar fecha = Calendar.getInstance();
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));
        
    // Incrementa 30 segundos la fecha 
    fecha.add(Calendar.SECOND, 30);
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));

    // Incrementa 30 minutos la fecha
    fecha.add(Calendar.MINUTE, 30);
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));
        
    // Restar 30 horas la fecha
    fecha.add(Calendar.HOUR, -30);
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));
        
  }
  
}

Al ejecutar el código anterior dará la siguiente salida (dependiendo de la hora en que sea ejecutado):

La fecha actual es: 2017-01-23 21:18:23
La fecha actual es: 2017-01-23 21:18:53
La fecha actual es: 2017-01-23 21:48:53
La fecha actual es: 2017-01-22 15:48:53

Espero y les sea útil.

¡Hasta la próxima!