• admin

    Beim Maven-Build kommt folgender Fehler:

    ….Could not transfer artifact org.apache.maven.surefire:surefire-boote
    r:pom:2.4.3 from/to central (http://repo.maven.apache.org/maven2): Connection to
    http://proxy.xxxxxxx refused: Connection timed out: connect

    • admin

      Maven kann ein notwendiges Artifakt nicht herunterladen. Proxy deutet darauf hin, dass Maven einen Proxy verwenden möchte, für den Sie nicht autorisiert sind. Überprüfen Sie ihre settings.xml (http://maven.apache.org/guides/mini/guide-proxies.html) oder wechseln Sie die Internetverbindung

  • admin

    Funktionieren die Beispiele aus dem Buch 1 zu 1 in NetBeans?

    • admin

      Unser Workshop ist vollkommen unabhängig von der verwendeten IDE, daher funktioniert auch Netbeans. Sie müssen allerdings den Build mit Maven erstellen und die erzeugte War-Datei, wie im Buch beschrieben, auf dem JBoss deployen.

    • Florian

      Habe gerade Netbeans 7.4 auf Ubuntu 13.10 ausprobiert. Das Eingangsbeispiel zur Konfiguration (Listing 2-1, S. 27ff) funktioniert, sofern ich im URL nicht index.jsf sondern index.xhtml schreibe.

      • Florian

        Ach ja, und mit Glassfish 4.0 als Server.

      • Florian

        In Netbeans sind die JSF als Framework zum Projekt hinzuzufügen. Dann funktioniert’s. :)

        • Michael

          Bei mir funktioniert auch nur die index.xhtml. Bei der index.jsf kommt ein Fehler, dass die Datei nicht gefunden wird.

          Nutze Eclipse und hab alles so wie im Buch beschrieben gemacht. (2. Auflage)

          • Andreas

            Gleiches Problem: Habe für das erste Beispiel auf eine IDE verzichtet und erhalte die Fehlermeldung “not found” wenn ich index.jsf angebe. Was läuft da schief?

  • Frank Sprich

    Hallo Zusammen,

    Bisher bin ich sehr zufrieden mit dem Buch.
    Im Curl Befehl auf Seite 263 gibt es einen Typo: “- d” sollte “-d” heissen:
    curl -k -c cookie.txt -b cookie.txt –data-urlencode j_username=a@mu.de -d j_password=secret https://localhost:8443/myaktion/j_security_check

    Als Äusserst wichtig hat sich das Url Pattern im web.xml /rest/organisator/* erwiesen. Fehlt das “/*” funktionieren die Curl Befehle nicht wie erwartet und liefern einen Fehler der Art: “HTTP Status 408 – The time allowed for the login process has been exceeded.” zurück.

    Grüsse Frank

  • Burger

    Hallo,

    im aktuellen JBoss, gestartet aus Eclipse Kepler, erhalte ich beim Deploy-Versuch von my-aktion die folgende Fehlermeldung:
    JBAS014775: Neue fehlende/unbefriedigte Abhängigkeiten:
    service jboss.security.security-domain.my-aktion (fehlende) Dependents: [service jboss.web.deployment.default-host./my-aktion.realm, service jboss.deployment.unit.”my-aktion.war”.component.SpendeServiceBean.CREATE, service jboss.deployment.unit.”my-aktion.war”.component.SchedulerBean.CREATE, service jboss.deployment.unit.”my-aktion.war”.component.AktionServiceBean.CREATE]

    Vielleicht bin ich nicht die Einzige, die dieses Problem hat.
    Mit freundlichen Grüßen
    Burger

  • Deniz

    Klasse Buch! Wo kann ich mir den Quellcode für die einzelnen Kapitel runterladen?

    • Marcus Schiesser

      Diesen finden Sie als GIT-Repository unter https://github.com/marcusschiesser/my-aktion. Jedes Kapitel finden Sie in einem eigenem Branch.

      • Sebastian

        Hallo,

        gibt es auch irgendwo die Lösungen zu den Aufgaben? Wäre echt super hilfreich.

        Vielen Dank!

  • Jakob

    Liebe Autoren:

    Ericstmal: Super Buch! Ich bin gerade dabei die Fallstudie durchzuarbeiten und finde
    es ist sehr gut und schluessig beschrieben.

    Ich habe nur ein kleines Problem mit JBoss und Maven. Als ich das Maven-Projekt in Eclipse importiert habe, gab es gleich 3 Errors in der pom.xml. Jedoch habe ich mich nicht um diese gekuemmert, die App hat sich ja deployen lassen. Anschliessend kam ich zu dem Punkt, an dem ich das .css Style integrieren wollte: Es wird ignoriert. Nach einem halben Tag fehlersuche habe ich es einfach uebergangen, schliesslich geht es mir bei dem Workshop nicht um die Styles und ich kann dies zu einem spaeteren Zeitpunkt nachholen.

    Jetzt habe ich versucht Primefaces zu integrieren wie es im Buch steht und es funktioniert einfach nicht. Nach viel Recherche habe ich bestaetigen koennen,, dass die primefaces-3.5.jar in den Maven dependencies verzeichnet ist; dass sie in Eclipse im Verzeichnis target->my-aktion->WEB-INF->lib aufgefuehrt ist; und dass sie auch im .m2 Verzeichniss ist. Es funktioniert einfach nicht und ich weis nicht wo ich jetzt noch suchen sollte.

    Nun wollte ich einerseitz nachfragen, ob Sie mir Tipps geben koennen um das Problem zu loesen.

    Ich habe aber auch gemerkt, dass im Workshop JBoss und Maven vielleicht etwas zu kurz kommen, und dass es da doch etwas mehr Hintergrundwissen und Verstaendniss braucht um eine Applikation aufzusetzten und ggf. ein Troubleshooting zu machen.

    Vielen Dank schonmal,
    Jakob

  • Dirk

    Hallo,

    ich bearbeite derzeit das Kapitel JPA – die Daten werden also in der DB abgelegt. Wenn ich mehr als 2 Datensätze anlegen und die Anwendung neu starte, dann bekomme ich folgende Fehlermeldung:

    Schwerwiegend [javax.enterprise.resource.webcontainer.jsf.application] (http–127.0.0.1-8080-8) Error Rendering View[/aktionList.xhtml]: java.lang.IllegalStateException: Cannot create a session after the response has been committed

    Können Sie mir – trotz dieser nicht sehr ausführlichen Beschreibung – einen Tipp geben, woran dies liegen könnte? Vielleicht ist Ihnen ähnliches bereits begegnet.

  • jens

    Hallo!
    Ich stecke im Exkurs Primefaces fest. Hat jmd. einen Tipp wo ich den Fehler finden kann?
    Das Buch habe ich bis Kapitel 4.6 inklusive abgearbeitet.
    Kap 4.7 übersprungen.
    Kap 4.8.1 erledigt und mvn lädt auch das primefaces 3.5 er jar hoch.
    4.8.2 spendeFormEdit.xhtml
    mit den markierten Ersetzungen:
    xmlns:p=”http://primefaces.org/ui”

    wie auf Seite116-117 angegeben geändert, Der JBOSS gibt mir jedoch beim Aufruf des Formularlinks die javax.servlet.ServletException:
    The class ‘[…].SpendeFormEditController$Proxy$_$$_WeldClientProxy’ does not have the property ‘doOk’.
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
    Was kann der Grund dafür sein, dass das property “doOk” bei dem p:commandButton nicht(, bei den h:commandButton jedoch sehr wohl) gesehen wird?
    Danke für Feedback…
    Jens

    • jens

      Nachtrag:
      Wenn ich den in spendeFormEdit.xhtml stehen lasse, kommt keine Fehlermeldung … Weird!

    • Nicolae Dangel

      Das Problem hatte ich auch. Bei mir wars dummerweise und misteriöserweise wegen dem auskommentierten ursprünglichen text, der vor mein stand. Sobald ich das entfernt habe, hats geklappt (5 Stunden Fehlersuche gekostet.. hätte nicht sein dürfen, aber keine Ahnung warum das so war). Hast du evtl auch so ein Kommentar in der xhtml Datei drinnen stehen? Entferne das und probier es noch einmal.

      • Nicolae Dangel

        anscheinend darf man hier keine Tag- “” Zeichen verwenden, die werden aus dem Text entfernt, dann sieht der Kommentar so blöd aus…

        • Marcus Schiesser

          Ja, das Kommentarsystem ist aktuell etwas suboptimal. Vielleicht kennt jemand ein gutes Plugin für WordPress?

  • Nicolae Dangel

    Bin bei der Seite 129 und bis jetzt begeistert von dem Buch (nach schmerzhaften Erfahrungen mit anderen Anti-Büchern). Allerdings hat die Aufgabe 4.9.3 nicht geklappt. In Git-Repository kann man diese auch nicht gelöst finden. Ich möchte den “title” aus der URL für geldSpenden.xhtml als f:viewParam innerhalb von f:metadata einlesen und bekomme ständig den Fehler:
    javax.servlet.ServletException: Error Parsing /geldSpenden.xhtml: Error Traced[line: 23] The element type “f:metadata” must be terminated by the matching end-tag “”.
    obwohl das entsprechende Tag synthaktisch-richtig geschlossen wurde.
    Hier ein Auszug, vllt sind auch Andere in meiner Situation:

    Geld spenden

    <h:body
    Was mache ich falsch? Natürlich ist die nächste Frage, wie schreibe ich dynamisch den title oben im :) ? Danke für die Antwort

    • TheSaint

      #{formConfig.title}

      ….

    • Nicolae Dangel

      1. Der Grund warum es nicht funktionierte war ein dummer Fehler von mir, ich hatte das Tag f:viewParam einmal einfach geschlossen mit backslash und “ist groesser” und danach noch einmal vollqualifiziert so zu sagen mit backslash und f:viewParam und “ist groesser”. Weil ich den ersten backslash nicht bemerkt habe sind wie man sieht ein paar monate vergangen ( :) ) … no comment. Jetzt hab ich das Tag nur einmal geschlossen und es funktioniert, selbstverstaendlich.
      2. Der Wert des Titels hab ich in dem Facelet spendeFormEdit.xhtml ueber die Bean SpendeFormEditController bzw. ihr Objekt formConfig wie folgt:
      h:inputText id=”title” value=”#spendeFormEditController.formConfig.title}”
      adressiert und nicht direkt über FormConfig – Bean wie auf Seite 129 Pkt 2 man verstehen könnte.
      @TheSaint Danke fuer die Antwort

  • Elena

    Erstes, vielen herzlichen Dank für das Buch!

    Nun versuche ich “Hinzufügen eine Spende testen”. Mit Persistence klappt es definitiv nicht, zuerst tauchen in console folgende Meldungen auf:

    11:02:29,450 INFO [org.hibernate.tool.hbm2ddl.SchemaExport] (MSC service thread 1-4) HHH000227: Running hbm2ddl schema export
    11:02:29,451 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (MSC service thread 1-4) HHH000389: Unsuccessful: alter table Spende drop constraint FK93FC16E77A6CA0B0
    11:02:29,453 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (MSC service thread 1-4) Tabelle “SPENDE” nicht gefunden
    Table “SPENDE” not found; SQL statement:
    alter table Spende drop constraint FK93FC16E77A6CA0B0 [42102-161]
    11:02:29,454 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (MSC service thread 1-4) HHH000389: Unsuccessful: drop sequence hibernate_sequence
    11:02:29,455 ERROR [org.hibernate.tool.hbm2ddl.SchemaExport] (MSC service thread 1-4) Sequenz “HIBERNATE_SEQUENCE” nicht gefunden
    Sequence “HIBERNATE_SEQUENCE” not found; SQL statement:
    drop sequence hibernate_sequence [90036-161]
    11:02:29,458 INFO [org.hibernate.tool.hbm2ddl.SchemaExport] (MSC service thread 1-4) HHH000230: Schema export complete

    Danach werden die Entities nicht persisiert können und deswegen kommen die Fehler:
    11:02:29,816 ERROR [org.jboss.ejb3.invocation] (http-localhost-127.0.0.1-8080-1) JBAS014134: EJB Invocation failed on component AktionServiceBean for method public abstract void de.dpunkt.myaktion.services.AktionService.addAktion(de.dpunkt.myaktion.model.Aktion): javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: de.dpunkt.myaktion.model.Aktion
    .
    Ich sehe eigentlich, dass etwas mit der DB-Verbindung nicht klappt (wobei nur beim Testen). persistence.xml und persistence-test.xml sind da, test-ds.xml ist auch da und sehen richtig aus (ich habe mit dem Quellcode verglichen). Der einfache Test (AktionEditTest) klappt reibungslos. Ich verstehe auch, dass es etwas schweirig wäre, etwas zu sagen. Aber, ganz allgemein: was muss man noch beachten?

    • Clemens

      Das Problem hatte ich auch. Die ersten Fehler im Log ‘Tabelle Spende nicht gefunden’, habe ich erst mal ignoriert. Entscheident ist die Meldung ‘ javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: de.dpunkt.myaktion.model.Aktion’: Hier habe ich Code aus dem Mock-Service in die TestDataFactory kopiert und dabei übersehen, das Setzen der ID zu entfernen. Mit gesetzter Id geht aber Hibernate davon aus, dass der Satz schon da ist und damit nicht angelegt werden kann. (kannst ja mal nach der Fehlermeldung googeln, da gibt es ein paar Tipps zu diesem Fehler…)
      Danach ging es bei mir.

      • Markus Rohlof

        Danke, du bist mein Held! Danach hätte ich noch stundenlang suchen können…

  • TheSaint

    Hallo,

    soweit ist das Buch sehr lehrreich. Allerdings fehlen mir zu den Aufgabenstellungen exemplarische Lösungen um zu schauen, ob man es richtig gemacht/gelöst hat. Leider sind im Git-Repo auch nur die Versionen welche man durch abtippen der Quelltexte im Buch hat. Wäre schön, wenn man Beispiellösungen zu den Aufgaben ebenfalls per Git bereitstellen würde.

    Anmerkung: Der Link http://javaee7/tutorial führt ins Nichts. WordPress liefert “Ups, diesen Inhalt gibt es wohlt nicht.” . Bitte “reparieren (Auch den Rechtschreibfehler in der Fehlermeldung “wohlt” :-) )

    Grüße

    • Marcus Schiesser

      Danke für die Hinweise. Der Link funktioniert nun wieder.

  • IronMania

    was muss ich ändern, um die Tests auf Wildfly laufen lassen zu können?
    Deploy läuft super auf wildfly, aber die Tests nicht
    Ich habe in der pom.xml die Dependency geändert:

    org.wildfly
    wildfly-arquillian-container-remote
    8.0.0.Final
    test

    leider reicht das nicht.

  • Max

    Hallo,

    ich komme nur bis Seite 98. Ich habe das Facelet spendeList.xhtml implementiert aber beim Klicken auf den commandLink “Editieren” im facelet aktionList.xhtml wird anscheinend die dazugehörige “Aktion” nicht richtig übergeben.

    Was jedoch sehr komisch ist: ich kann auf die Attribute der übergebenen “Aktion” im SpendeListController zugreifen und mir die auch in der Konsole ausgeben lassen aber sie werden nicht in der Webseite angezeigt.

    Woran kann das liegen? Ich habe schon ca 2 Stunden mit googlen verbracht aber finde keinen Ansatz

    Danke schon mal im voraus! LG Max

    • Juergen

      Hallo Max,

      ich vermute dass Du dein Problem in der Zwischenzeit schon selber gelöst hast, aber vielleicht für alle anderen, die das Problem haben, hier mal was bei mir das oben beschriebene Verhalten ausgelöst hat:

      Ich hatte die Annotation @Sessionscoped falsch importiert. Bei mir stand:
      import javax.faces.bean.SessionScoped

      richtig gewesen wäre aber:

      import javax.enterprise.context.SessionScoped;

      Es steht zwar im Buch richtig drin, aber ich hatte den Abschnitt nur überflogen und somit falsch gemacht. Da mir der Fehler gleich beim ersten import passiert ist und dann immer wieder, wars schwierig den Fehler zu finden.

  • Beat Jost

    Nach dem Import (Maven) der “Beispiel-Projekte” (ab GIT) erhalte ich 2 Fehler in den XML-Files ‘myaktion-ds.xml’ und ‘test-ds.xml’. Hat jemand eine Ahnung was ich da falsch mache?

    Referenced file contains errors (http://docs.jboss.org/ironjacamar/schema/datasources_1_0.xsd). For more information, right click on the message in the Problems View and select “Show Details…”
    Nach Validierung steht in den Details: “White spaces are required between publicId and systemId”.

  • Daniel

    Hallo,
    nehme mir gerade das Buch vor. Leider mußte ich bereits auf Seite 34 scheitern.

    Nach Hinzufügen des maven-Projektes in Eclipse erstelle ich eine Run-Configuration und führe diese aus. Klappt leider nicht mit:
    ERROR: JBREM000200: Remote connection failed: javax.security.sasl.SaslException: Authentification failed: all available authentification mechanisms failed.

    Führe ich das Deploy direkt auf der Konsole mit mvn aus, funktioniert es aber tadellos. Allerdings werde ich hier nach einem Username gefragt, den ich auch für das ManagementRealm vorher angelegt habe.

    System: Debian in VM, gesamte VM für das Buch neu aufgesetzt. JBoss lokal installiert, exakt nach dem Buch. Java 7

    Danke!

  • Clemens

    Ich finde das Buch super.
    Bei dem Testlauf am Ende von Abschnitt 6.5 bekomme ich Fehlermeldung:

    T E S T S
    ——————————————————-
    Running de.dpunkt.myaktion.test.TestDataFactory
    Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.038 sec <<< FA
    ILURE!
    Running de.dpunkt.myaktion.test.AktionEditTest
    log4j:WARN No appenders could be found for logger (org.jboss.logging).
    log4j:WARN Please initialize the log4j system properly.
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.438 sec
    Running de.dpunkt.myaktion.test.SpendeListTest
    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.921 sec

    Results :

    Tests in error:
    initializationError(de.dpunkt.myaktion.test.TestDataFactory)

    Tests run: 4, Failures: 0, Errors: 1, Skipped: 0

    Im Serverlog finde ich keinen Eintrag, den ich mit dem Initialisierungsfehler in Verbindung bringe.
    Die eigentlichen Testroutinen scheinen auch zu funktionieren.
    Hat noch jemand dieses Problem und einen Lösungsansatz dazu?

    • Patrick

      Hab dasselbe Problem.
      Versuchte, ein log4j.properties im test context (im Folder Web-INF/classes) einzubinden, funktionierte aber immer noch nicht.
      Gibts dazu eine Lösung, oder einen Kommentar seitens der Autoren?

  • Ciho

    Hallo zusammen,
    als erstes, vielen Dank für das sehr lehrreiche Buch 😉 … hab viel durch dieses Buch dazu gelernt.

    Habe nur ein kleines “Problemchen”.

    Hab das ganze Projekt auf einem Mac OS X erstellt und dran gearbeitet. Bisher auch soweit ALLES top funktioniert. Nur habe ein Problem auf Seite 304. Irgendwie scheint mein REST-Service nicht zu funktionieren bzw. die Spendenliste nicht abzurufen. Ich habe mehrmals ein Auge über die Codes geworfen .. neu deployed .. aktualisiert .. und immer wieder nachgeschaut woran es liegen könnte.. Nachdem ich alles wie beschrieben Deploye und ausführe, herrscht beim Monitor totenstille. Ich komme nicht weiter.
    Die erste Version der WebSocket-Klasse “MonitorWebSocket” hat wunderbar funktioniert dadurch das es in der Klasse gegebenen Daten waren. Doch nach der bearbeitung dieser Klasse bekomme ich keine Ausgabe mehr .. Nada .. Null .. Nüx…

    Ich hoffe das mir jemand eventl. helfen kann….

    Danke im voraus

    MFG

  • Marco

    Hätte ich mit Ihrem Buch Probleme die Beispiele auf einem Tomcat TomEE zu implementieren?

    Vielen Dank für die Antwort

    • Marcus Schiesser

      Das sollte bis zum JPA-Kapitel ohne Aenderungen gehen, ab JPA werden Anwendungsserver spezifische Konfigurationen noetig.

  • Markus Rohlof

    Hallo, erstmal auch von hier vielen Dank für den lehrreichen Workshop, habe bereits viel Neues dazugelernt.
    Nun bin ich auf Seite 177 angekommen, dort soll man nach dem Konfigurieren der Datenquellen das Ganze wieder deployen. Ich habe auch schön brav Zeile für Zeile der Konfigurations-Dateien überprüft, bekam aber in dem Moment, in dem ich nach dem Deployen (initial) auf die aktionList.jsf-Seite gegangen bin, den Fehler:

    ‘Tabelle “AKTION” nicht gefunden’. […]
    org.jboss.weld.exceptions.WeldException: WELD-000049 Unable to invoke [method] @PostConstruct public de.dpunkt.myaktion.data.AktionListProducer.init() on de.dpunkt.myaktion.data.AktionListProducer@616da221

    Daraufhin habe ich nach einigem hin und her versuchsweise die property hibernate.hbm2ddl.auto von “update” auf “create-drop” geändert (dieser Wert stand dort anfangs mal drin, die Datei war nämlich schon vorgefertigt vorhanden):

    Nun funktioniert alles. Liegt das an irgendwelchen neueren Versionen, die ich möglicherweise ohne es zu ahnen ausgeliefert bekommen habe?
    Ich habe nämlich ziemlich lange gebraucht, um darauf zu kommen, diesen value zurückzuändern, da in 6.4.1 so ausführlich darauf eingegangen wird, dass “update” für uns im Moment die richtige Wahl sei…

    Liebe Grüße
    Markus

    PS: Nachdem ich ein Mal initial “create-drop” verwendet habe, kann ich nun scheinbar auch auf “update” umsteigen. Jedenfalls erscheint hier keine Fehlermeldung mehr.

  • Oliver

    Hallo,

    wollte “mal schnell” loslegen. Da ich mit maven nicht firm bin, scheitere ich auf S. 25. Da steht:

    “Die Erzeugung des Maven-Projektes geschieht Schritt für Schritt im interaktiven
    Modus (Standardeinstellung). Dabei werden verschiedene Informationen
    zum Projekt abgefragt. Zunächst werden wir von Maven nach der groupId
    gefragt.”

    Das ist nicht ganz korrekt. Zuerst wird das hier gefragt:

    *The Scala tool version is generated automatically.
    *Some Scala versions may not be compatible with selected test library versions. Adjust as necessary.)
    1183: remote -> pro.savant.circumflex:webapp-archetype (-)
    1184: remote -> ru.circumflex:circumflex-archetype (-)
    1185: remote -> ru.nikitav.android.archetypes:release (-)
    1186: remote -> ru.nikitav.android.archetypes:release-robolectric (-)
    1187: remote -> ru.stqa.selenium:webdriver-java-archetype (Archetype for a Maven project intended to develop tests with
    Selenium WebDriver and JUnit/TestNG)
    1188: remote -> ru.stqa.selenium:webdriver-junit-archetype (Archetype for a Maven project intended to develop tests with
    Selenium WebDriver and JUnit)
    1189: remote -> ru.stqa.selenium:webdriver-testng-archetype (Archetype for a Maven project intended to develop tests wit
    h Selenium WebDriver and TestNG)
    1190: remote -> ru.yandex.cocaine:cocaine-client-archetype (Archetype for creating a basic client for Cocaine Applicatio
    n Engine.)
    1191: remote -> ru.yandex.cocaine:cocaine-worker-archetype (Archetype for creating a basic worker for Cocaine Applicatio
    n Engine.)
    1192: remote -> ru.yandex.qatools.camelot:camelot-plugin (-)
    1193: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
    1194: remote -> sk.seges.sesam:sesam-annotation-archetype (-)
    1195: remote -> tk.skuro:clojure-maven-archetype (A simple Maven archetype for Clojure)
    1196: remote -> tr.com.lucidcode:kite-archetype (A Maven Archetype that allows users to create a Fresh Kite project)
    1197: remote -> uk.ac.rdg.resc:edal-ncwms-based-webapp (-)
    1198: remote -> us.fatehi:schemacrawler-archetype-maven-project (-)
    1199: remote -> us.fatehi:schemacrawler-archetype-plugin-command (-)
    1200: remote -> us.fatehi:schemacrawler-archetype-plugin-lint (-)
    Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :

    Da kann ich eingeben, was ich will, das pom.xml aus dem Buch wird nie erzeugt. Überschreibe ich es wie im Buch angegeben und versuche das Projekt zu kompilieren und auszuführen, ernte ich nur Error-404. Was könnte da falsch sein?

    • Oliver

      Ihr Schweigen deute ich als: “Probier halt weiter!”

      Ok. Wenn man

      mvn archetype:generate -Dfilter=com.airhacks:

      ausführt, findet man wenigstens den richtigen Entry.

      Ändert aber nichts an dem Fehler, den ich nicht zu beseitigen weiß:

      [INFO] ————————————————————————
      [INFO] BUILD FAILURE
      [INFO] ————————————————————————
      [INFO] Total time: 4.016 s
      [INFO] Finished at: 2014-11-25T16:10:11+01:00
      [INFO] Final Memory: 19M/279M
      [INFO] ————————————————————————
      [ERROR] Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:1.0.1.Final:deploy (default-cli) on project my-a
      ktion: Deployment failed and was rolled back. -> [Help 1]
      org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:
      1.0.1.Final:deploy (default-cli) on project my-aktion: Deployment failed and was rolled back.
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
      at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.
      java:51)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
      Caused by: org.wildfly.plugin.common.DeploymentExecutionException: Deployment failed and was rolled back.
      at org.wildfly.plugin.deployment.standalone.StandaloneDeployment.execute(StandaloneDeployment.java:180)
      at org.wildfly.plugin.deployment.AbstractDeployment.executeDeployment(AbstractDeployment.java:121)
      at org.wildfly.plugin.deployment.AbstractDeployment.doExecute(AbstractDeployment.java:146)
      at org.wildfly.plugin.deployment.AbstractAppDeployment.doExecute(AbstractAppDeployment.java:70)
      at org.wildfly.plugin.deployment.AbstractDeployment.execute(AbstractDeployment.java:111)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      … 19 more

      Die Laune ist im Keller. Kein guter Start in einen Workshop … :(

      • Martin

        Wenn der Maven-Befehl so ausgeführt wird erhält man alle archetypes der groupId com.airhacks. Das sind nicht viele (zur Zeit 3). Man ist dann im interaktiven Modus und muss zunächst den Richtigen durch Eingabe der angezeigten Nummer auswählen (Z.B. 3 bei Anzeige von “3: remote -> com.airhacks:javaee7-essentials-archetype”). Danach noch die richtige Version durch Eingabe der angezeigten Nummer wählen (z.B. 3 bei Anzeige von “3: 1.2”) . Danach werden auch die Punkte aus dem Buch Schritt für Schritt abgefragt.

    • Martin

      Das sieht aber doch so aus, wie wenn der Maven-Befehl nicht in einer Zeile eingegeben worden wäre. Gibt man nur “mvn archetype:generate” ein, bekommt man eine Liste von möglichen archetypes (ähnlich wie oben “1192: …”). Vielleicht war doch auch ein Tippfehler oder ein Sonderzeichen durch Copy&Paste in dem Kommando enthalten. Ich habe es selbst nochmal probiert und keine Probleme gehabt.

      • Oliver

        Hallo, danke für’s Nachvollziehen. Inzwischen ist das Problem gelöst. Beim allerersten Versuch machte ich einen entscheidenden Deployment-Fehler. Im pom.xml vergaß ich diese Zeile:

        war

        Dadurch wird ein jar deployt. Beim Umbau der pom.xml wird nie mehr versucht, die jar zu undeployen, aber eine war wird auch nie mehr deployt … :)

        Inzwischen bin ich im Kapitel 6 gelandet. Als Zwischenstand möchte ich mal sagen, dass der Kurs in meinen Augen sehr praxisorientiert ist. Die notwendigen Schritte der Realität werden nicht völlig ausgelassen, sondern wenigstens an einem simplen Beispiel erläutert. Das gefällt mir sehr gut. Vielen Dank dafür.

  • Oliver

    Offenbar hatte ich einen Fehler damit gemacht, statt Wildfly 8.1.0.Final die nächste Version 8.2.0.Final zu installieren.

    Beim Einfügen von Donations kommt es zu einem üblen Fehler:

    $ cat myaktion1.trace.db
    01-10 15:41:08 jdbc[2]: exception
    org.h2.jdbc.JdbcSQLException: Dieses Feature wird nicht unterstützt: “isWrapperFor”
    Feature not supported: “isWrapperFor” [50100-173]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:331)
    at org.h2.message.DbException.get(DbException.java:171)
    at org.h2.message.DbException.get(DbException.java:148)
    at org.h2.message.DbException.getUnsupportedException(DbException.java:206)
    at org.h2.message.TraceObject.unsupported(TraceObject.java:391)
    at org.h2.jdbc.JdbcStatement.isWrapperFor(JdbcStatement.java:1067)
    at org.jboss.jca.adapters.jdbc.JBossWrapper.unwrapInnerMost(JBossWrapper.java:119)
    at org.jboss.jca.adapters.jdbc.JBossWrapper.isWrapperFor(JBossWrapper.java:61)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.isTypeOf(ResultSetReturnImpl.java:99)

    Installiere ich 8.1.0, bleibt der Fehler aus. Allerdings werden die Donations einfach nicht angezeigt, obwohl sie in “wilder” Form die in der DB-Datei zu sehen sind:

    iALTER TABLE PUBLIC.DONATION ADD CONSTRAINT PUBLIC.CONSTRAINT_7 PRIMARY KEY(ID) XCREATE INDEX PUBLIC.FK_C0X41VH2OF8FY0BXO82FU5YTB_INDEX_7 ON PUBLIC.DONATION(CAM▒ALTER TABLE PUBLIC.DONATION ADD CONSTRAINT PUBLIC.FK_C0X41VH2OF8FY0BXO82FU5YTB FOREIGN KEY(CAMPAIGN_ID) INDEX PUBLIC.FK_C0X41VH2OF8FY0BXO82FU5YTB_INDEX_7 REFER7CREATE SEQUENCE PUBLIC.HIBERNATE_SEQUENCE START WITH 33:1WDE54545450000904666MMagdalenaKBadBank▒▒MDom lebt!▒▒G; 2XDE345567535345000888XDeutsche Deppen Bank▒▒JMedinaA!18 3XDE345567535345000555SDagobert United▒▒
    LBertholdA!14 4XIT002222444422224444QRomeDomeBanca▒▒jIC▒$sar@!1

    Das Rätsel ist groß …

  • Oliver

    Hallo,
    hatte endlich mal wieder Zeit, fortzufahren mit dem Stoff. Glassfish 4 ist aufegsetzt, läuft auch. Da meine Codierung nicht klappte, habe ich den Code von Eurem github geholt und übersetzt. Einzige Änderung: Mein Server auf JBoss heißt my-aktion1.

    Keys sind importiert:
    keytool -importkeystore -srckeystore %JBOSS_HOME%\standalone\configuration\my-aktion1.keystore -destkeystore d:\Users\Oliver\dev\java_ee\glassfish4\glassfish\domains\domain_my-aktion\config\keystore.jks
    keytool -importkeystore -srckeystore %JBOSS_HOME%\standalone\configuration\my-aktion1.keystore -destkeystore d:\Users\Oliver\dev\java_ee\glassfish4\glassfish\domains\domain_my-aktion\config\cacerts.jks

    Die Tests mit CURL funzen. Kein Problem.

    Im Code S. 334 muss IMHO stehen:

    private static final String REST_DONATION_LIST = “https://” + REST_HOST + “:” + REST_PORT + “/my-aktion1/rest/organizer/donation/list/”;

    statt

    private static final String REST_DONATION_LIST = “https://” + REST_HOST + “:” + REST_PORT + “/my-aktion1/rest/donation/list/”;

    Helfen tut das nicht.

    Was geht nicht?

    [2015-01-28T21:13:42.558+0100] [glassfish 4.0] [SEVERE] [] [javax.enterprise.system.tools.deployment.common] [tid: _ThreadID=105 _ThreadName=deployment-jar-scanner] [timeMillis: 1422476022558] [levelValue: 1000] [[
    Exception while visiting WEB-INF/classes/de/dpunkt/myaktion/model/DonationListMBR.class of size 5301
    java.lang.ArrayIndexOutOfBoundsException: 2925
    at org.objectweb.asm.ClassReader.readClass(ClassReader.java:2015)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:469)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:425)
    at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:362)
    at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:165)
    at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:127)
    at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:347)
    at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:67)
    at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:306)
    at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:295)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    ]]

    Wenn ich Google richtig verstehe, ist das ein Problem mit dem Lambda-Support von Glassfish 4.0. Muss ich auf 4.0.1 wechseln oder was?

  • Glassfish 4.0.1 und 4.1 lösen das Probelm auch nicht. Bei 4.1 wechselt es zu einem Security-Error. Mir fehlt leider die Zeit, das weiter zu untersuchen.

    Abschließend habe ich noch einige Versuche mit Openshift unternommen. Sehr interessant, dass ‘git push’ auch gleich den Redeploy auslöst. Das muss ich mal googlen, wieso das funktioniert. (Da Git 2.5.x installiert wird, muss man auf jeden Fall einige globals einstellen, u.a. git config –global push.default matching).

    Die Sache mit der SQL-Konsole hat nicht funktioniert. Ich stoppte irgendwann die app mit ‘rhc app stop’. Dann öffnete sich wenigstens die Konsole. Die Inserts klappten nicht. Die Tabelle fehlte und wurde nicht automatisch angelegt.

    Die letzten Kapitel sind recht wichtig und interessant. Leider sind sie wohl doch etwas hektisch entstanden. Es fehlen öfters mal Erklärungen, was das nun genau soll. Dass nun ausgerechnet wichtige Protokollteile nicht nachvollzogen werden konnten, ist besonders bitter. Auch die Filter-Lambdas kann man in meinen Augen nicht kommentarlos voraussetzen.

    Trotzdem Danke für das Buch und falls Ihr mal irgendwann auch die Aufgaben-Lösungen auf github legt, habt Ihr definitiv nochmal Extrapunkte gesammelt.

    CU!

  • j.a

    Ich habe ein Problem das ich nicht lösen kann. Sobald ich die jboss-web.xml (Seite 252) produziere, hört alles auf zu funktionieren. Wildfly bring dann folgenden Fehler:

    JBAS014775: New missing/unsatisfied dependencies:
    service jboss.naming.context.java.app.my-aktion.my-aktion.”DonationServiceBean!de.dpunkt.myaktion.services.DonationService” (unavailable) dependents: [service jboss.deployment.unit.”my-aktion.war”.component.DonationServiceBean.JndiBindingsService]
    service jboss.naming.context.java.module.my-aktion.my-aktion.DonationServiceBean (unavailable) dependents: [service jboss.deployment.unit.”my-aktion.war”.component.DonationServiceBean.JndiBindingsService]

    Auch nachdem ich den gesamten Code aus github ziehe, bleibt der Fehler bestehen. Ich habe jetzt den Stand vom Ende des Kapitels JPA wiederhergestellt und habe mich bis 8.2.3 vorgearbeitet, habe aber die jboss_web.xml ausgelassen. Noch funktioniert alles, aber ich wüsste gerne wo der Fehler liegt.

  • d.v.

    Ich hatte Schwierigkeiten bei der SSL Konfiguration meines WildFly 8.2 Die Anpassungen auf Seite 260 waren nicht ganz korrekt angegeben. Der https-listener muss an folgender Stelle eingetragen werden:

    • FS

      Ich bin ebenfalls an dieser Stelle hängen geblieben und nach Änderungen in der standalone.xml gemäß Buch hat sich der JBOSS Server nicht mehr starten lassen.

      Nach Änderungen gemäß folgenden Link konnte der Server wieder gestartet werden und https war funktionsfähig:
      http://reallifejava.com/configuring-ssl-in-wildfly-8/

  • Christoph

    Hallo,

    das buch ist super. Die Erklärungen sind gut und das Beispiel hilft gut die Themen zu verstehen.

    Die Rest Services bekomme ich aber nicht zum laufen. Ich hatte bereits Tutorials mit JAX-RS mit einem Tomcat Server laufen und da hatte geklappt. Das Mapping scheint bei mir absolut ignoriert zu werden.
    Im web.xml habe ich das servlet mapping:

    javax.ws.rs.core.Application
    /rest/*

    Zugriff Organisator via REST
    /rest/organizer/*


    Wenn ich die Aufrufe zum Erzeugen des Cookies durchführe und anschließend:
    curl -k -b cookie.txt http://localhost:8080/my-aktion/rest/organizer/campaign/list
    Dann erhalte ich nur die Rückmeldung dass die Seite nicht existiert (404- Not Found).

    Wie kann ich diesen Fehler eingrenzen?
    Ich habe gesehen, dass das pom.xml im zugehörigen github anders aussieht. Das bezieht sich aber anscheinend auch noch nicht auf wildfly. Im Buch wird JAX-RS auch gar nicht explizit ins pom.xml mit aufgenommen.

    Für jeden Hinweis bin ich dankbar.
    Grüße,
    Christoph

  • Thomas Hermann

    Hallo,
    ich versuche anstatt der JBoss DB eine Oracle Datenbank zu benutzen. Ich möchte den Oracle ojdbc benutzen. Ich bekomme einfach keine persistance.xml hin die funktioniert. Was muß man da beachten?

  • Volker

    Hallo,
    leider laufen die Arquillian Test nicht. Ich bekomme diese Exception.
    Pom ist wie im Buch angepasst.

    Nov 19, 2015 3:41:17 PM org.jboss.arquillian.drone.webdriver.factory.remote.reusable.ReusedSessionPermanentFileStorage readStore
    INFORMATION: Reused session store is not available at C:\Users\dfo\.drone-webdriver-session-store, a new one will be created.

    Grüße
    Volker

  • Jan Tack

    Funktioniert bei jemandem der Test aus Abschnitt 8.2.8 (2. Auflage des Buches, Seite 264f)?

    Weil bei mir die Tests immer wieder scheiterten, habe ich mir den JPA- und den EJB-Trunk aus dem Git-Hub gezogen und in beiden den Testbrowser jeweils von “firefox” auf “phantomjs” umgestellt.

    Beim JPA-Trunk, der den Zustand nach Kapitel 7 wiederspiegelt laufen die Tests fehlerfrei. Anders beim EJB-Trunk, der dem Stand nach Kapitel 8 entspricht. Hier enden die Tests mit einer “NoSuchElementException”.

    Die Details in der Fehlermeldung deuten darauf hin, das etwas mit dem Login-Vorgang nicht stimmt:

    Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.841 sec <<< FAILURE! – in de.dpunkt.myaktion.test.DonateMoneyITCase
    testDonateMoney(de.dpunkt.myaktion.test.DonateMoneyITCase) Time elapsed: 3.444 sec <<< ERROR!
    org.openqa.selenium.NoSuchElementException: {"errorMessage":"Unable to find element with xpath '//button/span[text()='Aktion hinzufügen']'","request":{"headers":{"Accept":"application/json, image/png","Connection":"Keep-Alive","Content-Length":"70","Content-Type":"application/json; charset=utf-8","Host":"localhost:5418"},"httpVersion":"1.1","method":"POST","post":"{\"using\":\"xpath\",\"value\":\"//button/span[text()='Aktion hinzufügen']\"}","url":"/element","urlParsed":{"anchor":"","query":"","file":"element","directory":"/","path":"/element","relative":"/element","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/element","queryKey":{},"chunks":["element"]},"urlOriginal":"/session/ecca7470-a6e9-11e5-b86f-d93f15376398/element"}}

    Ein kurze Rückmeldung, ob andere das gleiche Problem haben wäre schon hilfreich. Danke!

    • Jan Tack

      Korrektur: Dort wo Trunk steht, war Branch geweint, Sorry

  • Michael Nowak

    Bei wird beim Listing 4-16 die Inhalte der Beans mittels Expression Language nicht übernommen. Ich nutze NetBeans 8.1, GlassFish 4.1 und JSF 3.1 . Kann mir bitte jemand auf die Sprünge helfen? In den einschlägigen Foren habe ich keine befriedigende Antwort gefunden.

  • Bernd

    Kann Projekt (Stand S.82) nicht deployen.
    Meine pom.xml:

    4.0.0
    de.dpunkt
    my-aktion
    1.0-SNAPSHOT
    war

    javax
    javaee-api
    7.0
    provided

    my-aktion

    org.wildfly.plugins
    wildfly-maven-plugin
    1.0.1.Final

    1.8
    1.8
    false
    UTF-8

    Bei Eingabe von mvn package wildfly:deploy bekomme ich folgende Meldung:

    [INFO] BUILD FAILURE

    [ERROR] Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:1.0.1.Final:deploy (default-cli) on project my-aktion: Deployment failed and was rolled back. -> [Help 1]
    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:1.0.1.Final:deploy (default-cli) on project my-aktion: Deployment failed and was rolled back.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    usw.

    Woran kann das liegen?

  • Bernd

    [Info: Die Tags in der pom.xml werden oben nicht angezeigt, sind aber vorhanden.]