2010-08-13 10 views

Répondre

2

Je ne veux pas décider de l'emplacement de l'index en moi-même système de fichiers. Comment les applications en magasin général tous les fichiers créés lors de l'exécution, est-il un type de magasin fourni par le moteur application par application, etc

Par défaut, les classes du package java.io résoudre des chemins relatifs par rapport au répertoire de travail actuel - à savoir l'emplacement dans le système de fichiers à partir duquel la commande java a été invoquée - que vous pouvez obtenir en utilisant la propriété système user.dir:

String curDir = System.getProperty("user.dir"); 

Mais, ce faisant est loin d'être idéal (en fait, l'écriture de fichiers n'est pas idéal pour portab le applications) et je ne recommande pas cette approche, mais suggère d'utiliser des chemins absolus pour le système de fichiers et, par ex. propriétés du système:

new File(System.getProperty("my.directory" + File.separator + "xxx"); 

Lorsque la propriété my.directory serait définie dans le script de démarrage du serveur d'applications par exemple en supposant que JBoss est installé sous /opt, en utilisant -Dmy.directory=/var/opt/jboss/<somedir> pour être conforme à FHS.

Il suffit de garder à l'esprit que:

  • Ecrire à la FS n'est pas idéal pour la portabilité des applications. Préférez écrire dans une base de données si possible
  • L'utilisation de java.io à partir d'EJB est en théorie forbidden.
2

Normalement, vous créez un index Lucene dans les serveurs d'applications comme JBoss et Tomcat dans le répertoire courant (.), Le dossier d'index est créé dans le dossier bin, ce qui n'est pas du tout une bonne idée.

Vous pouvez soit stocker vos fichiers d'index dans la base de données (ou virtuellement tout autre périphérique de stockage) en utilisant Compass ou les stocker dans un chemin sur le système de fichiers.

Il n'y a pas de stockage spécial par application pour autant que je sache dans les conteneurs Java EE.

0

Je dirais que le meilleur moyen est de stocker les données sur un chemin par défaut dans le système de fichiers, par exemple/var/lib/your_application/puis de rendre cet emplacement configurable.

Vous pouvez en lire plus ici:

http://www.pathname.com/fhs/pub/fhs-2.3.html

+0

salut, quel est le chemin par défaut? – keshav84

+0

Salut, La base linux standard dit que ce genre d'information devrait aller dans/var si je me souviens bien. C'est pourquoi j'ai suggéré/var/lib/your_application/comme exemple. –