2010-01-13 2 views
4

Я получаю эту ошибку при развертывании файлов WAR приложения из моего муравейника с помощью задачи, которая вызывает weblogic.Deployer. Это на Windows XP, сервер не находится в режиме «Производство», на сервере установлено только 2 других WAR, один из которых - только статический контент (файлы web.xml + png/css/javascript), никаких других веб-логических серверов, установленных на ПК , Серверный процессор никогда не превышает 25%. JRockit JVM 1.6.0_05-b13. Файлы JSP предварительно скомпилированы с помощью weblogic.appc и поэтому хранятся в войне как сервлеты (файлы .class). Кроме того, файл WAR составляет около 20 М, включая библиотеки jar, около 500 классов и ~ 200 скомпилированных страниц JSP.Ошибка «Java heap space» при развертывании WAR с ant на Weblogic 10.3

Solutions пытался:

  • перезагрузкой сервера WebLogic несколько раз: No Effect, до сих пор не удается
  • сервер ПК не 2Гб оперативной памяти, так что увеличило Params памяти для сервера Weblogic к -Xms256m -Xmx512m -XX:PermSize=48m -XX:MaxPermSize=256m: Нет эффекта, по-прежнему не удается
  • Deploy через Weblogic консоли: WAR развертывается отлично, поэтому не ошибка в настройке войны
  • использовать скрипт для развертывания на другой сервер: успешная на другой сервер, так что это не ошибка в сценарии
  • -

Я надеюсь, что кто-то видел это раньше или имеет представление о чем-то другом, чтобы попробовать, я смотрел на это часами!

 
deploy-war: 
    [echo] Deploying application... 
    [echo] Deploying application 
    [java] weblogic.Deployer invoked with options: -adminurl t3://corpitdev50ddh11:7001 \ 
       -username weblogic -name 401k_clt-antdeploy -stage \ 
       -upload /opt/appl/hrsapps/401k/client/dist/app/401k_clt.war \ 
       -targets AdminServer -verbose -deploy 
    [java] <Jan 13, 2010 10:41:22 AM EST> <Info> <J2EE Deployment SPI> <BEA-260121> \ 
       <Initiating deploy operation for application, 401k_clt-antdeploy \ 
       [archive: /opt/appl/hrsapps/401k/client/dist/app/401k_clt.war], to AdminServer .> 
    [java] Java heap space 

BUILD FAILED 
/opt/appl/hrsapps/401k/build-macros.xml:601: The following error occurred while executing this line: 
/opt/appl/hrsapps/401k/build-macros.xml:557: Java returned: 1 

ответ

5

Это выглядит так, как будто JVM запустив weblogic.deployer работает из памяти (не сам сервер), и я не уверен, какой ворох PARAMS вы изменили.

Попробуйте изменить муравей сценарий, так что задача запуска WebLogic Deployer присваивается больше пространства кучи:

<java ... fork="true" maxmemory="512m" (or more if required)> 
    ... 
</java> 
+0

Выбор памяти был для сервера, а не для муравьев, перепробовал его сейчас, спасибо за идею! –

+0

Это сделал трюк, maxmemory = "256m" сделал это. Почему Java по-прежнему настаивает на 64-м, поскольку значение по умолчанию превышает меня ... Еще раз спасибо! –

3

Можете ли вы подтвердить, что вы пытались изменить настройки памяти на Ant уровне (например, путем установки переменной среды ANT_OPTS, что-то вроде этого ANT_OPTS=-Xmx1024m).

Для меня, даже если скрипт работает с другим экземпляром weblogic (действительно ли это тот же самый экземпляр btw? Same version? И т. Д.), Это ваш процесс Ant, который исчерпывает память, а не WebLogic (это объясняет, почему перезагрузка WebLogic ничего не меняет и почему развертывание через консоль администратора работает).

+0

Выбор памяти был для сервера, а не для муравьев, перепробовал его сейчас. Различные серверы - это одна и та же версия WL10.3 (такая же установка EXE) и WinXP, но возможно, что некоторые из тысяч вариантов конфигурации WL различны. Спасибо за идеи! –

1

У нас была аналогичная проблема - в нашем случае мы сменили SDK на Java 1.6 с 1.5 и что-то в задаче WLDeploy вызвало бесконечный цикл, который имел в виду, независимо от того, насколько мы занимаем верхнюю часть памяти, мы всегда получали кучу Java-кучи вопрос.