2016-03-19 16 views
8

Ich entwickle eine Webapp mit NetBeans und Glassfish 4.1.1. und ich verwende JSF und CDI, um die Backing-Beans für die Facelets zu verwalten. Da kurz nach irgendetwas im Code zu ändern habe ich immer einen Internal Server Error mit diesem Illegal nach ‚erfolgreichen‘ den Einsatz und die App über den Browser ausgeführt wird:org.jboss.weld.exceptions.IllegalStateException: WELD-000227 nach jeder Änderung im Code

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

identifier index inconsistency detected - the distributed container 

probably does not work with identical applications 

ich es bekommen kann los, indem eine saubere & Build tun und erneute Bereitstellung. Aber NetBeans wird nach jedem Speichern automatisch erneut bereitgestellt. Also muss ich dann noch auf clean klicken und bauen und mich dann IMMER nach jeder kleinen Änderung neu einspielen, es macht mich verrückt!

Also gibt es irgendeine Einstellung, die ich auf Glassfish-Server ändern kann, um dies zu vermeiden, oder kann ich NetBeans sagen, & Build vor der automatischen Bereitstellung zu reinigen?

Es war nicht immer so, vor kurzem habe ich Glassfish aktualisiert es könnte sein, dass es erst danach erschien, ich erinnere mich nicht mehr genau.

Vielen Dank im Voraus! Es kostet mich so viel Zeit ..

GELÖST

ich gegoogelt wieder stundenlang und die Lösung gefunden: Ich in eine neue Systemeigenschaft festgelegt Glasfischen

org.jboss.weld.serialization.beanIdentifierIndexOptimization = falsch

die auftretenden Unstimmigkeiten zu vermeiden, wie hier im WELD erläutert:

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

+0

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

+0

Danke für den Link, Sie haben Recht, es ist das gleiche Problem .. – BenSkeleton

+0

Wie haben Sie diese Eigenschaft? Ich kämpfe mit dem gleichen Problem. –

Antwort

8

Disable beanIdentifierIndexOptimization in Glassfish wie folgt:

  1. Besuchen die Admin-Konsole http://localhost:4848 (oder https://127.0.0.1:4848/).
  2. Klicken Sie auf Konfigurationen.
  3. Klicken Sie auf server-config.
  4. Klicken Sie auf Systemeigenschaften.
  5. Klicken Sie auf Immobilie hinzufügen.
  6. Set Instanz Variablenname an: org.jboss.weld.serialization.beanIdentifierIndexOptimization
  7. Set Standardwert an: false
  8. Click Speichern.

Dies sollte mit Passivierung helfen und lösen folgende WELD bug:

WELD-000227: Bean Kennung Index Inkonsistenz festgestellt.