2016-03-19 15 views
8

Sto sviluppando una webapp con NetBeans e Glassfish 4.1.1. e sto usando JSF e CDI per gestire i backing bean per le facelet. Dal momento che poco dopo cambiare nulla nel codice ottengo sempre un errore interno del server con questa IllegalStateException dopo 'successo' distribuzione e l'esecuzione l'applicazione tramite il browser:org.jboss.weld.exceptions.IllegalStateException: WELD-000227 dopo ogni modifica nel codice

org.jboss.weld.exceptions.IllegalStateException: WELD-000227: Bean 

identifier index inconsistency detected - the distributed container 

probably does not work with identical applications 

posso sbarazzarsi di esso facendo un pulito & accumulo e redeploying. Ma NetBeans ridistribuisce automaticamente dopo ogni salvataggio comunque. Quindi devo ancora fare clic su clean e build e poi ridistribuirmi SEMPRE dopo ogni piccolo cambiamento, mi fa impazzire!

Quindi c'è qualche impostazione che posso cambiare sul server glassfish per evitare questo, o posso dire a NetBeans di pulire & build prima di autodeploy?

Non è sempre stato così, recentemente ho aggiornato glassfish potrebbe essere che è apparso solo dopo, non ricordo più esattamente.

Grazie in anticipo! Mi costa così tanto tempo ..

risolto

Ho cercato su google ancora per ore e hanno trovato la soluzione: ho impostato una nuova proprietà di sistema in GlassFish

org.jboss.weld.serialization.beanIdentifierIndexOptimization = falso

evitare le incoerenze che appaiono come spiegato nel riferimento WELD qui:

https://docs.jboss.org/weld/reference/latest/en-US/html/configure.html#_bean_identifier_index_optimization

+0

correlati: http://stackoverflow.com/q/28713747 – BalusC

+0

Grazie per il link, hai ragione, la sua lo stesso problema .. – BenSkeleton

+0

Come hai impostato questa proprietà? Sto lottando con lo stesso problema. –

risposta

8

Disabilita beanIdentifierIndexOptimization in GlassFish come segue:

  1. Visita la console di amministrazione a http://localhost:4848 (o https://127.0.0.1:4848/).
  2. Fare clic su Configurazioni.
  3. Fare clic su server-config.
  4. Fare clic su Proprietà di sistema.
  5. Fare clic su Aggiungi proprietà.
  6. Set Nome istanza variabile a: org.jboss.weld.serialization.beanIdentifierIndexOptimization
  7. Impostare Valore Default per: false
  8. Clicca Salva.

questo dovrebbe aiutare con la passivazione e deliberare sul seguente WELD bug:

WELD-000.227: Bean indice identificativo incoerenza rilevato.

Problemi correlati