2009-07-01 4 views
2

Mon patron craint que notre système de fichiers NFS ne soit pas satisfait du processus jboss run java qui appelle getFD(). Sync sur les fichiers que nous écrivons. Nous avons remarqué que fréquemment l'horodatage sur le fichier créé est des minutes (parfois jusqu'à 15 minutes) après que le journal indique que le fichier a été écrit. Ma seule supposition est que le NFS est accroché au fichier en mémoire et ne l'écrit pas jusqu'à ce qu'il en ressente le besoin. synchronisation devrait résoudre ce problème, non?Y at-il un conflit entre NFS et l'appel de getFD(). Sync()?

J'ai également remarqué qu'il n'y a jamais un close() appelé sur le fichier. Vous vous demandez si cela aurait pu être la cause aussi?

toutes les pensées ont apprécié.

Répondre

1

Si vous voulez dire que le code Java n'appelle jamais close() sur le flux, oui, c'est un bug. Toujours fermer un flux, d'entrée ou de sortie, dès que l'utilisation est terminée. De bons outils d'analyse statique avertiront du code qui ne parvient pas à le faire.