anchor.diff:  
   Bien, entramos en la segunda parte de este post, la carga inicial de datos. Como os comentaba al principio, he decidido implementarla desde la propia aplicación porque así podemos ver un primer ejemplo de persistencia de datos con JPA y además un tipo de bean EJB que permite realizar acciones en el inicio de una aplicación web.
   
  -Nuestro objetivo es que los datos existan antes de que la aplicación reciba las primeras peticiones de usuario. Necesitamos por tanto una manera de ejecutar código Java en el despliegue de la misma y para esto tendremos que instanciar un bean en ese momento y colocar el código en un método anotado con _@PostConstruct_ para que se ejecute sin necesidad de una llamada explícita. La carga del bean podemos hacerla de tres maneras diferentes, usando tecnologías diferentes: EJB, JSF o bien CDI. Veamos cada caso antes de decidir la más conveniente:
  +Nuestro objetivo es que los datos existan antes de que la aplicación pueda recibir las primeras peticiones de usuario. Necesitamos por tanto una manera de ejecutar código Java en el despliegue de la misma y para esto tendremos que instanciar un bean en ese momento y colocar el código en un método anotado con _@PostConstruct_ para que se ejecute sin necesidad de una llamada explícita. La carga del bean podemos hacerla de tres maneras, usando tecnologías diferentes: EJB, JSF o bien CDI. Veamos cada caso antes de decidir la más conveniente:
   
   * Usando EJB: A través de un bean de sesión singleton. Se trata de un bean con estado que se carga una sola vez, la primera vez que se hace referencia al mismo desde la aplicación. La anotación _@Startup_ se usa para obligar a una carga en el arranque de la aplicación. Aquí el estado no nos interesa en cualquier caso. La definición de la clase para el bean sería:
   
  
positive.code: ----
  	@ManagedBean(eager=true)
  	@ApplicationScoped
  	public class GlobalBean {
  		@PostConstruct
  		public void applicationStartup() {
  			// carga inicial
  		}
  	}
  
negative.code: ----
  	@Singleton
  	@Startup
  	public class CargaInicialDatos {
  		@PostConstruct
  		public void cargaDeDatos() {
  			// carga inicial
  		}
  	}
  