Передача файлов между веб-приложениями, работающими в одном экземпляре Tomcat.

У меня есть два веб-приложения, работающих в одном и том же экземпляре Tomcat. В одном из этих приложений пользователь будет иметь возможность загружать файлы, такие как изображения и файлы PDF. Я хотел бы, чтобы загруженные файлы были доступны для второго приложения.

Есть ли лучшая практика для такого сценария? Или просто указатель на технологию было бы хорошо.

Я рассматривал возможность использования веб-сервисов, но подумал, не будет ли это излишним.

Спасибо, Винсент.


person Vincent Ramdhanie    schedule 13.10.2008    source источник


Ответы (3)


Дешевый, плохой ответ - иметь программную ссылку обоих приложений на общий каталог. Преимущество этого в том, что это глупо-просто, но есть проблемы транзакционного типа. Поскольку вы говорите, что только одно приложение изменяет данные, а другое доступно только для чтения, вам может сойти с рук это, если второе приложение не может наблюдать за файлами в частично созданном состоянии.

Использование db безопасно для транзакций, но будет довольно неприятно, поскольку файлы становятся больше.

person Steve B.    schedule 13.10.2008
comment
Это была первоначальная идея. Я бы не хотел помещать изображения в базу данных. Я думаю, что транзакционные проблемы в данном сценарии минимальны. Итак, это общий каталог. - person Vincent Ramdhanie; 13.10.2008

Я бы сказал, что это зависит от того, насколько надежным вам должно быть хранилище файлов и насколько транзакционным. Самый простой способ - это общий каталог, который находится в пути к классам обоих приложений. База данных была бы более надежным, но и более сложным решением.

person David M. Karr    schedule 13.10.2008

Вы можете засунуть файлы в общую базу данных... это также позволит вам хранить метаданные вместе с ними.

person danb    schedule 13.10.2008