java的loadonstartup_Java Wrapper.setLoadOnStartup方法代码示例

import org.apache.catalina.Wrapper; //导入方法依赖的package包/类

private void makeContext(Tomcat tomcat, Path noSuchBaseDir) throws IOException {

Path contextPath = noSuchBaseDir.resolve("context");

Files.createDirectories(contextPath);

context = tomcat.addContext(contextPathURIBase, contextPath.toAbsolutePath().toString());

context.setWebappVersion("3.1");

context.setName("Oryx");

context.addWelcomeFile("index.html");

addErrorPages(context);

// OryxApplication only needs one config value, so just pass it

context.addParameter(OryxApplication.class.getName() + ".packages", appResourcesPackages);

// ModelManagerListener will need whole config

String serializedConfig = ConfigUtils.serialize(config);

context.addParameter(ConfigUtils.class.getName() + ".serialized", serializedConfig);

Wrapper wrapper =

Tomcat.addServlet(context, "Jersey", "org.glassfish.jersey.servlet.ServletContainer");

wrapper.addInitParameter("javax.ws.rs.Application", OryxApplication.class.getName());

//wrapper.addInitParameter(OryxApplication.class.getName() + ".packages", appResourcesPackage);

wrapper.addMapping("/*");

wrapper.setLoadOnStartup(1);

wrapper.setMultipartConfigElement(new MultipartConfigElement(""));

if (!doNotInitTopics) { // Only for tests

context.addApplicationListener(ModelManagerListener.class.getName());

}

// Better way to configure JASPIC?

AuthConfigFactory.setFactory(new AuthConfigFactoryImpl());

boolean needHTTPS = keystoreFile != null;

boolean needAuthentication = userName != null;

if (needHTTPS || needAuthentication) {

SecurityCollection securityCollection = new SecurityCollection();

securityCollection.addPattern("/*");

SecurityConstraint securityConstraint = new SecurityConstraint();

securityConstraint.addCollection(securityCollection);

if (needHTTPS) {

securityConstraint.setUserConstraint("CONFIDENTIAL");

}

if (needAuthentication) {

LoginConfig loginConfig = new LoginConfig();

loginConfig.setAuthMethod("DIGEST");

loginConfig.setRealmName(InMemoryRealm.NAME);

context.setLoginConfig(loginConfig);

securityConstraint.addAuthRole(InMemoryRealm.AUTH_ROLE);

context.addSecurityRole(InMemoryRealm.AUTH_ROLE);

DigestAuthenticator authenticator = new DigestAuthenticator();

authenticator.setNonceValidity(10 * 1000L); // Shorten from 5 minutes to 10 seconds

authenticator.setNonceCacheSize(20000); // Increase from 1000 to 20000

context.getPipeline().addValve(authenticator);

}

context.addConstraint(securityConstraint);

}

context.setCookies(false);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值