Mirth Running Старый код файла JAR - PullRequest
1 голос
/ 05 января 2011

Это действительно сводит меня с ума.Независимо от того, что я делаю, кажется, что Mirth (1.8.2) использует более старую версию моего JAR-файла;Я знаю из-за различных признаков, таких как:

  • Я не могу вызвать какие-либо функции
  • Зарегистрированная информация не отображается в журналах
  • Изменены сообщения журналане изменяется в файлах журнала
  • Файлы, которые когда-то создавались и записывались в коде, но больше не затрагивались кодом, все еще создаются и записываются

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

  • Запуск сценария ant для создания файла JAR
  • Скопируйте файл JAR в \ lib \ custom
  • Перезапуститеслужба Mirth (через администратора Mirth)

Я попытался перезапустить (служба Mirth через службы, Java, компьютер) - безрезультатно.Я знаю, что мой JAR-файл правильный, потому что я декомпилировал его (чтобы убедиться, что он содержит самый последний код) и хэшировал его (для сравнения с хэшем JAR-файла, созданного муравьем) - он правильный и код есть;это просто не работает.

Я в конце остроумия;это происходит нечасто, но полностью блокирует меня от разработки.

Редактировать: Я также знаю, что мой код правильный, потому что когда я запускаю модульные тесты, он генерирует правильные файлы и вызывает правильные функциии записывает правильную информацию.Кажется, только Мерт «не понимает».

И мои занятия очень просты;простые конструкторы с одним аргументом и несколько открытых методов, которые возвращают различные данные.Ничего сложного, никаких вложенных классов / JAR / зависимостей.

Редактировать: Я даже удалил свой пользовательский файл JAR и перезапустил Mirth, и он все еще выполняет мой код.Круто: / Я добавил награду за этот вопрос.Я подозреваю, что JAR-файл где-то кешируется (хотя они и отрицают это на форумах Mirth), и этот кеш нужно как-то очистить (хотя перезапуск службы Mirth и мой компьютер этого не делает, вне меня).

Я также убил все экземпляры Java (и перезагрузил мой компьютер), поэтому крайне маловероятно, что JVM где-нибудь кеширует JAR.

Я попытался переустановить Mirth. По какой-то причине у меня был свой собственный канал, когда я впервые загрузил администратора;и, к сожалению, он по-прежнему работает со старым JAR, хотя я обновил его новым в lib \ custom.

Ответы [ 2 ]

1 голос
/ 10 января 2011

Я решил решить эту проблему с помощью комбинации действий:

  • Удаление Mirth и Java, а затем переустановка.
  • Я также удалил все установки Java, кроме одной (один JDK иодна JRE).
  • I остановил Mirth при копировании моего JAR. Stop Mirth, копирование и перезапуск;не пытайтесь копировать на живую установку.Он может или не может забрать ваш обновленный JAR в зависимости от того, загружен он в JVM или нет.

Эта комбинация шагов, казалось, работала.До этого у меня было установлено 3-4 JRE (и два JDK), и я копировал (успешно, в соответствии с Windows 7) JAR во время работы Mirth.Теперь это работает!

0 голосов
/ 06 января 2011

Mirth - это приложение J2EE, работающее на простой старой JVM;у вас есть варианты отладки.

Вы можете следовать инструкциям здесь для запуска Mirth Connect через Eclipse.Затем вы можете увидеть путь к классу JVM, вы можете установить точки останова и использовать отладчик.

Mirth основан на Mule ESB.У мула есть свой способ загрузки классов.Вы могли бы исследовать это.

Если Мирт действительно использует старую версию вашего JAR, возможно, где-то есть кешированная версия.Или, может быть, вы внесли некоторые изменения в конфигурацию, о которых забыли - возможно, вы добавили новый каталог для jar-файлов.(Не уверен, как вы это сделаете.)

Мул обращает внимание на переменную окружения с именем MULE_LIB;возможно это уместно.

Похоже, что в Mirth Connect 1.8 и Mirth Connect 2.0 есть разные места для jar-файлов (lib / custom и custom-lib соответственно).Какую версию вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...