List of usage examples for org.apache.shiro.web.env EnvironmentLoader CONFIG_LOCATIONS_PARAM
String CONFIG_LOCATIONS_PARAM
To view the source code for org.apache.shiro.web.env EnvironmentLoader CONFIG_LOCATIONS_PARAM.
Click Source Link
From source file:annis.service.internal.AnnisServiceRunner.java
License:Apache License
private void createWebServer() { // create beans ctx = new GenericXmlApplicationContext(); ctx.setValidating(false);//from ww w.jav a2 s . c o m AnnisXmlContextHelper.prepareContext(ctx); ctx.load("file:" + Utils.getAnnisFile("conf/spring/Service.xml").getAbsolutePath()); ctx.refresh(); ResourceConfig rc = new PackagesResourceConfig("annis.service.internal", "annis.provider", "annis.rest.provider"); final IoCComponentProviderFactory factory = new SpringComponentProviderFactory(rc, ctx); int port = overridePort == null ? ctx.getBean(QueryServiceImpl.class).getPort() : overridePort; try { // only allow connections from localhost // if the administrator wants to allow external acccess he *has* to // use a HTTP proxy which also should use SSL encryption InetSocketAddress addr = new InetSocketAddress("localhost", port); server = new Server(addr); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); context.setContextPath("/"); server.setHandler(context); server.setThreadPool(new ExecutorThreadPool()); ServletContainer jerseyContainer = new ServletContainer(rc) { @Override protected void initiate(ResourceConfig rc, WebApplication wa) { wa.initiate(rc, factory); } }; ServletHolder holder = new ServletHolder(jerseyContainer); context.addServlet(holder, "/*"); context.setInitParameter(EnvironmentLoader.ENVIRONMENT_CLASS_PARAM, MultipleIniWebEnvironment.class.getName()); if (useAuthentification) { log.info("Using authentification"); context.setInitParameter(EnvironmentLoader.CONFIG_LOCATIONS_PARAM, "file:" + System.getProperty("annis.home") + "/conf/shiro.ini," + "file:" + System.getProperty("annis.home") + "/conf/develop_shiro.ini"); } else { log.warn("*NOT* using authentification, your ANNIS service *IS NOT SECURED*"); context.setInitParameter(EnvironmentLoader.CONFIG_LOCATIONS_PARAM, "file:" + System.getProperty("annis.home") + "/conf/shiro_no_security.ini"); } EnumSet<DispatcherType> gzipDispatcher = EnumSet.of(DispatcherType.REQUEST); context.addFilter(GzipFilter.class, "/*", gzipDispatcher); // configure Apache Shiro with the web application context.addEventListener(new EnvironmentLoaderListener()); EnumSet<DispatcherType> shiroDispatchers = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.INCLUDE, DispatcherType.ERROR); context.addFilter(ShiroFilter.class, "/*", shiroDispatchers); } catch (IllegalArgumentException ex) { log.error("IllegalArgumentException at ANNIS service startup", ex); isShutdownRequested = true; errorCode = 101; } catch (NullPointerException ex) { log.error("NullPointerException at ANNIS service startup", ex); isShutdownRequested = true; errorCode = 101; } catch (AnnisRunnerException ex) { errorCode = ex.getExitCode(); } }