2015-12-07 2 views
1

Я реализовал механизм SevletExtention для подбора api. Код подобенПроблема с классом ServletExtension

public class MyServletExtentionClass implements ServletExtension{ 

    @Override 
    public void handleDeployment(final DeploymentInfo deploymentInfo, final ServletContextImpl servletContext) { 
     deploymentInfo.addInitialHandlerChainWrapper(new HandlerWrapper() { 

      @Override 
      public HttpHandler wrap(HttpHandler handler) { 
       return Handlers.path() 
         .addPrefixPath("/", handler) 
         .addPrefixPath("/hello", new MyHandler()); 
      } 
     }); 

    } 
} 

также я добавил файл io.undertow.servlet.ServletExtension под META_INF/услуг с содержанием com.handler.MyServletExtentionClass

Но когда я развернуть войну файл в wildfly. Я получаю исключение, как показано ниже.

jboss.undertow.deployment.default-server.default-host./webapps: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./webapps: Failed to start service 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71] 
Caused by: java.lang.AbstractMethodError 
    at io.undertow.servlet.core.DeploymentManagerImpl.handleExtensions(DeploymentManagerImpl.java:244) 
    at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:149) 
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87) 
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 
    ... 3 more 

ответ

0

попробовать это

... 
import io.undertow.servlet.ServletExtension; 
import javax.enterprise.inject.spi.Extension; 

public class MyServletExtentionClass implements Extension, ServletExtension { 
.... 
Смежные вопросы