Descargas binarias del servicio Java REST

Tengo un servicio web Java REST que actualmente está descargando archivos de texto a una aplicación para iPad. Queremos ampliar el servicio para descargar ahora de 10 a 20 Mb de datos binarios a la vez a partir de varias solicitudes. Estas solicitudes oscilarán entre unos pocos kb y unos pocos Mbs. Cómo lo tenemos configurado ahora, la descarga no es muy eficiente y la mayoría de las veces la descarga no finaliza. ¿Alguien tiene alguna sugerencia sobre recursos o un plan de acción?

Muchas Gracias

Editar para proporcionar más información. La configuración actual es el servidor web Tomcat sin marcos adicionales. Paso una URL para obtener un montón de declaraciones de inserción y alrededor de 40 enlaces para descargar datos de blob. Luego hago esas 40 solicitudes 2 a la vez hasta que se completa el proceso. He intentado más de 2 solicitudes, pero generalmente falla mucho antes con errores de conexión del cliente. La base de datos donde se almacenan los datos binarios es SQLite.

¿Hay alguna otra información necesaria para ayudar?

preguntado el 01 de julio de 12 a las 02:07

Proporcione más detalles sobre lo que no funciona bien y por qué cree que es así... ¿Cuál es la configuración actual? -

¿Has probado desde un navegador web normal? ¿El problema podría estar en la parte que lee el blob de sqlite? ¿Ha evaluado una alternativa a los blobs de 40Mb? -

@SimoneGianni Lamentablemente, las manchas son obligatorias. Yo no habría ido por este camino, pero es con lo que estoy atascado. He aumentado el rendimiento de la consulta con algo de almacenamiento en caché cuando se inicia mi aplicación Java en lugar de consultar la base de datos directamente. ¡Gracias! -

1 Respuestas

Esto debería funcionar fácilmente con Apache Tomcat. Desarrollé varias aplicaciones en iOS que descargan datos del servidor a través de múltiples solicitudes (imágenes, JSON y XML). Creo que el problema podría estar en la aplicación iOS. ¿Estás haciendo múltiples solicitudes desde tu aplicación en hilos separados? A iOS no le gusta que el subproceso de la interfaz de usuario se bloquee para las operaciones de red.

Respondido 31 Jul 12, 12:07

Estoy usando la biblioteca ASIHttpRequest para descargar. Esto está usando su propio sabor de nsopeartionqueue. Creo que el principal problema es que, si hay muchas solicitudes, Tomcat pondrá a los usuarios en una cola, pero eso aumenta el tiempo de espera incluso para comenzar a descargar los datos. - Erik Rodríguez

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.