2008-10-13 5 views
3

J'ai deux applications Web exécutées dans la même instance Tomcat. Dans l'une de ces applications, l'utilisateur aura la possibilité de télécharger des fichiers tels que des images et des fichiers pdf. Je voudrais que les fichiers téléchargés soient disponibles pour la deuxième application.Transfert de fichiers entre des applications Web exécutées dans la même instance Tomcat

Existe-t-il une meilleure pratique pour un tel scénario? Ou juste un pointeur vers une technologie serait bien. J'ai envisagé d'utiliser des services Web, mais je me demandais si c'était exagéré.

Merci Vincent

Répondre

3

Bon marché, mauvaise réponse - les deux applications ont un lien symbolique vers un répertoire partagé. Cela a l'avantage d'être stupide - simple à faire mais a de mauvais problèmes de type transactionnel. Puisque vous dites qu'une seule application est en train de modifier les données et que l'autre est en lecture seule, vous pourrez peut-être vous en sortir, tant que la deuxième application ne pourra pas observer les fichiers dans un état partiellement créé.

L'utilisation d'une base de données est sûre sur le plan transactionnel, mais elle sera plutôt désagréable à mesure que les fichiers grossiront.

+0

C'était l'idée originale. Je détesterais mettre des images dans une base de données. Je pense que les problèmes transactionnels sont au minimum dans le scénario donné. Donc, un répertoire partagé c'est. –

0

Vous pourriez pousser les fichiers dans une base de données partagée ... Cela vous permet également de stocker des métadonnées avec eux.

2

Je dirais que cela dépend de la robustesse dont vous avez besoin pour le stockage de fichiers et de la manière dont il est transactionnel. Le moyen le plus simple serait un répertoire partagé qui se trouve sur le chemin de classe des deux applications. Une base de données serait une solution plus robuste, mais plus complexe.

Questions connexes