2016-06-16 9 views
1

Я смотрю https://codehaus-cargo.github.io/cargo/WebSphere+Liberty.html, и я скорее зациклился на том, как продолжить (на Java), чтобы создать сервер и установить в него webapp.Как создать сервер и развернуть webapp в WebSphere Liberty с помощью Cargo?

документация (та же страница, как указано выше, в нижней части) упоминает свойства, но это мне не ясно, как отобразить контекстное имя и имя сервера перечисленным свойствам.

Есть ли хороший (или любой) пример о том, как это сделать?

UPDATE

Что я имею в виду, как я могу сделать эквивалент server create myserver команды, а затем mvn liberty:deploy в только что созданный myserver, а затем server start myserver?

+0

Что вы подразумеваете под контентом и именем сервера? Теоретически грузовой контейнер Liberty должен быть заменой для любого примера, который у вас есть для других серверов приложений, которые поддерживают стандартные свойства груза. Контейнер загрузит, установит, создаст сервер по умолчанию и настроит его. Если вы хотите использовать уже существующий сервер, контейнер которого не существует. Я думаю, что это была бы «существующая локальная конфигурация для установленного контейнера», а не «автономная локальная конфигурация для установленного контейнера» – Alasdair

+0

@Alasdair: я обновил вопрос. – wilx

ответ

1

Автономный грузовой контейнер Liberty автоматически создаст сервер, поэтому нет необходимости создавать API. Имя сервера нельзя переопределить и будет вызываться defaultServer.

Чтобы развернуть приложение или запустить и остановить сервер, вы можете использовать обычный Java API. На грузовом сайте Codehause есть примерный код для написания JUnit test с использованием Java API. Я добавил код с настройкой Liberty, и я добавил код для установки корня контекста для приложения.

// (1) Optional step to install the container from a URL pointing to its distribution 
    Installer installer = new ZipURLInstaller(
     new URL("http://repo1.maven.org/maven2/com/ibm/websphere/appserver/runtime/wlp-javaee7/8.5.5.9/wlp-javaee7-8.5.5.9.zip")); 
    installer.install(); 

    // (2) Create the Cargo Container instance wrapping our physical container 
    LocalConfiguration configuration = (LocalConfiguration) new DefaultConfigurationFactory().createConfiguration(
     "liberty", ContainerType.INSTALLED, ConfigurationType.STANDALONE); 
    InstalledLocalContainer container = 
     (InstalledLocalContainer) new DefaultContainerFactory().createContainer(
      "liberty", ContainerType.INSTALLED, configuration); 
    container.setHome(installer.getHome()); 

    // (3) Statically deploy some WAR (optional) 
    WAR war = new WAR("cargo.war"); 
    // (4) Set the context root for the application 
    war.setContext("/myContext"); 
    configuration.addDeployable(war); 

    // (5) Start the container 
    container.start(); 

Свойство может быть установлено с помощью интерфейса LocalConfiguration. Вы можете вызвать setPropertyValue, используя правую клавишу. Ключи свойств доступны на постоянных интерфейсах, таких как GeneralPropertySet.

+0

Слишком плохо, что мы не можем создавать пользовательские именованные серверы, но сервер по умолчанию будет делать это сейчас. Спасибо. Принято. – wilx

+0

Итак, я думаю, что у меня есть основы. Я могу развернуть, но сервер связывается только с адресом loopback, поэтому сервер не доступен снаружи. Я пытался с '*' и с '0.0.0.0' в' slc.setProperty (GeneralPropertySet.HOSTNAME, имя хоста); 'но не было изменений в' usr \ servers \ defaultServer \ server.xml'. – wilx

+0

Если вы поднимете JIRA и назначите его мне, я посмотрю. – Alasdair