Связь между двумя приложениями, работающими в двух разных версиях Tomcat
У меня есть два веб-приложения, работающие на двух разных версиях Tomcat. Приложение 1 находится на Tomcat5, а приложение 2 - на Tomcat6. Есть ли способ, чтобы я мог общаться между этими двумя. Например, если в App2/js/mycode.js есть файл JavaScript, я бы хотел сослаться на него из App1/page/mypage.jsp. Для обоих приложений я определил контекст как -
App1.xml (Tomcat5 \ conf \ Catalina \ localhost)
<Context path="/App1" docBase="C:/eclipse/workspace/App1" debug="0">
</Context>
App2.xml (Tomcat6 \ conf \ Catalina \ localhost)
<Context path="/App2" docBase="C:/eclipse/workspace/App2" debug="0">
</Context>
4 ответа
Если вы разместите сервер Apache перед экземплярами Tomcat, вы можете использовать mod_proxy и mod_rewrite для получения общих URL-адресов для файлов, размещенных на разных серверах.
Если вы работаете в UNIX, вы можете использовать символическую ссылку на файл javascript из одного приложения в другое.
Если вы используете прокси или ajp, монтирующее два приложения за сервером apcache, при условии, что fqdns одинаковы с браузером клиента, все должно быть в порядке.
Вам не нужны два сервера для общения, вы можете просто указать браузеру, чтобы он получал Javascript из другого экземпляра. Например, вы можете добавить это в App1/page/mypage.jsp,
<script language="javascript" type="text/javascript" src="../../App2/js/mycode.js"></script>
Обратите внимание, как относительный URL используется в src. Это предполагает, что вы запускаете оба экземпляра за одним и тем же внешним интерфейсом (Apache или коммутатор). Если вам нужно запустить их на другом хосте или порте, вам просто нужно использовать абсолютный URL.
Еще одно предложение - использовать символическую ссылку для общих каталогов. Это работает для меня в Unix, но я не уверен, работает ли он с ярлыком Windows.