Использование Maven для развертывания в Weblogic кластерах
org.codehaus.mojo weblogic-maven-plugin 2.9.1
В настоящее время мы успешно используем плагин weblogic maven для развертывания в наших локальных экземплярах WebLogic 9.2.
Когда мы пытаемся выполнить развертывание в удаленной среде, у нас возникает проблема. Мы используем кластер из двух машин, с сервером администрирования и управляемым сервером на одной машине, и другим управляемым сервером на отдельной машине.
Когда ваш плагин загружает приложение на сервер администратора, он не копирует его на второй управляемый сервер на отдельном компьютере. Это приводит к возникновению проблемы со вторым управляемым сервером, поскольку он не может найти приложение в том месте, где сервер администратора сохранил его на своей машине.
Конфиг ниже
<configuration>
<adminServerHostName>${weblogic.adminServerHostName}</adminServerHostName>
<adminServerPort>${weblogic.adminServerPort}</adminServerPort>
<adminServerProtocol>${weblogic.adminServerProtocol}</adminServerProtocol>
<userId>${weblogic.userId}</userId>
<password>${weblogic.password}</password>
<upload>${weblogic.upload}</upload>
<remote>${weblogic.remote}</remote>
<verbose>${weblogic.verbose}</verbose>
<debug>${weblogic.debug}</debug>
<stage>${weblogic.stage}</stage>
<targetNames>${weblogic.targetNames}</targetNames>
<exploded>${weblogic.exploded}</exploded>
</configuration>
<profile>
<id>localhost</id>
<properties>
<weblogic.adminServerHostName>localhost</weblogic.adminServerHostName>
<weblogic.adminServerPort>7001</weblogic.adminServerPort>
<weblogic.adminServerProtocol>t3</weblogic.adminServerProtocol>
<weblogic.userId>weblogic</weblogic.userId>
<weblogic.password>weblogic</weblogic.password>
<weblogic.upload>false</weblogic.upload>
<weblogic.remote>false</weblogic.remote>
<weblogic.verbose>true</weblogic.verbose>
<weblogic.debug>true</weblogic.debug>
<weblogic.stage>false</weblogic.stage>
<weblogic.targetNames>AdminServer</weblogic.targetNames>
<weblogic.exploded>false</weblogic.exploded>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<weblogic.adminServerHostName>******</weblogic.adminServerHostName>
<weblogic.adminServerPort>9141</weblogic.adminServerPort>
<weblogic.adminServerProtocol>t3</weblogic.adminServerProtocol>
<weblogic.userId>******</weblogic.userId>
<weblogic.password>******</weblogic.password>
<weblogic.upload>true</weblogic.upload>
<weblogic.remote>true</weblogic.remote>
<weblogic.verbose>true</weblogic.verbose>
<weblogic.debug>true</weblogic.debug>
<weblogic.stage>true</weblogic.stage>
<weblogic.targetNames>dev_cluster01</weblogic.targetNames>
<weblogic.exploded>false</weblogic.exploded>
</properties>
</profile>
1 ответ
Это может не относиться, потому что мой опыт был только с WebLogic 10, но...
Убедитесь, что кластер настроен правильно, потому что это должен быть WebLogic (не Maven или какой-либо плагин), который отвечает за распространение развернутого приложения на каждый управляемый сервер. Плагин maven должен развертываться только на сервере администратора, а WebLogic обрабатывает все остальные приемы, чтобы убедиться, что каждый управляемый сервер, о котором он знает, также будет развернут в приложении. Я не думаю, что тот факт, что вы используете MOJO, имеет значение.
Кроме того, убедитесь, что NodeManager настроен правильно и работает. NodeManager (по крайней мере, в WebLogic 10) отвечает за все взаимодействие между узлами. Это может быть случай, когда ваш процесс NodeManager завис или остановлен на управляемом сервере, который не получает приложение. Это, однако, маловероятно, если вы попытались выполнить развертывание с консоли администратора, которое, как вы заявили, вы попробовали в своих комментариях к исходному вопросу.
Надеюсь, это приведет вас в правильном направлении.