Java EE kompakt - Power Workshop



Ähnliche Dokumente
Java Persistence API mit Hibernate

Java EE kompakt - Power Workshop

JSP und Servlet Programmierung

WebSphere Application Server Installation

Tomcat Konfiguration und Administration

Java Performance Tuning

PHP Programmierung. Seminarunterlage. Version 1.02 vom

Web-Anwendungen mit JavaServer Faces

Contexts and Dependency Injection. W3L AG

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

MySQL Administration. Seminarunterlage. Version 3.02 vom

Linux Cluster mit Pacemaker und Heartbeat 3

Big Data Informationen neu gelebt

Oracle Backup und Recovery

IBM Informix Dynamic Server Hochverfügbarkeits-Technologien unter Unix

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

Apache HTTP Server Administration

SE2-10-Entwurfsmuster-2 15

Übungsaufgabe Transaktion als Middleware

Oracle Weblogic Administration Grundlagen

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen

Administration und Konfiguration für JBOSS

Linux Hochverfügbarkeits-Cluster

Geschäftskomponenten mit EJB 3.1

Programmierung von Client/Server- Anwendungen

Programmierung von Java- Webanwendungen. paluno

IT-Projektcontrolling

Hibernate Das Praxisbuch für Entwickler

Oracle Cloud Control. Seminarunterlage. Version vom

Administration und Konfiguration für JBoss 7

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

SAP NetWeaver Gateway. 2013

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Security Technologien in Java EE 6

IBM Informix SQL. Seminarunterlage. Version vom

Softwareentwicklung mit Enterprise JAVA Beans

Objektorientierung in Oracle

Inhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:

Architektur des agimatec-validation Frameworks

Zustandsgebundene Webservices

Freundliche Eindringlinge. Moderne Web- Applika1onen mit CDI

Enterprise Java Beans

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Persistenz. Ralf Gitzel

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Auszug aus JAX-WS Folien

Java EE Projektseminar

Bernd Müller. JavaServer Faces 2.0. Ein Arbeitsbuch für die Praxis ISBN: Weitere Informationen oder Bestellungen unter

Java-Persistence-API mit Hibernate

Oracle Capacity Planning

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Enterprise Java Beans Einführung

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, Universität Freiburg, Germany

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Java Persistence API 2.x. crud + relationships + jp-ql

IBM Informix Tuning und Monitoring

Zend PHP Cloud Application Platform

Enterprise Softwarearchitekturen in Java

Oracle Backup und Recovery mit RMAN

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Oracle AWR und ASH Analyse und Interpretation

Inhaltsverzeichnis. 1 Ein Einstieg mit Profil 1. 2 Aufsetzen der Entwicklungsumgebung 19

Application Frameworks

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Java Web Services. Seminarunterlage. Version 4.02 vom

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Enterprise JavaBeans Überblick: 12. Session Facade Einleitung 12.2 Problem 12.3 Lösung. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 460

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Struts 2 Das Imperium schlägt zurück?

Geschäftskomponenten mit EJBs

Oliver Paulus, 7. Februar Spring Framework Einführung. Oliver Paulus, Was ist Spring?

Dirk Reinemann Working Student Sales Consulting

Enterprise JavaBeans

Erfahrungsbericht zu JBoss SOA Platform 6 Tech Talk 2013, 17. Oktober 2013, Bern

Gregor Raschke 2008 HIBERNATE. Eine Einführung

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

1 Einleitung Jetzt wird s leicht! 9

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Rapide An Event-Based Architecture Definition Language

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Automatisiertes Testen von Java EE-Applikationen mit Arquillian

JBoss 7 als Plattform für hochverfügbare Anwendungen

Oliver Ihns, Dierk Harbeck, Stefan M. Heldt, Holger Koschek. EJB 3 professionell

JBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Spring Dynamic Modules for OSGi Service Platforms

Next generation open source BPM JBoss jbpm 4. Java Forum Stuttgart

Einführung in die objektorientierte Programmierung

Java Persistence API. Phillip Ghadir Oliver Tigges

Transkript:

Java EE kompakt - Power Workshop Seminarunterlage Version: 2.02 Version 2.02 vom 28. April 2015

Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der weitergegeben oder benutzt werden. Die besitzt folgende Geschäftsstellen Adressen der Westernmauer 12-16 D-33098 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Marlene-Dietrich-Str. 5 D-89231 Neu-Ulm Tel.: (+49) 07 31 / 9 85 88 550 Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Internet: http://www.ordix.de Email: training@ordix.de Seite 2 Version: 2.02

Inhaltsverzeichnis 1 Überblick - Java EE Plattform... 10 1.1 Java-EE-Architektur (4-Schichten-Architektur)... 11 1.2 4-Schichten-Architektur... 12 1.3 Java EE Plattform... 13 1.4 Java-EE Spezifikationen (JSR 342)... 14 1.5 Java-EE-Applikationsserver... 15 1.6 EJB-Komponentenarchitektur... 16 1.7 EJB-Container... 17 1.8 Easy Packaging... 18 1.8.1 Easy packaging Ear-Datei... 19 1.8.2 EAR-Datei... 20 1.8.3 Easy packaging War-Datei... 21 1.8.4 Beispiel: Easy (War) packaging... 22 2 Enterprise Java Beans... 23 2.1 Enterprise Java Beans... 24 2.2 Aufrufmodelle von Clients... 25 2.3 Session Beans... 26 2.3.1 Mikroarchitektur einer Session-Bean... 27 2.3.2 Bean-Klasse... 28 2.3.3 Business-Interface... 29 2.3.4 No-Interface Client View (No-Interface View)... 30 2.3.5 Beispiel: Lokaler Zugriff - @EJB... 31 2.3.6 Annotation @LocalBean... 32 2.3.7 Bean-Instanz... 33 2.3.8 Transaktionskontext... 34 2.3.9 Beispiel: Deklarative Transaktionalität... 35 2.4 Asynchrone Session Beans... 36 2.4.1 Asynchrone Methodenaufrufe... 37 2.4.2 Asynchronität in Java-EE... 38 2.4.3 Asynchrone Session Bean... 39 2.4.4 Client Kommunikation... 40 2.4.5 Nebenläufiger Task... 41 2.4.6 Asynchrone (Stateful) Session Beans... 42 2.4.7 Annotation @AccessTimeout... 43 2.5 Stateless Session Beans... 44 2.5.1 Lebenszyklus... 45 2.5.2 Instanz-Pooling... 46 2.5.3 Exception... 47 2.6 Stateful Session Beans... 48 2.6.1 Eigenschaften... 49 2.6.2 Lebenszyklus... 50 2.6.3 Exception... 51 2.6.4 Beenden der Konversation... 52 2.6.5 Passivierung... 53 2.6.6 Passivierungskandidaten... 54 2.6.7 Automatische Freigabe Timeout... 55 2.6.8 Interface SessionSynchronization... 56 2.7 Singleton... 57 2.7.1 Singleton-Pattern... 58 2.7.2 Singleton Session Bean... 59 2.7.3 Lebenszyklus... 60 2.7.4 Initialisierung... 61 2.7.5 Initialisierung Abhängigkeiten... 62 2.7.6 Nebenläufigkeit... 63 2.7.7 Container-Managed Nebenläufigkeit... 64 2.7.8 Singleton Session Bean - Loopback-Calls... 65 Version: 2.02 Seite 3

2.7.9 Session-Bean Fazit... 66 3 Message Driven Beans... 67 3.1 Messaging... 68 3.1.1 Prinzip des Messaging... 69 3.1.2 Point-to-Point... 70 3.1.3 Publish-and-Subscribe... 71 3.2 Java-Message-Service (JMS)... 72 3.3 Queue-Konfiguration Quick and Dirty für JBoss 7.x... 73 3.4 JMS-Client: Connection und Session aufbauen... 74 3.5 JMS-Client: MessageProducer / MessageConsumer... 75 3.6 Client-Zugriff, Details... 76 3.6.1 ConnectionFactory... 76 3.6.2 Connection... 77 3.6.3 Session... 78 3.6.4 Queue... 79 3.6.5 MessageProducer... 80 3.6.6 MessageConsumer... 81 3.6.7 QueueBrowser... 82 3.7 Message-Header... 83 3.7.1 Properties... 83 3.7.2 Message Type... 84 3.8 Beispiel: JMS-EJB-Client... 85 3.9 Message Driven Bean... 86 3.10 JMS im J2EE-Server... 87 3.11 Transaktionalität... 88 3.12 Integration von JMS und EJB... 89 3.13 Typen von Message-Driven Beans... 90 3.14 Bean-Klasse... 91 3.15 Beispiel: MDB... 92 3.16 Konfigurationseigenschaften der MDB... 93 3.17 Message Selector... 94 3.18 Lebenszyklus von Message-Driven Beans... 95 4 Best Practices... 97 4.1 Komponenten der EJB-Anwendung... 98 4.2 Komponenten der Facade... 99 4.2.1 Facade... 100 4.3 Dependency Injection... 101 4.4 Beispiel Fassade... 102 4.5 Interzeptoren... 103 4.5.1 Business Methoden Interzeptoren... 104 4.6 Service Bean... 105 4.6.1 Beispiel Service Bean... 106 4.7 Data Access Layer... 107 5 EJB-Container Dienste... 108 5.1 Zugriff auf EJBs über JNDI... 109 5.1.1 Namen und Verzeichnisdienst... 110 5.1.2 Standardisierung - Portable JNDI-Namen... 111 5.1.3 JNDI-Namen Besonderheiten... 112 5.1.4 Beispiel 1: JNDI Zugriff auf EJB - Single View... 113 5.1.5 Beispiel 2: JNDI Zugriff auf EJB - Multiple Views... 114 5.1.6 Beispiel 3: DI mit Portable JNDI-Namen... 115 5.1.7 Zugriff auf JNDI Clientseitig... 116 5.2 Timer Service... 117 5.2.1 Timer Service... 118 5.2.2 Programmgesteuerte Timer... 119 5.2.3 Timeout Methode... 120 Seite 4 Version: 2.02

5.2.4 Persistente Timer... 121 5.2.5 Automatische Timer... 122 5.2.6 Zeitpläne... 123 5.2.7 Beispiel: Zeitpläne... 124 5.2.8 Beispiel: Programmgesteuertes Timer... 125 5.3 Interzeptoren... 127 5.3.1 Aspektorientierte Programmierung (AOP)... 128 5.3.2 Interzeptoren in Java-EE... 129 5.3.3 Interzeptoren-Typen... 130 5.3.4 Interzeptoren in der EJB-Spezifikation... 131 6 Contexts and Dependency Injection... 134 6.1 Motivation... 135 6.2 Dependency Injection (DI)... 136 6.3 Warum CDI in Java EE?... 137 6.4 CDI in Java EE 6 (JSR 299)... 139 6.5 Schichtenübergreifende Injektion... 140 6.5.1 CDI Scope... 141 6.5.2 Der Begriff Bean in CDI... 142 6.5.3 Beispiel: Managed Bean 1.0 - CDI Bean... 143 6.5.4 Beans in Java EE 6 - EJB, REST, CDI,... 144 6.5.5 CDI Container Spezifische Dienste... 145 6.5.6 Beispiel: CDI-Bean... 146 6.6 Managed Beans Spezifische Annotationen... 147 6.7 Classpath beans.xml... 148 6.8 CDI Container Grundprinzipien und Hauptakteure... 149 6.9 Basis-Injection in CDI... 150 6.10 Beispiel: Method-Injection... 151 6.11 Qualifier... 152 6.11.1 Definition Qualifier... 153 6.11.2 Beispiel... 155 6.11.3 Built-In Qualifiers... 156 6.11.4 @Named Bean in EL... 157 6.11.5 @Any... 158 6.11.6 @New... 159 6.12 Interface Instance<T>... 160 6.12.1 Beispiel... 161 6.13 Stateful-Objekte... 162 6.13.1 Built-In Scope Stateful-Objekte... 163 6.13.2 @ConversationScoped... 164 6.14 CDI in Java SE... 165 6.15 Erzeugung von Bean Instanzen @Produces... 166 6.16 Beispiel: Consumer Producer... 167 6.17 Erzeugung anderer Instanzen @Produces... 168 6.18 Typsichere Java-EE-Resourcen Producer... 169 6.19 Typsichere Java-EE-Resourcen Consumer... 170 6.20 @Disposes... 171 6.21 CDI Events... 172 6.21.1 Prinzip... 172 6.21.2 POJOs... 173 6.21.3 Beispiel 1... 174 6.21.4 Beispiel 2... 175 6.22 Alternative Bean... 176 6.22.1 Beispiel... 177 6.22.2 Alternative Bean mit Angabe der Priorität... 178 6.23 Interceptors... 179 6.24 CDI Interzeptoren... 180 6.24.1 Aktivierung der CDI Interceptoren... 181 6.24.2 Composite Interceptor Binding... 182 6.25 CDI Decorator... 183 Version: 2.02 Seite 5

6.26 Stereotypen... 184 6.26.1 Beispiel: Ohne Stereotypes... 185 6.26.2 Beispiel: Einsatz von Stereotypes... 186 6.26.3 Built-In Stereotypes in JSF- @Model... 187 7 Java Persistence API... 188 7.1 Java Persistence API (JPA)... 189 7.2 Charakteristik von Entities... 190 7.3 JPA / Entities... 191 7.3.1 @Table... 192 7.3.2 @Column... 193 7.3.3 Zu persistierende Felder... 195 7.3.4 @Transient... 196 7.3.5 @Basic... 197 7.3.6 @Enumerated... 199 7.3.7 @Lob... 200 7.3.8 @Temporal... 201 7.4 Multi-table Mapping... 202 7.4.1 @SecondaryTable... 203 7.5 Eingebettete Objekte... 204 7.6 Primärschlüssel... 206 7.7 JPA-Konfiguration... 211 7.8 Der Entity Manager (1/6)... 212 7.9 Detachment... 215 7.10 Der Lebenszyklus einer Entity... 216 7.11 Operationen... 218 7.12 Callbacks bei Entities... 219 7.13 Abfragen... 220 8 Relationen... 225 8.1 Kardinalitäten... 226 8.2 One-to-One Beziehungen... 227 8.3 One-to-Many Beziehungen... 231 8.4 Many-to-Many Beziehungen... 234 8.5 Update von One-to-Many... 236 8.6 Kaskadieren von Operationen... 237 9 Vererbung... 239 9.1 Einleitung... 240 9.2 Strategien... 241 9.3 Vererbungshierarchie... 242 9.4 SINGLE_TABLE... 243 9.5 TABLE_PER_CLASS... 248 9.6 JOINED... 251 9.7 Mapped Superclass... 254 9.8 Transiente Klassen... 258 9.9 Polymorphe Abfragen... 259 9.10 Polymorphe Assoziationen... 262 9.11 Fallstricke... 263 10 Java Persistence API 2.0... 267 10.1 JPA 1.0 vs. JPA 2.0... 268 10.2 Neuigkeiten in JPA 2.0 Mapping... 269 10.3 Standard Properties in persistence.xml... 271 10.3.1 Beispiel: Persistence.xml in JPA 1.0... 272 10.3.2 Beispiel: Persistence.xml in JPA 2.0... 273 10.4 Einführung in die Criteria-API... 274 10.5 Metamodell-Klassen... 277 10.6 Hibernate Metamodell Generator... 279 Seite 6 Version: 2.02

10.7 Pfad/Join-Ausdrücke... 280 10.8 Bedingungen... 284 10.9 Parameter... 287 10.10 Rückgabewerte... 289 10.11 Fazit... 293 11 Java Server Faces 2.0... 295 11.1 MVC Model2 + Navigation... 296 11.1.1 View... 297 11.1.2 View Beispiel Ansicht... 298 11.1.3 View Beispiel... 299 11.1.4 JSF-View-Elemente... 300 11.1.5 Expression Language... 301 11.1.6 Model Konfiguration über Annotations... 302 11.1.7 Action-Methode... 303 11.1.8 Implizite Navigation... 304 11.2 Benutzeroberfläche... 305 11.2.1 Auswahl einer View-Komponente... 306 11.2.2 Basiselemente... 307 11.2.3 Anzeigen von Listen... 308 11.2.4 Komponente datatable... 309 11.2.5 Auswahl eines Elementes... 310 11.2.6 Eigenschaften der Auswahl-Elemente... 311 11.2.7 View zur Erzeugung von Auswahl-Elementen... 312 11.2.8 Model für die Personenauswahl... 313 11.2.9 Auswahl mehrerer Elemente... 314 11.2.10 Multiselect Eigenschaften... 315 11.2.11 Model für die Mehrfachauswahl... 316 11.3 Converter... 317 11.3.1 Was sind Converter?... 318 11.3.2 Standard-Converter... 319 11.3.3 IntegerConverter... 320 11.3.4 Number-Converter... 321 11.3.5 Optionen zum Number-Converter... 322 11.3.6 Converter erstellen... 323 11.3.7 Konvertierung programmieren - im Konstruktor... 324 11.3.8 Konvertierung programmieren - tostring()... 325 11.3.9 JSF-Converter... 326 11.4 Validierung... 327 11.4.1 Was ist Validierung?... 328 11.4.2 Welche Validatoren gibt es?... 329 11.4.3 required... 330 11.4.4 validatelength... 331 11.4.5 Validator programmieren... 332 11.4.6 Validator-Klasse... 333 11.4.7 Validator einsetzen... 334 11.4.8 Bean Validation... 335 12 Transaktionen... 338 12.1 Was ist eine Transaktion?... 339 12.2 Grundlegende Probleme... 340 12.3 ACID-Eigenschaften... 341 12.4 Isolation-Level... 342 12.5 Probleme bei Konkurrenzzugriff... 343 12.6 Lösung der Probleme... 344 12.7 Grenzen einer Transaktion... 345 12.8 Transaktionsmodelle... 346 12.9 Transaktionen und Applikations-Server... 347 12.10 EJBs und Transaktionen... 348 12.11 Container-Managed Transactions (CMT)... 349 Version: 2.02 Seite 7

12.12 CMT Transaktionsattribute... 350 12.13 Transaktionsattribute Required... 351 12.14 Transaktionsattribute Requires New... 352 12.15 Weitere Transaktionsattribute... 353 12.16 CMT Transaktionsgrenzen... 354 12.17 Bean-Managed Transactions (BMT)... 355 12.17.1 (BMT) - UserTransaction-Interface... 356 12.17.2 BMT Programmbeispiel... 357 12.18 CMT oder BMT?... 358 13 Bean Validierung 1.0... 359 13.1 Validierung... 360 13.1.1 Beispiel... 361 13.2 Vordefinierte Constraints... 362 13.3 Benutzerdefinierte Constraints... 364 13.4 Kaskadierung... 365 13.5 Validierungsgruppen... 366 13.5.1 Definition... 366 13.5.2 Anwendung... 367 13.6 Implizite Validierung in JPA... 368 13.7 Weitere Konfigurationsmöglichkeiten... 369 13.8 Explizite Validierung... 370 14 Security... 372 14.1 Aufgaben und Bestandteile... 373 14.2 Container Security... 374 14.3 Security Annotations... 375 14.4 Security Annotations (Beispiel)... 376 14.5 Security im DD ejb-jar.xml... 377 14.6 Security im Programmcode... 378 14.7 Zusammenfassung... 379 15 Batch Processing... 380 15.1 Motivation... 381 15.2 Stapelverarbeitung (Batch)... 382 15.3 Batch Applikationen... 383 15.4 Batch Processing (JSR 352)... 384 15.4.1 Batch Architektur... 384 15.4.2 JSR 352 - Batch Processing... 385 15.4.3 JSR 352 - Java Batch API... 386 15.4.4 JSR 352 - Java Batch API... 387 15.5 Batch Artefakte mit Java EE 7 (JSR 352)... 388 15.5.1 Batch Framework in Java EE 7... 388 15.5.2 Infrastruktur-Komponenten... 389 15.5.3 Struktur einer Batch Applikation (Job)... 390 15.5.4 Job - Konfiguration & Packaging... 391 15.5.5 Batch-Verarbeitung... 392 15.5.6 Batchlet... 393 15.5.7 Beispiel: Batchlet... 394 15.5.8 Chunk (Block)... 395 15.5.9 Standard Step Verarbeitung... 396 15.5.10 Batch Checkpoints... 397 15.5.11 Checkpoint-Policy (item)... 398 15.5.12 Checkpoint-Policy (custom)... 399 15.5.13 Checkpoint Algorithmus... 400 15.5.14 Chunk Verarbeitung mit Checkpointing... 401 15.5.15 Batch Konstrukt... 402 15.5.16 Chunk ItemReader... 403 15.5.17 Chunk ItemProcessor... 404 Seite 8 Version: 2.02

15.5.18 Chunk ItemWriter... 405 15.5.19 Parallelisierung - Partition-Map-Reduce... 406 15.5.20 Partition-Map-Reduce... 407 15.5.21 Partitionierung - statische Aufteilung... 408 15.5.22 Partitionierung - dynamische Aufteilung... 409 15.5.23 Parallelisierung durch Splits und Flows... 410 15.5.24 Properties und Parameter... 411 15.5.25 @BatchProperty... 412 15.5.26 Job XML Attribut-Substitution... 413 15.5.27 Job-Metadaten... 414 15.5.28 Batch Job starten und Status abfragen... 415 15.5.29 Batch Job Abfragen... 416 15.5.30 Batch Job Status... 417 15.5.31 Exceptions und Fehlerbehandlung... 418 15.5.32 Exceptions abfangen... 419 15.5.33 Injektion von JobContext, StepContext... 420 15.5.34 Listener... 421 16 Anhang: JAX-RS 1.0 Webservices... 422 16.1 REST... 423 16.2 RESTful Services mit Java EE... 424 16.3 Ressourcen... 425 16.4 JAX-RS Application... 426 16.5 Jersey Servlet in web.xml... 427 16.6 Application Class... 428 16.6.1 Beispiel... 429 16.7 Wichtige Annotationen... 430 16.7.1 @Path... 431 16.7.2 @Produces... 432 16.7.3 @Consumes... 433 16.8 Transformation von Daten... 434 16.9 HTTP Response Codes... 435 16.10 Services und Java-EE-Infrastruktur... 436 16.11 JAX-RS mit EJB-Unterstützung... 437 Version: 2.02 Seite 9