meecrowave.start(); final String fixedContext = ofNullable(context).orElse(""); final Meecrowave.DeploymentMeta deploymentMeta = new Meecrowave.DeploymentMeta( fixedContext, webapp != null && webapp.isDirectory() ? webapp : null,
new Thread(() -> { try (final Meecrowave meecrowave = new Meecrowave(Cli.create(buildArgs()))) { meecrowave.start().deployClasspath(new Meecrowave.DeploymentMeta("", null, stdCtx -> { stdCtx.setResources(new StandardRoot() {
meecrowave.start(); if (war == null) { meecrowave.deployClasspath(new Meecrowave.DeploymentMeta( ctx, ofNullable(line.getOptionValue("docbase")).map(File::new).orElseGet(() ->
meecrowave.start(); if (war == null) { meecrowave.deployClasspath(new Meecrowave.DeploymentMeta( ctx, ofNullable(line.getOptionValue("docbase")).map(File::new).orElseGet(() ->
@Override public void run() { try { try (final Meecrowave meecrowave = new Meecrowave(create(args)) { @Override protected Connector createConnector() { return new Connector(CustomPefixHttp11NioProtocol.class.getName()); } }) { this.instance = meecrowave; meecrowave.start(); meecrowave.deployClasspath(new Meecrowave.DeploymentMeta("", null, stdCtx -> { stdCtx.setResources(new StandardRoot() { @Override protected void registerURLStreamHandlerFactory() { // no-op: not supported into OSGi since there is already one and it must set a // single time } }); })); doWait(meecrowave, null); } } catch (final Exception e) { throw new IllegalStateException(e); } }
public Meecrowave deployClasspath(final DeploymentMeta meta) { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); final ClassLoader parentLoader = tomcat.getServer().getParentClassLoader(); if (parentLoader.getParent() == classLoader) { classLoader = parentLoader; } final ProvidedLoader loader = new ProvidedLoader(classLoader, configuration.isTomcatWrapLoader()); final Consumer<Context> builtInCustomizer = c -> { c.setLoader(loader); configuration.getInitializers().forEach(i -> c.addServletContainerInitializer(i, emptySet())); }; return deployWebapp(new DeploymentMeta(meta.context, meta.docBase, ofNullable(meta.consumer).map(c -> (Consumer<Context>) ctx -> { builtInCustomizer.accept(ctx); c.accept(ctx); }).orElse(builtInCustomizer))); }
public Meecrowave deployWebapp(final String context, final File warOrDir) { return deployWebapp(new DeploymentMeta(context, warOrDir, null)); }
public Meecrowave deployClasspath(final String context) { return deployClasspath(new DeploymentMeta(context, null, null)); }
public Meecrowave deployClasspath(final DeploymentMeta meta) { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); final ClassLoader parentLoader = tomcat.getServer().getParentClassLoader(); if (parentLoader.getParent() == classLoader) { classLoader = parentLoader; } final ProvidedLoader loader = new ProvidedLoader(classLoader, configuration.isTomcatWrapLoader()); final Consumer<Context> builtInCustomizer = c -> { c.setLoader(loader); configuration.getInitializers().forEach(i -> c.addServletContainerInitializer(i, emptySet())); }; return deployWebapp(new DeploymentMeta(meta.context, meta.docBase, ofNullable(meta.consumer).map(c -> (Consumer<Context>) ctx -> { builtInCustomizer.accept(ctx); c.accept(ctx); }).orElse(builtInCustomizer))); }
public Meecrowave bake(final Consumer<Context> customizer) { start(); return deployClasspath(new DeploymentMeta("", null, customizer)); }
public Meecrowave deployWebapp(final String context, final File warOrDir) { return deployWebapp(new DeploymentMeta(context, warOrDir, null)); }
public Meecrowave deployClasspath(final String context) { return deployClasspath(new DeploymentMeta(context, null, null)); }
public Meecrowave bake(final Consumer<Context> customizer) { start(); return deployClasspath(new DeploymentMeta("", null, customizer)); }
@Override protected AutoCloseable onStart() { final Meecrowave meecrowave = new Meecrowave(configuration); meecrowave.start(); meecrowave.deployClasspath(new Meecrowave.DeploymentMeta(context, docBase, customizer)); return meecrowave; } }
@Override protected AutoCloseable onStart() { final Meecrowave meecrowave = new Meecrowave(configuration); meecrowave.start(); meecrowave.deployClasspath(new Meecrowave.DeploymentMeta(context, docBase, customizer)); return meecrowave; } }