This example shows code for the following:
Using the existing file c:\myapp\embeddedserver\domains\domain1\config\domain.xml and preserving this file when the application is stopped.
Deploying an application from the archive file c:\samples\simple.war.
The files that this example uses are organized as follows:
c:\myapp\embeddedserver\lib\glassfish-embedded-all.jar
c:\myapp\embeddedserver\domains\domain1\config\domain.xml
c:\myapp\embeddedserver\domains\domain1\logs
c:\myapp\embeddedserver\domains\domain1\docroot
import java.io.File;
import java.io.BufferedReader;
import org.glassfish.api.deployment.*;
import org.glassfish.api.embedded.*;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
File installDir = new File ("c:\\myapp\\embeddedserver");
File war = new File("c:\\samples\\simple.war");
try {
Server.Builder builder = new Server.Builder("test");
...
EmbeddedFileSystem.Builder efsb = new EmbeddedFileSystem.Builder();
efsb.autoDelete(false);
efsb.installRoot(installDir);
EmbeddedFileSystem efs = efsb.build();
builder.embeddedFileSystem(efs);
...
Server server = builder.build();
server.addContainer(ContainerBuilder.Type.web);
server.createPort(8080);
server.start();
EmbeddedDeployer deployer = server.getDeployer();
DeployCommandParameters params = new DeployCommandParameters();
deployer.deploy(war, params);
}
catch (Exception e) {
e.printStackTrace();
}
System.out.println("Press Enter to stop server");
// wait for Enter
new BufferedReader(new java.io.InputStreamReader(System.in)).readLine();
try {
deployer.undeployAll();
server.stop();
}
catch (Exception e) {
e.printStackTrace();
}
}
}