2009-03-18 17 views
6

Los Web Start Developers Guide estadoscarga de forma dinámica archivos jar adicionales usando Web Start/JNLP

Todos los recursos de la aplicación deben ser recuperados de los archivos JAR los en la sección de recursos del archivo JNLP, o se recupera de forma explícita utilizando un HTTP solicitud al servidor web.

Se recomienda almacenar recursos en archivos JAR, ya que se almacenarán en la memoria caché en el equipo local mediante Java Web Start.

Ahora, tengo algunos recursos que deseo cargar dinámicamente después de que se haya iniciado mi aplicación (por ejemplo, paquetes OSGi). Puedo hacerlo utilizando HTTP sin formato, pero me gustaría utilizar el soporte de Web Start para el caché local y los recursos específicos de la versión/arquitectura.

¿Hay alguna manera de descargar archivos jar adicionales de la base de código original (como se especifica en el archivo jnlp de la aplicación) utilizando la infraestructura de Web Start?

O, como alternativa, ¿ya existe una forma establecida de integrar OSGi y Web Start que me aliviará de la tarea de instalar paquetes desde el servidor Web Start?

Respuesta

4

Si hace que su aplicación en sí misma sea una aplicación OSGI basada en Equinox, puede iniciarla en la web con todos los paquetes adicionales que necesita.

Este artículo "WebStarting Equinox OSGi Apps" puede darle una buena introducción sobre la configuración requerida.

  • Todos los paquetes tienen que ser desplegado como archivos JAR firmados
  • Se necesita una característica que contiene todos los paquetes necesarios
  • Al exportar la función, asegúrese de que la PDE crea una JNLP (Java Red lauching Protocolo) (una casilla de verificación en el asistente de exportación) para esta función
  • Proporcione un archivo raíz JNLP para su aplicación
  • Despliegue su aplicación a un servidor web y asegúrese de que el servidor web tenga conocimiento de la aplicación/x- java-jnlp -file tipo mime

Él también tiene una OSGI demo.

+0

Aha! El artículo utiliza una etiqueta de "extensión" en el archivo JNLP, algo que no se mencionó en la Guía del Desarrollador. Veré si puedo hacer que eso funcione también. Gracias. – Thilo

+0

Encontré dos puntos que no me gustan de este método: los paquetes deben conocerse en el momento del arranque, y Web Start los agrega al classpath de arranque, desde donde el WebStartMain de Eclipse parece extraerlos y volverlos a iniciar como paquetes. Todavía es bueno ver que Eclipse ya tiene este soporte integrado. – Thilo

+0

La etiqueta de extensión fue afaik introducida con la actualización Java 6 de Java Web Start. Hubo muchas buenas características nuevas. –

Cuestiones relacionadas