Ошибка «пространства кучи Java» при развертывании WAR с помощью ant в Weblogic 10.3 - PullRequest
5 голосов
/ 13 января 2010

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

Решено попыток:

  • Несколько раз перезагрузить сервер weblogic: безрезультатно, по-прежнему не удается
  • Серверный ПК имеет 2 ГБ оперативной памяти, поэтому параметры памяти для сервера Weblogic увеличены до -Xms256m -Xmx512m -XX:PermSize=48m -XX:MaxPermSize=256m: без эффекта, по-прежнему происходит сбой
  • Развертывание через консоль Weblogic: WAR развертывается нормально, поэтому не является ошибкой в ​​настройке war
  • Использование сценария ant для развертывания на другом сервере: успешно на другом сервере, поэтому в сценарии это не ошибка

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

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

Ответы [ 3 ]

6 голосов
/ 13 января 2010

Похоже, что JVM, на которой запущен weblogic.deployer, не хватает памяти (не самого сервера), и я не уверен, какие параметры кучи вы изменили.

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

<java ... fork="true" maxmemory="512m" (or more if required)>
    ...
</java>
3 голосов
/ 13 января 2010

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

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

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

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

...