2016-05-06 16 views
6

Ho un'applicazione basata su Spring e utilizzo dell'approccio programmatico (AbstractAnnotationConfigDispatcherServletInitializer) per la configurazione dell'app.Applicazione di marcatura senza web.xml distribuibile per la replica della sessione Tomcat

per rendere il lavoro di replica della sessione Tomcat ho bisogno di 'marchio' App distributable utilizzando <distributable/> tag nel web.xml, ma come ho già detto che sto usando lo stile di programmazione, ad esempio,

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

    @Override 
    public void onStartup(ServletContext servletContext) throws ServletException { 

      String activeProfile = activeProfile(); 

      if (isNotEmpty(activeProfile)) { 
       servletContext.setInitParameter("spring.profiles.active", activeProfile); 
      } 

      super.onStartup(servletContext); 

     } 
    } 

non riesco a trovare nessuna documentazione su come farlo utilizzando configurazioni di primavera, quindi la mia domanda è che, E 'possibile avere app distribuibile senza dover web.xml? Non posso spostare tutte le configurazioni sul web.xml, quindi ogni aiuto è apprezzato.

risposta

4

Ci sono diverse opzioni che non è possibile impostare dalla configurazione basata su Java, una di queste è <distributable /> un'altra è la error-pages.

Per questo è ancora necessario un web.xml, basta creare il più vuoto possibile web.xml e includere solo <distributable />. Tutto il resto può rimanere in configurazione basata su Java.

<web-app 
     version="3.0" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <distributable /> 

</web-app> 
0

Non è possibile configurare il Cluster a livello di codice utilizzando Spring. Una soluzione è avere un mix di XML e configurazione basata su Java. In modo che le voci Web.xml possano essere mantenute. Per fare questo, un esempio è here.

Problemi correlati