/* | |
* Licensed to the Apache Software Foundation (ASF) under one or more | |
* contributor license agreements. See the NOTICE file distributed with | |
* this work for additional information regarding copyright ownership. | |
* The ASF licenses this file to You under the Apache License, Version 2.0 | |
* (the "License"); you may not use this file except in compliance with | |
* the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
EMBEDDING KARAF IN A WEB APPLICATION | |
==================================== | |
Purpose | |
------- | |
Embed Karaf in a web application. | |
Prerequisites for Running the Example | |
------------------------------------- | |
You must have the following installed on your machine: | |
- JDK 1.5 or higher | |
- Maven 2.0.9 or higher | |
Building and Deploying | |
---------------------- | |
You can build and deploy this example in two ways: | |
- A. Using Jetty: Quick and Easy | |
This option is useful if you want to see the example up and | |
running quickly. | |
- B. Using Your Favorite Web Container | |
This option is useful if you want to see Karaf running | |
as a web application inside your favorite web container. | |
A. Using Jetty: Quick and Easy | |
------------------------------ | |
To build the example and deploy to Jetty, complete the | |
following steps: | |
1. In a command prompt/shell, change to the directory | |
that contains this README.txt file. | |
2. Enter the following Maven command: | |
mvn package jetty:run | |
This Maven command builds the example web application, starts | |
Jetty and deploys the web application to Jetty. Once complete, | |
you should see the following printed to the console: | |
[INFO] Started Jetty Server | |
[INFO] Starting scanner at interval of 10 seconds. | |
Running a Client | |
---------------- | |
To test the example, you can use the Apache Felix Karaf client | |
to connect to the server and issue a Karaf command. For example, | |
try executing the "features:list" command as follows: | |
1. In a command prompt/shell, change to your product | |
installation directory. | |
2. Run the following command: | |
java -jar lib/karaf-client.jar features:list | |
In this case, you should see output similar to the following: | |
[uninstalled] [2.5.6.SEC01 ] spring karaf-${version} | |
[uninstalled] [1.2.0 ] spring-dm karaf-${version} | |
[uninstalled] [1.1.0.1-fuse-SNAPSHOT] wrapper karaf-${version} | |
[uninstalled] [1.1.0.1-fuse-SNAPSHOT] obr karaf-${version} | |
[uninstalled] [1.1.0.1-fuse-SNAPSHOT] http karaf-${version} | |
[uninstalled] [1.1.0.1-fuse-SNAPSHOT] webconsole karaf-${version} | |
[installed ] [1.1.0.1-fuse-SNAPSHOT] ssh karaf-${version} | |
[installed ] [1.1.0.1-fuse-SNAPSHOT] management karaf-${version} | |
B. Using Your Favorite Web Container | |
------------------------------------ | |
You can deploy the web application to your favorite web | |
container, by completing the following steps: | |
1. In a command prompt/shell, change to the directory | |
that contains this README.txt file. | |
2. Enter the following command: | |
mvn package | |
Maven builds the web application, web-${version}.war, and | |
saves it in the target directory of this example. Deploy this | |
WAR file to your favorite web container. Once the application | |
is running, you can test it using the Apache Felix Karaf client | |
as described in the "Running a Client" section above. |