SALDATURA-000227: Bean identificatore indice di incoerenza rilevata distribuito contenitore, probabilmente non funziona con applicazioni identiche

Sto usando tomcat v7 con Saldatura v2.2.9.Finale e myFaces v2.2.7 dopo il riavvio del server in eclipse IDE e ricaricare la pagina, ho sempre questo errore. Non ho idea del perché questo errore mi appaiono. Esso deve essere collegato con la richiesta http o giù di lì. Se mi apri chiudi browser iniziare a lavorare.

SEVERE: Exception sending request initialized lifecycle event to listener instance of class org.jboss.weld.environment.servlet.Listener
org.jboss.weld.exceptions.IllegalStateException: WELD-000227: Bean identifier index inconsistency detected - the distributed container probably doesn't work with identical applications
    at org.jboss.weld.context.http.HttpSessionContextImpl.checkBeanIdentifierIndexConsistency(HttpSessionContextImpl.java:88)
    at org.jboss.weld.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:42)
    at org.jboss.weld.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:19)
    at org.jboss.weld.servlet.HttpContextLifecycle.requestInitialized(HttpContextLifecycle.java:217)
    at org.jboss.weld.servlet.WeldInitialListener.requestInitialized(WeldInitialListener.java:160)
    at org.jboss.weld.servlet.api.helpers.ForwardingServletListener.requestInitialized(ForwardingServletListener.java:42)
    at org.apache.catalina.core.StandardContext.fireRequestInitEvent(StandardContext.java:6189)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Vedi anche la risposta per GlassFish: stackoverflow.com/a/37455290/59087

OriginaleL’autore Milkmaid | 2015-02-25

3 Replies
  1. 14

    org.jboss.di saldatura.le eccezioni.IllegalStateException: SALDATURA-000227: Bean identificatore indice di incoerenza rilevata distribuito contenitore, probabilmente non funziona con applicazioni identiche

    Questa eccezione viene generata quando un cordone di Saldatura/CDI proxy istanza di una classe serializzabile ha incompatibly cambiato dopo la deserializzazione (per es. dopo il riavvio di Tomcat). Più probabile che si hanno durante lo sviluppo a cura di un serializable sessione o visualizzare ambito managed bean pur non avendo toccato il serialVersionUID. O, si sono aggiunti/aggiornati/rimosso CDI-libreria associata. Nel caso In cui si utilizza Tomcat Eclipse, fare clic destro sul server Tomcat entrata in Eclipse Server visualizzare e scegliere Pulito Tomcat Directory di Lavoro. Questo cancellerà serializzato sessioni e quindi anche a risolvere questa eccezione.

    Ogni volta che si apportano modifiche incompatibili in una classe serializzabile, come l’aggiunta di nuovi campi di istanza, allora avete bisogno di ri-generare la serialVersionUID valore (nel caso in cui siete IDE-generazione di valore), o per incrementare il proprio valore con 1 (nel caso in cui si utilizza il valore predefinito 1L).

    Questo, quindi, non necessariamente un bug nella Saldatura, ma dovrebbe, a mio parere, solo scartato incompatibile proxy esempio, ha creato uno nuovo e stampato un messaggio di avviso, invece di bloccare la richiesta del tutto con questa eccezione.

    Se sei occupato in via di sviluppo e di fronte a questa eccezione, ogni volta, si consiglia di disattivare la persistenza della sessione sul server. Come farlo dipende dal server utilizzato. Nel caso di Tomcat 7, fare riferimento alla sezione “Disattivare La Persistenza Della Sessione” nella documentazione di La Componente Di Gestione.

    Il messaggio specifico “distribuito contenitore, probabilmente non funziona con applicazioni identiche” è il modo in riferimento al possibile caso, quando si esegue l’applicazione web in un ambiente cluster, con la condivisione della sessione (ad esempio, il cloud), secondo il quale a quanto pare almeno un server ha una versione diversa dell’applicazione web. Tale situazione sarà in produzione a causa di questa eccezione.

    Vedere anche:

    Il problema è che non ho fatto alcuna modifica nelle classi. Basta riavviare il server e questo errore viene visualizzato.

    OriginaleL’autore BalusC

  2. 2

    Può essere superiore a due anni dall’ultima risposta è stato postato, ma questo può accadere anche se si dimentica di implementare Serializable in una classe di Entità.

    (Java 8, Glassfish 4)

    @Entity
    @Table(name="questions")
    public class Question { 
      ......
    }
    

    Errore org.jboss.di saldatura.le eccezioni.IllegalStateException: SALDATURA-000227: Bean identificatore indice di incoerenza rilevata distribuito contenitore, probabilmente non funziona con applicazioni identiche

    @Entity
    @Table(name="questions")
    public class Question implements Serializable { 
      ......
    }
    

    OriginaleL’autore F Jacome

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *