Interface GlassFish


public interface GlassFish
Represents a GlassFish instance and provides the ability to:
  • perform life cycle operations viz., start, stop and dispose.
  • access Deployer to deploy/undeploy applications.
  • access CommandRunner to perform runtime configurations.
  • access to available service(s).

Usage example:


        /** Create and start GlassFish */
        GlassFish glassfish = GlassFishRuntime.bootstrap().newGlassFish();
        glassfish.start();

        /** Deploy a web application simple.war with /hello as context root. */
        Deployer deployer = glassfish.getService(Deployer.class);
        String deployedApp = deployer.deploy(new File("simple.war").toURI(),
                "--contextroot=hello", "--force=true");

        /** Run commands (as per your need). Here is an example to create a http listener and dynamically set its thread pool size. */
        CommandRunner commandRunner = glassfish.getService(CommandRunner.class);

        // Run a command create 'my-http-listener' to listen at 9090
        CommandResult commandResult = commandRunner.run(
                "create-http-listener", "--listenerport=9090",
                "--listeneraddress=0.0.0.0", "--defaultvs=server",
                "my-http-listener");

        // Run a command to create your own thread pool
        commandResult = commandRunner.run("create-threadpool",
                "--maxthreadpoolsize=200", "--minthreadpoolsize=200",
                "my-thread-pool");

        // Run a command to associate my-thread-pool with my-http-listener
        commandResult = commandRunner.run("set",
                "server.network-config.network-listeners.network-listener." +
                        "my-http-listener.thread-pool=my-thread-pool");

        /** Undeploy the application */
        deployer.undeploy(deployedApp);

        /**Stop GlassFish.*/
        glassfish.stop();

        /** Dispose GlassFish. */
        glassfish.dispose();
 
Author:
Sanjeeb.Sahoo@Sun.COM
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Represents the status of GlassFish.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Call this method if you don't need this GlassFish instance any more.
    Gets a CommandRunner instance, using which the user can run asadmin commands.
    Gets a Deployer instance to deploy an application.
    <T> T
    getService(Class<T> serviceType)
    A service has a service interface and optionally a name.
    <T> T
    getService(Class<T> serviceType, String serviceName)
    A service has a service interface and optionally a name.
    Get the current status of GlassFish.
    void
    Start GlassFish.
    void
    Stop GlassFish.
  • Method Details

    • start

      void start() throws GlassFishException
      Start GlassFish. When this method is called, all the lifecycle (aka startup) services are started. Calling this method while the server is in GlassFish.Status.STARTED state is a no-op.
      Throws:
      GlassFishException - if server can't be started for some unknown reason.
    • stop

      void stop() throws GlassFishException
      Stop GlassFish. When this method is called, all the lifecycle (aka startup) services are stopped. GlassFish can be started again by calling the start method. Calling this method while the server is in GlassFish.Status.STARTED state is a no-op.
      Throws:
      GlassFishException - if server can't be started for some unknown reason.
    • dispose

      void dispose() throws GlassFishException
      Call this method if you don't need this GlassFish instance any more. This method will stop GlassFish if not already stopped. After this method is called, calling any method except getStatus() on the GlassFish object will cause an IllegalStateException to be thrown. When this method is called, any resource (like temporary files, threads, etc.) is also released.
      Throws:
      GlassFishException
    • getStatus

      Get the current status of GlassFish.
      Returns:
      Status of GlassFish
      Throws:
      GlassFishException
    • getService

      <T> T getService(Class<T> serviceType) throws GlassFishException
      A service has a service interface and optionally a name. For a service which is just a class with no interface, then the service class is the service interface. This method is used to look up a service.
      Type Parameters:
      T -
      Parameters:
      serviceType - type of component required.
      Returns:
      Return a service matching the requirement, null if no service found.
      Throws:
      GlassFishException
    • getService

      <T> T getService(Class<T> serviceType, String serviceName) throws GlassFishException
      A service has a service interface and optionally a name. For a service which is just a class with no interface, then the service class is the service interface. This method is used to look up a service.
      Type Parameters:
      T -
      Parameters:
      serviceType - type of component required.
      serviceName - name of the component.
      Returns:
      Return a service matching the requirement, null if no service found.
      Throws:
      GlassFishException
    • getDeployer

      Deployer getDeployer() throws GlassFishException
      Gets a Deployer instance to deploy an application. Each invocation of this method returns a new Deployer object. Calling this method is equivalent to calling getService(Deployer.class, null)
      Returns:
      A new Deployer instance
      Throws:
      GlassFishException
    • getCommandRunner

      CommandRunner getCommandRunner() throws GlassFishException
      Gets a CommandRunner instance, using which the user can run asadmin commands. Calling this method is equivalent to calling getService(CommandRunner.class, null) Each invocation of this method returns a new CommandRunner object.
      Returns:
      a new CommandRunner instance
      Throws:
      GlassFishException