Libertyスタンドアロン貨物コンテナは自動的にサーバーを作成するため、APIを作成する必要はありません。サーバー名はオーバーライドすることはできず、defaultServerと呼ばれます。
アプリケーションをデプロイする、またはサーバーを起動および停止するには、通常のJava APIを使用できます。 codehause cargoのウェブサイトには、Java APIを使用してJUnit testを書くためのコード例がいくつかあります。私は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();
プロパティは、インターフェイスを使用して設定できます。右のキーを使用してsetPropertyValueを呼び出します。プロパティーキーは、GeneralPropertySetのような定数インターフェースで使用できます。
コンテキスト名とサーバー名はどういう意味ですか?理論的には、Liberty貨物コンテナは、標準の貨物プロパティをサポートする他のアプリケーションサーバーの例に代わるものでなければなりません。コンテナは、デフォルトのサーバーをダウンロード、インストール、作成して構成します。コンテナが存在しない既存のサーバーを使用する場合は、私はそれが "インストールされたコンテナの既存のローカル設定"ではなく、 "インストールされたコンテナのためのスタンドアロンローカル設定"だと思う。 – Alasdair
@Alasdair:私は質問を更新した。 – wilx