Class QApplicationJavalinServer

java.lang.Object
com.kingsrook.qqq.middleware.javalin.QApplicationJavalinServer

public class QApplicationJavalinServer extends Object
Second-generation qqq javalin server. An evolution over the original QJavalinImplementation, which both managed the javalin instance itself, but also provided all of the endpoint handlers... This class instead just configures invalid input: '&' starts the server. Makes several setters available, to let application-developer choose what standard qqq endpoints are served (e.g., frontend-material-dashboard, the legacy-unversioned middleware, newer versioned-middleware, and additional qqq modules or application-defined services (both provided as instances of QJavalinRouteProviderInterface). System property `qqq.javalin.hotSwapInstance` (defaults to false), causes the QInstance to be re-loaded every X millis, to avoid some server restarts while doing dev.
  • Constructor Details

    • QApplicationJavalinServer

      public QApplicationJavalinServer(AbstractQQQApplication application)
      Constructor
  • Method Details

    • start

      public void start() throws QException
      Throws:
      QException
    • stop

      public void stop()
    • hotSwapQInstance

      public void hotSwapQInstance()
      If there's a qInstanceHotSwapSupplier, and its been a little while, replace the qInstance with a new one from the supplier. Meant to be used while doing development.
    • getPort

      public Integer getPort()
      Getter for port
    • setPort

      public void setPort(Integer port)
      Setter for port
    • withPort

      public QApplicationJavalinServer withPort(Integer port)
      Fluent setter for port
    • setMillisBetweenHotSwaps

      public void setMillisBetweenHotSwaps(long millisBetweenHotSwaps)
    • getServeFrontendMaterialDashboard

      public boolean getServeFrontendMaterialDashboard()
      Getter for serveFrontendMaterialDashboard
    • setServeFrontendMaterialDashboard

      public void setServeFrontendMaterialDashboard(boolean serveFrontendMaterialDashboard)
      Setter for serveFrontendMaterialDashboard
    • withServeFrontendMaterialDashboard

      public QApplicationJavalinServer withServeFrontendMaterialDashboard(boolean serveFrontendMaterialDashboard)
      Fluent setter for serveFrontendMaterialDashboard
    • getServeLegacyUnversionedMiddlewareAPI

      public boolean getServeLegacyUnversionedMiddlewareAPI()
      Getter for serveLegacyUnversionedMiddlewareAPI
    • setServeLegacyUnversionedMiddlewareAPI

      public void setServeLegacyUnversionedMiddlewareAPI(boolean serveLegacyUnversionedMiddlewareAPI)
      Setter for serveLegacyUnversionedMiddlewareAPI
    • withServeLegacyUnversionedMiddlewareAPI

      public QApplicationJavalinServer withServeLegacyUnversionedMiddlewareAPI(boolean serveLegacyUnversionedMiddlewareAPI)
      Fluent setter for serveLegacyUnversionedMiddlewareAPI
    • getMiddlewareVersionList

      public List<AbstractMiddlewareVersion> getMiddlewareVersionList()
      Getter for middlewareVersionList
    • setMiddlewareVersionList

      public void setMiddlewareVersionList(List<AbstractMiddlewareVersion> middlewareVersionList)
      Setter for middlewareVersionList
    • withMiddlewareVersionList

      public QApplicationJavalinServer withMiddlewareVersionList(List<AbstractMiddlewareVersion> middlewareVersionList)
      Fluent setter for middlewareVersionList
    • getAdditionalRouteProviders

      public List<QJavalinRouteProviderInterface> getAdditionalRouteProviders()
      Getter for additionalRouteProviders
    • setAdditionalRouteProviders

      public void setAdditionalRouteProviders(List<QJavalinRouteProviderInterface> additionalRouteProviders)
      Setter for additionalRouteProviders
    • withAdditionalRouteProviders

      public QApplicationJavalinServer withAdditionalRouteProviders(List<QJavalinRouteProviderInterface> additionalRouteProviders)
      Fluent setter for additionalRouteProviders
    • withAdditionalRouteProvider

      public QApplicationJavalinServer withAdditionalRouteProvider(QJavalinRouteProviderInterface additionalRouteProvider)
      Fluent setter to add a single additionalRouteProvider
    • getMillisBetweenHotSwaps

      public long getMillisBetweenHotSwaps()
      Getter for MILLIS_BETWEEN_HOT_SWAPS
    • withMillisBetweenHotSwaps

      public QApplicationJavalinServer withMillisBetweenHotSwaps(long millisBetweenHotSwaps)
      Fluent setter for MILLIS_BETWEEN_HOT_SWAPS
    • getHotSwapCustomizer

      public Consumer<QInstance> getHotSwapCustomizer()
      Getter for hotSwapCustomizer
    • setHotSwapCustomizer

      public void setHotSwapCustomizer(Consumer<QInstance> hotSwapCustomizer)
      Setter for hotSwapCustomizer
    • withHotSwapCustomizer

      public QApplicationJavalinServer withHotSwapCustomizer(Consumer<QInstance> hotSwapCustomizer)
      Fluent setter for hotSwapCustomizer
    • getJavalinConfigurationCustomizer

      public Consumer<io.javalin.Javalin> getJavalinConfigurationCustomizer()
      Getter for javalinConfigurationCustomizer
    • setJavalinConfigurationCustomizer

      public void setJavalinConfigurationCustomizer(Consumer<io.javalin.Javalin> javalinConfigurationCustomizer)
      Setter for javalinConfigurationCustomizer
    • withJavalinConfigurationCustomizer

      public QApplicationJavalinServer withJavalinConfigurationCustomizer(Consumer<io.javalin.Javalin> javalinConfigurationCustomizer)
      Fluent setter for javalinConfigurationCustomizer
    • getJavalinMetaData

      public QJavalinMetaData getJavalinMetaData()
      Getter for javalinMetaData
    • setJavalinMetaData

      public void setJavalinMetaData(QJavalinMetaData javalinMetaData)
      Setter for javalinMetaData
    • withJavalinMetaData

      public QApplicationJavalinServer withJavalinMetaData(QJavalinMetaData javalinMetaData)
      Fluent setter for javalinMetaData