Eclipse WTP vs sydeo, "обслуговує модулі без публікації"


103

У мене є проблема знайти продуктивність плагіна sysdeo, використовуючи інтегрований плагін WTP eclipse.

Щоб зробити міграцію і, таким чином, порівняння, я встановив обидва на окремі проекти в межах затемнення.

Я помітив різницю в продуктивності, відповідно до того, що я зрозумів: WTP потрібно публікувати джерела в збірці каталогів, щоб tomcat мав їх за домовленістю. Цей "пульс" довгий: потрібна перезарядка контексту, щоб зміни були видні. (5 сухих у більшості дворів 15 сек - найдовше 20 секунд).

Sysdeo ні; тому цілі директора eclipse, таким чином, будують внутрішній проект, як тільки модифікація робиться файлом, збирання eclipse і ці зміни доступні негайно (F5 у браузері, і результат ми отримуємо негайно).

Ось моя конфігурація сервера:

Параметр "Обслуговує модулі без публікації" дозволяє зробити саме те, що робить sydeo: вибрати каталог збірки запущеного проекту. Ця конфігурація виражається у файлі контексту. (Потрібно отримати його назад, що я поставив прапорець "Опублікувати модуляції контекстів для розділення рядків XML")

Порівняння цих файлів:

  • Ось файл контексту для генерації sysdeo
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • Контекст файлу для генерації за допомогою WTP

<? xml version = "1.0" encoding = "UTF-8"?> <Контекст docBase = "D: \ 32bit \ serveur32bit \ робоча область \ tatoile \ web" path = "/ tatoile" reloadable = "true" source = "org .eclipse.jst.jee.server: tatoile "> <Ресурси className =" org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths =" / WEB-INF / класи | D: \ 32bit \ serveur32bit \ робоча область \ tatoile \ build \ class "virtualClasspath =" D: \ 32bit \ serveur32bit \ робоча область \ tatoile \ build \ class "/> <Loader className =" org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent =" false " virtualClasspath = "D: \ 32bit \ serveur32bit \ робоча область \ tatoile \ build \ class" /> <JarScanner scanAllDirectories = "true" /> </ Context>

Пізніше проаналізуйте ці два файли однаково.

Тепер повернемося до проблеми. Я використовую один і той же сервер, тому обидва файли контексту визначені вище для цього. Досвід: я запускаю tomcat за допомогою плагіна sysdeo, навантаження в двох контекстах робиться одним для налаштування способу WTP, а іншим - sysdeo. Обидві органи влади реагують однаково, модифікації є негайними у татуюванні _syseo та tatoile.

З іншого боку, я запускаю tomcat через плагін WTP (сервер табуляторів тощо) у затемненні, модифікації не одразу вносяться в обидва проекти tatoile _syseo та tatoile. Примітка: автоматичне перезавантаження повинно бути обов'язково введено увімкнено, щоб зміни були враховані. (Коли сервер вказує нам, що він перезавантажив контекст, ми можемо побачити модифікації.)

введіть тут опис зображення

Я вважаю, що конфігурація контекстів не є причиною, а швидше способом запуску плагіна tomcat; і там або я сушу ...

Ось проект WTP:

введіть тут опис зображення


5
У вас є проблеми на Sysdeo або WTP? OTOH Напевно WTP знадобиться більше часу для змін, оскільки це те, що він зробить для повторної публікації: (1) збірки класів (2) нерозгортання старого веб-додатка (3) результат копіювання збірки в папку розгортання tomcat (4) tomcat автоматично запустить додаток Тим часом із системою sysdeo, класи в оперативній пам’яті змінюються на льоту, як тільки відбудуться зміни (ідентифікуються за новою датою у файлах будь-яких класів). Тоді є деякі обмеження змін, які неможливо здійснити на ходу (коли ви додаєте нові методи, структура класу також змінюється), і в цьому випадку це попередить.

Я використовував і Sysdeo, і WTP в одному проекті. Найбільш суттєва різниця, яку я помітив, полягала в тому, що конфігурація Sysdeo мені здавалася легшою, але це може бути упередженим.
Маркус

2
Проблему було вирішено, додавши MAVEN з розгортанням WTP. Немає проблем із продуктивністю. Немає проблем із продуктивністю, і я не
активую

1
Якщо ви вирішили проблему, можете опублікувати відповідь?
Анубіан Нооб

@AnubianNoob так, коли я пояснив у своєму попередньому дописі. Я вирішив проблему за допомогою конфігурації Maven.
Вспліт

Відповіді:


3

Відповідь цитується з @Vsplit

Проблему було вирішено, додавши MAVEN з розгортанням WTP. Немає проблем із продуктивністю ... і я не активую сервісні модулі без публікації


-1 Це не відповідь. будь ласка, додайте відповідь з більш детальною інформацією.
Ісаак Г Сіваа

1
Здрастуйте, я дуже хочу отримати відповідь. Але, як ви зауважили, я не можу вирішити плагін Sysdeo щодо проблеми Issus. Але я використовую плагін Maven з розгортанням WTP. Ви можете ознайомитись із цим зразком підручника youtube.com/watch?v=YeC7XQho-O0
Vsplit

2

шукайте на ринку плагінів безкоштовний плагін під назвою m2e-wtp. Це допоможе вирішити питання щодо сфери застосування. Що стосується класів, які не розгортаються, то звичайні місця, на які я дивлюсь, - це складання розгортання та / або Java Build Path. Переконайтесь, що записи (та залежні модулі) всі там і розташовані в потрібному місці.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.