wildfly 12 и весенний конфиг java, не работает, ошибка 403 - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь за несколько часов заставить это простое приложение работать на wildfly 12, который отлично работал на tomcat.Все, что ниже, - это лог и конфигурация

Webappinitializer

@Configuration
public class ListenerConfig implements WebApplicationInitializer{

    @Override
    public void onStartup(final ServletContext servletContext) throws ServletException {
        final AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext();
        root.setServletContext(servletContext);
        root.scan("com.app");
        root.refresh();

        final Dynamic servlet = servletContext.addServlet("spring", new DispatcherServlet(root));
        servlet.setLoadOnStartup(1);
        servlet.addMapping("/*");
        servletContext.addListener(new ContextLoaderListener(root));
    }

ApplicationConfig

@Configuration
@ComponentScan(basePackages = "com.app")
@PropertySource(value = { "classpath:jdbc.properties" })
@EnableTransactionManagement
public class ApplicationConfig {

MVCConfig

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter{

    @Override
    public void configureMessageConverters( List<HttpMessageConverter<?>> converters ) {
        converters.add(converter());
    }

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");

        return viewResolver;
    }
    @Bean  
    public UrlBasedViewResolver setupViewResolver() {  
        UrlBasedViewResolver resolver = new UrlBasedViewResolver();  
        resolver.setPrefix("/html/");  
        resolver.setSuffix(".jsp");  
        resolver.setViewClass(JstlView.class);  
        return resolver;  
    }

jboss-deploy-structure.xml

<?xml version="1.0" encoding="UTF-8"?>  
<jboss-deployment-structure>  
    <deployment>  
         <dependencies>  
              <module name="javax.api"/>
              <module name="javax.jms.api"/>
              <module name="javax.servlet.api"/>
              <module name="org.apache.log4j"/>
              <module name="pluto.lib" />  
        </dependencies>  
    </deployment>  
</jboss-deployment-structure>

Примечание. Я не предоставил полный код, при необходимости опубликует его.

Наконец, то, что я получаю в журнале, ниже

22: 36: 39,374 INFO [org.jboss.as.connector.subsystems.datasources] (поток службы MSC 1-2) WFLYJCA0001:Связанный источник данных [java: jboss / datasources / ExampleDS] 22: 36: 40,290 INFO [org.wildfly.extension.undertow] (служебный поток MSC 1-4) WFLYUT0006: прослушивание HTTPS-прослушивателя HTTPS при прослушивании https 127.0.0.1:8443 22:36: 40,504 INFO [org.jboss.ws.common.management] (служебный поток MSC 1-3) JBWS022052: Запуск JBossWS 5.2.0.Final (Apache CXF 3.2.2) 22: 36: 43,005 INFO [org.infinispan.factories.GlobalComponentRegistry] (служебный поток MSC 1-4) ISPN000128: версия Infinispan: Infinispan 'Bastille' 9.1.6. Финал 22: 36: 43 650 INFO [org.jboss.as.clustering.infinispan] (Пул потоков ServerService - 62) WFLYCLINF0002: Запущен кэш клиентских сопоставлений из контейнера ejb 22: 36: 44,314 ИНФО [org.wildfly.extension.undertow] (Пул потоков ServerService - 64) WFLYUT0021: Зарегистрированный веб-контекст: '/ Pluto' для сервера 'default-server' 22: 36: 44,412 INFO [org.jboss.as.server] (Пул потоков ServerService - 37) WFLYSRV0010: Развернуто "Pluto.war" (runtime-name: "Pluto.war" ) 22: 36: 44 857 INFO [org.jboss.as.server] (Поток загрузки контроллера) WFLYSRV0212: Возобновление сервера 22: 36: 44 863 INFO[org.jboss.as] (поток загрузки контроллера) WFLYSRV0060: интерфейс управления Http прослушивает http://127.0.0.1:9990/management 22: 36: 44,863 INFO [org.jboss.as] (поток загрузки контроллера) WFLYSRV0051: прослушивает консоль администратора http://127.0.0.1:9990

Pluto.war - это приложение, и я получаю 403 запрета, я пробовал несколько вещей, Я чувствую, что Jboss вообще не может выбрать сервлет-диспетчер, я использовал пружину с jboss как7.1, но тогда это был конфиг xmlЯ не использую maven, поэтому здесь нет pom.xml, этот же конфиг работает нормально в tomcat 8.

После удаления пользовательской библиотеки lib, размещения всех библиотек li в папке web-inf / lib и удаления jboss-deploy-structure.xml от web-inf, то работает нормально.Что я не так делаю, в случае пользовательского модуля?Я создал pluto.lib.main в папке модулей и добавил это в standalone.xml

 <subsystem xmlns="urn:jboss:domain:ee:4.0">
            <global-modules>
                <module name="pluto.lib" slot="main"/>
            </global-modules>

Тогда я сталкиваюсь с ошибкой 403

1 Ответ

0 голосов
/ 21 мая 2018

После долгих мучительных отладок, проб и ошибок в различных версиях Spring и Wild Fly, я пришел к выводу, что мой пользовательский модуль, состоящий из spring 4.3, не работает на wildfly 12.

Как бы то ни было, решение состояло в том, чтобы понизить сервер приложений до wildfly 11. Тот же самый модуль и .war работают гладко на версии 11.

Я включил отладочные журналы вверсия 12, в журналах все еще нет ничего, что могло бы показать основную причину, я думаю, что есть какая-то ошибка, связанная с wildfy версией 12 и spring.

На данный момент это работает нормально, если кто-то, кто можетЧтобы найти решение для весны с Java-конфигурации на Wildfly 12, пожалуйста, напишите ответ:)

...