Java Code Examples for org.apache.catalina.core.StandardContext#setDelegate()
The following examples show how to use
org.apache.catalina.core.StandardContext#setDelegate() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TomcatServer.java From redisson with Apache License 2.0 | 6 votes |
public TomcatServer(String contextPath, int port, String appBase) throws MalformedURLException, ServletException { if(contextPath == null || appBase == null || appBase.length() == 0) { throw new IllegalArgumentException("Context path or appbase should not be null"); } if(!contextPath.startsWith("/")) { contextPath = "/" + contextPath; } tomcat.setBaseDir("."); // location where temp dir is created tomcat.setPort(port); tomcat.getHost().setAppBase("."); ctx = (StandardContext) tomcat.addWebapp(contextPath, appBase); ctx.setDelegate(true); File additionWebInfClasses = new File("target/test-classes"); StandardRoot resources = new StandardRoot(); DirResourceSet webResourceSet = new DirResourceSet(); webResourceSet.setBase(additionWebInfClasses.toString()); webResourceSet.setWebAppMount("/WEB-INF/classes"); resources.addPostResources(webResourceSet); ctx.setResources(resources); }
Example 2
Source File: SpringBootTomcatPlusIT.java From uavstack with Apache License 2.0 | 5 votes |
public void onDeployUAVApp(Object... args) { if(UAVServer.ServerVendor.SPRINGBOOT!=UAVServer.instance().getServerInfo(CaptureConstants.INFO_APPSERVER_VENDOR)) { return; } Tomcat tomcat=(Tomcat) args[0]; String mofRoot=(String) args[1]; //add uavApp StandardContext context=new StandardContext(); context.setName("com.creditease.uav"); context.setPath("/com.creditease.uav"); context.setDocBase(mofRoot + "/com.creditease.uav"); context.addLifecycleListener(new Tomcat.FixContextListener()); tomcat.getHost().addChild(context); //add default servlet Wrapper servlet = context.createWrapper(); servlet.setServletClass("org.apache.catalina.servlets.DefaultServlet"); servlet.setName("default"); context.addChild(servlet); servlet.setOverridable(true); context.addServletMapping("/", "default"); //init webapp classloader context.setLoader(new WebappLoader(Thread.currentThread().getContextClassLoader())); context.setDelegate(true); //after tomcat8, skip jarscan Object obj=ReflectionHelper.newInstance("org.apache.tomcat.util.scan.StandardJarScanner", Thread.currentThread().getContextClassLoader()); if(obj!=null) { ReflectionHelper.invoke("org.apache.tomcat.util.scan.StandardJarScanner", obj, "setScanAllFiles", new Class<?>[]{Boolean.class}, new Object[] { false}, Thread.currentThread().getContextClassLoader()); ReflectionHelper.invoke("org.apache.tomcat.util.scan.StandardJarScanner", obj, "setScanClassPath", new Class<?>[]{Boolean.class}, new Object[] { false}, Thread.currentThread().getContextClassLoader()); ReflectionHelper.invoke("org.apache.tomcat.util.scan.StandardJarScanner", obj, "setScanAllDirectories", new Class<?>[]{Boolean.class}, new Object[] { false}, Thread.currentThread().getContextClassLoader()); context.setJarScanner((JarScanner) obj); } }
Example 3
Source File: TomcatPlusIT.java From uavstack with Apache License 2.0 | 5 votes |
/** * when use embeddedTomcat and the webappclassloader is undefined, the webappclassloader will use systemclassloader as it's parentclassloader which coundn't load mof jars. * we chg it's parentclassloader to currentThread's contextclassloader(normally it counld load uavmof jars). */ public ClassLoader chgParentClassloader(Object... args) { ClassLoader cl = (ClassLoader) args[0]; StandardContext sc = (StandardContext) args[1]; if (cl != ClassLoader.getSystemClassLoader()) { return cl; } else { sc.setDelegate(true); return Thread.currentThread().getContextClassLoader(); } }
Example 4
Source File: TomcatWsRegistry.java From tomee with Apache License 2.0 | 4 votes |
private static Context createNewContext(final ClassLoader classLoader, String authMethod, String transportGuarantee, final String realmName, final String name) { String path = name; if (path == null) { path = "/"; } if (!path.startsWith("/")) { path = "/" + path; } final StandardContext context = new IgnoredStandardContext(); context.setPath(path); context.setDocBase(""); context.setParentClassLoader(classLoader); context.setDelegate(true); context.setName(name); ((TomcatWebAppBuilder) SystemInstance.get().getComponent(WebAppBuilder.class)).initJ2EEInfo(context); // Configure security if (authMethod != null) { authMethod = authMethod.toUpperCase(); } if (transportGuarantee != null) { transportGuarantee = transportGuarantee.toUpperCase(); } if (authMethod == null || "NONE".equals(authMethod)) { //NOPMD // ignore none for now as the NonLoginAuthenticator seems to be completely hosed } else if ("BASIC".equals(authMethod) || "DIGEST".equals(authMethod) || "CLIENT-CERT".equals(authMethod)) { //Setup a login configuration final LoginConfig loginConfig = new LoginConfig(); loginConfig.setAuthMethod(authMethod); loginConfig.setRealmName(realmName); context.setLoginConfig(loginConfig); //Setup a default Security Constraint final String securityRole = SystemInstance.get().getProperty(TOMEE_JAXWS_SECURITY_ROLE_PREFIX + name, "default"); for (final String role : securityRole.split(",")) { final SecurityCollection collection = new SecurityCollection(); collection.addMethod("GET"); collection.addMethod("POST"); collection.addPattern("/*"); collection.setName(role); final SecurityConstraint sc = new SecurityConstraint(); sc.addAuthRole("*"); sc.addCollection(collection); sc.setAuthConstraint(true); sc.setUserConstraint(transportGuarantee); context.addConstraint(sc); context.addSecurityRole(role); } //Set the proper authenticator if ("BASIC".equals(authMethod)) { context.addValve(new BasicAuthenticator()); } else if ("DIGEST".equals(authMethod)) { context.addValve(new DigestAuthenticator()); } else if ("CLIENT-CERT".equals(authMethod)) { context.addValve(new SSLAuthenticator()); } else if ("NONE".equals(authMethod)) { context.addValve(new NonLoginAuthenticator()); } context.getPipeline().addValve(new OpenEJBValve()); } else { throw new IllegalArgumentException("Invalid authMethod: " + authMethod); } return context; }
Example 5
Source File: TomcatHessianRegistry.java From tomee with Apache License 2.0 | 4 votes |
private static Context createNewContext(final ClassLoader classLoader, final String rAuthMethod, final String rTransportGuarantee, final String realmName, final String name) { String path = name; if (path == null) { path = "/"; } if (!path.startsWith("/")) { path = "/" + path; } final StandardContext context = new IgnoredStandardContext(); context.setPath(path); context.setDocBase(""); context.setParentClassLoader(classLoader); context.setDelegate(true); context.setName(name); TomcatWebAppBuilder.class.cast(SystemInstance.get().getComponent(WebAppBuilder.class)).initJ2EEInfo(context); // Configure security String authMethod = rAuthMethod; if (authMethod != null) { authMethod = authMethod.toUpperCase(); } String transportGuarantee = rTransportGuarantee; if (transportGuarantee != null) { transportGuarantee = transportGuarantee.toUpperCase(); } if (authMethod != null & !"NONE".equals(authMethod)) { if ("BASIC".equals(authMethod) || "DIGEST".equals(authMethod) || "CLIENT-CERT".equals(authMethod)) { //Setup a login configuration final LoginConfig loginConfig = new LoginConfig(); loginConfig.setAuthMethod(authMethod); loginConfig.setRealmName(realmName); context.setLoginConfig(loginConfig); //Setup a default Security Constraint final String securityRole = SystemInstance.get().getProperty(TOMEE_HESSIAN_SECURITY_ROLE_PREFIX + name, "default"); for (final String role : securityRole.split(",")) { final SecurityCollection collection = new SecurityCollection(); collection.addMethod("GET"); collection.addMethod("POST"); collection.addPattern("/*"); collection.setName(role); final SecurityConstraint sc = new SecurityConstraint(); sc.addAuthRole("*"); sc.addCollection(collection); sc.setAuthConstraint(true); sc.setUserConstraint(transportGuarantee); context.addConstraint(sc); context.addSecurityRole(role); } } //Set the proper authenticator switch (authMethod) { case "BASIC": context.addValve(new BasicAuthenticator()); break; case "DIGEST": context.addValve(new DigestAuthenticator()); break; case "CLIENT-CERT": context.addValve(new SSLAuthenticator()); break; case "NONE": context.addValve(new NonLoginAuthenticator()); break; } context.getPipeline().addValve(new OpenEJBValve()); } else { throw new IllegalArgumentException("Invalid authMethod: " + authMethod); } return context; }