如何为从反射中加载的Resteasy资源提供构造函数参数?

时间:2014-11-29 07:57:00

标签: java servlets resteasy undertow

我正在运行Undertow作为一个简单的Servlet容器。我部署了Resteasy servlet:

    ResteasyDeployment restEasyDeployment = new ResteasyDeployment();

    Reflections reflections = new Reflections("");
    Set<Class<?>> resourceClassSet = reflections.getTypesAnnotatedWith(Path.class);
    restEasyDeployment.getActualResourceClasses().addAll(resourceClassSet);

    ServletInfo servletInfo = Servlets.servlet("RestEasyServlet", HttpServlet30Dispatcher.class);
    servletInfo.setAsyncSupported(true)
            .setLoadOnStartup(1)
            .addMapping("/*");

    DeploymentInfo deploymentInfo = new DeploymentInfo();
    deploymentInfo.setContextPath(path)
                    .addServletContextAttribute(ResteasyDeployment.class.getName(), restEasyDeployment)
                    .addServlet(servletInfo)
                    .setDeploymentName("api")
                    .setClassLoader(ClassLoader.getSystemClassLoader());

    DeploymentManager deploymentManager = Servlets.defaultContainer().addDeployment(deploymentInfo);
    deploymentManager.deploy();

此代码基于this tutorialthis code

如何为Resteasy内部部署的资源提供任何构造参数?

我看到使用静态字段的教程但我想保持依赖性反转以便于测试。在Servlet世界中,正确的做法是将所有内容放在上下文中。

0 个答案:

没有答案