Home > Documentation > Developing > Tutorials > Developing application clients > Deploying and running Java EE application client |
You can create an application client that runs in the Apache Geronimo application client container rather than running in your local Java environment. The main purpose of the Geronimo client application container is to provide a standard set of services to a client program without forcing the client application to specify a list of dependencies - in other words ease-of-development. The client code can lookup Geronimo components such as resources, EJBs, and connectors via standard JNDI lookup. This example creates the simplest application client that can talk to a Geronimo server and place a message in the Geronimo console.
client/MainClient.java
package client; public class MainClient { /** * @param args ignored */ public static void main(String[] args){ System.out.println ("CLIENT RUNNING..."); } }
META-INF/application-client.xml
<?xml version="1.0"?> <application-client xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee [http://java.sun.com/xml/ns/j2ee/applicationclient_1_4.xsd]" version="1.4"> <display-name>EXAMPLE Client</display-name> </application-client>
META-INF/geronimo-application-client.xml
You need to define two modules, one for client side and one for server side. EXAMPLEClientServer is the component that always its going to be running on the server, and EXAMPLEClient is the component that you are going to run on the client from client.jar
.
<?xml version="1.0"?> <application-client xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0" xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"> <dep:client-environment> <dep:moduleId> <dep:groupId>JEE5</dep:groupId> <dep:artifactId>EXAMPLEClient</dep:artifactId> <dep:version>2.1</dep:version> <dep:type>car</dep:type> </dep:moduleId> </dep:client-environment> <dep:server-environment> <dep:moduleId> <dep:groupId>JEE5</dep:groupId> <dep:artifactId>EXAMPLEClientServer</dep:artifactId> <dep:version>2.1</dep:version> <dep:type>car</dep:type> </dep:moduleId> </dep:server-environment> </application-client>
META-INF/MANIFEST.MF
Manifest-Version: 1.0 Main-Class: client.MainClient \# blank line
MANIFEST
must contain the Main-Class and blank line at the end of the file.app_client.jar
.) and associated files from an application bin folder (in this case D:\workspace2\GERONIMO_APPLICATION\bin
). Run java client/MainClient.java
to create a class file. The jar command -M paramenter indicates the jar file must be created using a MANIFEST.MF
file. Verify that this is correct after create jar file.jar cfM app_client.jar -C D:\workspace2\GERONIMO_APPLICATION\bin . java -jar %GERONIMO_HOME%/bin/deployer.jar --user system --password manager --host localhost undeploy JEE5/EXAMPLEClient/2.1/car java -jar %GERONIMO_HOME%/bin/deployer.jar --user system --password manager --host localhost undeploy JEE5/EXAMPLEClientServer/2.1/car java -jar %GERONIMO_HOME%/bin/deployer.jar --user system --password manager deploy app_client.jar pause
After deploy, you will see the two components into Geronimo Web Console: Applications -> App Clients:
JEE5/EXAMPLEClient/2.1/car state: stopped JEE5/EXAMPLEClientServer/2.1/car state: running
You can run the Application Client with this command:
%GERONIMO_HOME%/bin/client JEE5/EXAMPLEClient/2.1/car
You should notice the application client message in the Geronimo console.
Bookmark this on Delicious Digg this | Privacy Policy - Copyright © 2003-2013, The Apache Software Foundation, Licensed under ASL 2.0. |