Skip to content

Instantly share code, notes, and snippets.

@eltimn
Last active August 29, 2015 14:24
Show Gist options
  • Save eltimn/ee76f653d7949772625c to your computer and use it in GitHub Desktop.
Save eltimn/ee76f653d7949772625c to your computer and use it in GitHub Desktop.
Embedded Jetty example
package code
import java.net.{InetAddress, InetSocketAddress}
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.webapp.WebAppContext
import org.slf4j.LoggerFactory
import net.liftweb.util.Props
import Props.RunModes._
object JettyLauncher extends App {
val logbackConfFile = Props.mode match {
case Production => "production.default.logback.xml"
case Staging => "staging.default.logback.xml"
case _ => "default.logback.xml"
}
System.setProperty("logback.configurationFile", logbackConfFile)
private final lazy val logger = LoggerFactory.getLogger(JettyLauncher.getClass)
logger.info("Starting app in Run Mode: "+Props.mode.toString)
val port = Option(System.getProperty("port")).getOrElse("8080").toInt
val address = new InetSocketAddress(InetAddress.getLoopbackAddress, port)
val server = new Server(address)
val context = new WebAppContext(
getClass.getClassLoader.getResource("webapp").toExternalForm,
"/")
context.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false")
server.setHandler(context)
logger.info("Starting Jetty ...")
server.start
server.join
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment