2014-04-18 3 views
1

Je voudrais afficher le contenu du fichier journal dans une page jsp (dans le cadre d'une fonctionnalité de l'application web - ne peut pas utiliser une autre webapp autonome). Je suis à la recherche de quelque chose de similaire à la fonctionnalité queue -f d'unix. J'ai regardé Apache Commons Tailer et TailerListenerAdapter. Toutefois, le TailerListenerAdapter a un handle de méthode (ligne de chaîne) qui n'est pas utile si vous souhaitez voir la sortie dans un navigateur Web. Il existe d'autres solutions telles que la lecture du fichier, puis l'interrogation du nouveau contenu. Mais cela impliquerait trop d'opérations d'E/S dans une boucle. Idéalement, je voudrais mettre le contenu en queue (disons 2000 lignes) et ensuite l'afficher dans une page jsp. Je pourrais utiliser un appel AJAX, dire toujours 100 ms et rafraîchir les données dans l'interface utilisateur.Java fichier journal queue et l'afficher en jsp

+0

duplication possible de [application Web Java pouvant diffuser le contenu d'un fichier arbitraire dans le navigateur (queue vive)] (http://stackoverflow.com/questions/5803776/java-web-application-that-can- stream-the-content-of-a-arbitraire-file-to-the-bro) – DrLivingston

+0

Cela pourrait aussi être une copie de ceci: http://stackoverflow.com/questions/11345387/jsp-to-view-log- file-like-web-tail-f – DrLivingston

Répondre

0

Vous pouvez garder le flux de fichier ouvert et continuer à lire depuis la position où vous vous trouvez, soit avec des E/S non bloquantes (afin de ne pas bloquer s'il n'y a pas de données), soit vous pouvez vérifier si le fichier a été modifié avant de lire() en utilisant IO bloquant.

Si vous ne voulez pas garder le flux ouvert, vous pouvez facilement le rouvrir et passer directement à la position correcte.

+0

Si vous continuez à lire, vous finirez par taper eof et c'est tout. Vous devez au moins utiliser aRandomAccessFile. – Harald