├── .gitignore
├── README.md
└── code
├── chapter10
├── javaee7-ws-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter10
│ │ │ │ └── ws
│ │ │ │ ├── Account.java
│ │ │ │ ├── AccountManager.java
│ │ │ │ ├── AccountWS.java
│ │ │ │ └── AccountWSItf.java
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ │ ├── MANIFEST.MF
│ │ │ │ └── persistence.xml
│ │ └── webapp
│ │ │ ├── WEB-INF
│ │ │ └── web.xml
│ │ │ └── index.jsp
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter10
│ │ └── test
│ │ └── TestWS.java
└── javaee7-ws-handler
│ ├── README.md
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter10
│ │ │ ├── handler
│ │ │ ├── SampleLogicalHandler.java
│ │ │ └── SampleSOAPHandler.java
│ │ │ └── ws
│ │ │ ├── Account.java
│ │ │ ├── AccountManager.java
│ │ │ ├── AccountWS.java
│ │ │ └── AccountWSItf.java
│ ├── resources
│ │ ├── META-INF
│ │ │ ├── MANIFEST.MF
│ │ │ └── persistence.xml
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter10
│ │ │ └── ws
│ │ │ └── handlers.xml
│ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
│ └── test
│ └── java
│ └── com
│ └── itbuzzpress
│ └── chapter10
│ └── test
│ └── TestWS.java
├── chapter11
├── javaee7-rest-aysnc
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter11
│ │ │ │ ├── activator
│ │ │ │ └── JaxRsActivator.java
│ │ │ │ ├── ejb
│ │ │ │ └── DataList.java
│ │ │ │ ├── handler
│ │ │ │ └── MyTimeoutHandler.java
│ │ │ │ ├── model
│ │ │ │ └── SimpleProperty.java
│ │ │ │ └── service
│ │ │ │ └── ParamRESTService.java
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter11
│ │ └── test
│ │ ├── TestAsyncClient.java
│ │ └── TestSyncClient.java
├── javaee7-rest-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter11
│ │ │ ├── activator
│ │ │ └── JaxRsActivator.java
│ │ │ ├── ejb
│ │ │ └── DataList.java
│ │ │ ├── model
│ │ │ └── SimpleProperty.java
│ │ │ └── service
│ │ │ ├── ParamRESTService.java
│ │ │ └── SimpleRESTService.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-rest-client
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter11
│ │ │ │ ├── activator
│ │ │ │ └── JaxRsActivator.java
│ │ │ │ ├── ejb
│ │ │ │ └── DataList.java
│ │ │ │ ├── model
│ │ │ │ └── SimpleProperty.java
│ │ │ │ └── service
│ │ │ │ ├── ParamRESTService.java
│ │ │ │ └── SimpleRESTService.java
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter11
│ │ └── test
│ │ └── TestClient.java
├── javaee7-rest-filters
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter11
│ │ │ │ ├── filter
│ │ │ │ ├── CachingFilter.java
│ │ │ │ └── LoggingFilter.java
│ │ │ │ ├── model
│ │ │ │ ├── JaxRsActivator.java
│ │ │ │ └── SimpleProperty.java
│ │ │ │ └── service
│ │ │ │ └── SimpleRESTService.java
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter11
│ │ └── test
│ │ ├── TestClient.java
│ │ └── filter
│ │ └── ClientFilter.java
├── javaee7-rest-interceptors
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter11
│ │ │ │ ├── interceptor
│ │ │ │ ├── ZipReaderInterceptor.java
│ │ │ │ └── ZipWriterInterceptor.java
│ │ │ │ ├── model
│ │ │ │ ├── JaxRsActivator.java
│ │ │ │ └── SimpleProperty.java
│ │ │ │ └── service
│ │ │ │ └── SimpleRESTService.java
│ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter11
│ │ └── test
│ │ └── TestClient.java
└── javaee8-rest-sse
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter11
│ │ ├── SseResource.java
│ │ ├── activator
│ │ └── JaxRsActivator.java
│ │ └── client
│ │ └── SSEClient.java
│ └── webapp
│ ├── broadcast.jsp
│ └── index.html
├── chapter12
├── javaee7-jms-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter12
│ │ │ ├── controller
│ │ │ └── MessageSender.java
│ │ │ └── mdb
│ │ │ └── MDBSample.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.xhtml
└── javaee7-jms-client
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── itbuzzpress
│ └── chapter12
│ ├── HelloWorldJMSClient.java
│ └── JMSClient.java
├── chapter13
├── javaee7-json
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── sample
│ │ │ ├── objectmodel
│ │ │ ├── ParseJSON.java
│ │ │ ├── ProduceJSON.java
│ │ │ └── ProduceJSONArray.java
│ │ │ └── streaming
│ │ │ ├── ConsumeJSONStream.java
│ │ │ └── ProduceJSONStream.java
│ │ ├── resources
│ │ ├── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── data.json
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
└── javaee8-jsonb
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── json
│ │ ├── activator
│ │ └── JaxRsActivator.java
│ │ ├── model
│ │ └── Person.java
│ │ └── service
│ │ └── JsonService.java
│ └── webapp
│ └── index.jsp
├── chapter14
├── javaee7-batch-batchlet
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter14
│ │ │ ├── batchlet
│ │ │ └── DatabaseBatchlet.java
│ │ │ ├── model
│ │ │ └── User.java
│ │ │ └── servlet
│ │ │ └── TestBatchlet.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ ├── batch-jobs
│ │ │ └── simplebatchlet.xml
│ │ │ └── persistence.xml
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-batch-chunk-checkpoint
│ ├── README.md
│ ├── input.csv
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter14
│ │ │ ├── chunk
│ │ │ ├── BatchCheckpointAlgorithm.java
│ │ │ ├── BatchItemProcessor.java
│ │ │ ├── BatchItemReader.java
│ │ │ └── BatchItemWriter.java
│ │ │ ├── ejb
│ │ │ └── EJBSingleton.java
│ │ │ ├── exception
│ │ │ └── IllegalItemException.java
│ │ │ └── servlet
│ │ │ └── TestChunk.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ ├── batch-jobs
│ │ │ └── simplejob.xml
│ │ │ ├── create.sql
│ │ │ └── drop.sql
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-batch-chunk
│ ├── README.md
│ ├── input.csv
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter14
│ │ │ ├── chunk
│ │ │ ├── BatchItemProcessor.java
│ │ │ ├── BatchItemReader.java
│ │ │ └── BatchItemWriter.java
│ │ │ ├── exception
│ │ │ └── IllegalItemException.java
│ │ │ └── servlet
│ │ │ └── TestChunk.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ ├── batch-jobs
│ │ │ └── simplejob.xml
│ │ │ ├── create.sql
│ │ │ └── drop.sql
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-batch-decision
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter14
│ │ │ ├── batchlet
│ │ │ └── SimpleBatchlet.java
│ │ │ ├── decision
│ │ │ └── DecisionNode.java
│ │ │ └── servlet
│ │ │ └── TestDecision.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ └── batch-jobs
│ │ │ └── decision.xml
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-batch-exception
│ ├── README.md
│ ├── input.csv
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter14
│ │ │ ├── chunk
│ │ │ ├── BatchItemProcessor.java
│ │ │ ├── BatchItemReader.java
│ │ │ └── BatchItemWriter.java
│ │ │ ├── exception
│ │ │ └── IllegalItemException.java
│ │ │ ├── listener
│ │ │ └── ChunkSkipWriteListener.java
│ │ │ └── servlet
│ │ │ └── TestChunk.java
│ │ ├── resources
│ │ └── META-INF
│ │ │ ├── batch-jobs
│ │ │ └── simplejobexception.xml
│ │ │ ├── create.sql
│ │ │ └── drop.sql
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.jsp
└── javaee7-batch-listeners
│ ├── README.md
│ ├── input.csv
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter14
│ │ ├── chunk
│ │ ├── BatchItemProcessor.java
│ │ ├── BatchItemReader.java
│ │ └── BatchItemWriter.java
│ │ ├── exception
│ │ └── IllegalItemException.java
│ │ ├── listener
│ │ ├── BatchItemProcessListener.java
│ │ ├── BatchItemReadListener.java
│ │ └── BatchItemWriteListener.java
│ │ └── servlet
│ │ └── TestListener.java
│ ├── resources
│ └── META-INF
│ │ ├── batch-jobs
│ │ └── listener.xml
│ │ ├── create.sql
│ │ └── drop.sql
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ └── web.xml
│ └── index.jsp
├── chapter15
├── javaee7-managedcontextual
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter15
│ │ │ ├── ejb
│ │ │ └── ContextExecutorEJB.java
│ │ │ ├── job
│ │ │ └── CallableTask.java
│ │ │ └── servlet
│ │ │ └── ExecutorServlet.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-managedexecutor
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter15
│ │ │ ├── ejb
│ │ │ └── SimpleEJB.java
│ │ │ ├── job
│ │ │ ├── CallableTask.java
│ │ │ ├── SimpleTask.java
│ │ │ └── TxCallableTask.java
│ │ │ └── servlet
│ │ │ ├── CallableExecutorServlet.java
│ │ │ ├── ExecutorServlet.java
│ │ │ └── TxCallableExecutorServlet.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-managedfactoryexecutor
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter15
│ │ │ ├── job
│ │ │ ├── CallableTask.java
│ │ │ └── SimpleTask.java
│ │ │ └── servlet
│ │ │ ├── FactoryExecutorServiceServlet.java
│ │ │ ├── FactoryExecutorServlet.java
│ │ │ └── PoolExecutorEJB.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
└── javaee7-managedscheduledexecutor
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter15
│ │ ├── job
│ │ ├── CallableTask.java
│ │ └── SimpleTask.java
│ │ └── servlet
│ │ ├── ScheduledCallableExecutorServlet.java
│ │ └── ScheduledExecutor.java
│ └── webapp
│ ├── WEB-INF
│ └── web.xml
│ └── index.jsp
├── chapter16
├── https
│ ├── README.md
│ ├── client.cer
│ ├── client.keystore
│ ├── client.truststore
│ ├── generatekeys.sh
│ ├── script.cli
│ ├── server.cer
│ ├── server.keystore
│ └── server.truststore
├── javaee7-ejb-elytron-ssl
│ ├── README.md
│ ├── client
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter16
│ │ │ │ └── client
│ │ │ │ └── RemoteEJBClient.java
│ │ │ └── resources
│ │ │ ├── META-INF
│ │ │ └── wildfly-config.xml
│ │ │ ├── client.keystore
│ │ │ └── client.truststore
│ ├── script.cli
│ ├── server
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter16
│ │ │ ├── ejb
│ │ │ ├── Account.java
│ │ │ ├── AccountEJB.java
│ │ │ ├── Calculator.java
│ │ │ └── CalculatorEJB.java
│ │ │ └── exception
│ │ │ └── InsufficientFundsException.java
│ └── ssl
│ │ ├── client.cer
│ │ ├── client.keystore
│ │ ├── client.truststore
│ │ ├── generatekeys.sh
│ │ ├── keys.cli
│ │ ├── server.cer
│ │ ├── server.keystore
│ │ └── server.truststore
├── javaee7-ejb-elytron
│ ├── README.md
│ ├── client
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter16
│ │ │ │ └── client
│ │ │ │ └── RemoteEJBClient.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── wildfly-config.xml
│ ├── script.cli
│ └── server
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter16
│ │ ├── ejb
│ │ ├── Account.java
│ │ ├── AccountEJB.java
│ │ ├── Calculator.java
│ │ └── CalculatorEJB.java
│ │ └── exception
│ │ └── InsufficientFundsException.java
├── javaee7-security-elytron
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── security
│ │ │ └── SecuredServlet.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── jboss-web.xml
│ │ └── web.xml
│ │ └── index.html
└── legacy
│ ├── README.md
│ ├── javaee7-ejb-ssl
│ ├── javaee7-ejb-client-ssl
│ │ ├── README.md
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter16
│ │ │ │ └── client
│ │ │ │ └── RemoteEJBClient.java
│ │ │ └── resources
│ │ │ └── jboss-ejb-client.properties
│ ├── javaee7-ejb-server-ssl
│ │ ├── README.md
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter16
│ │ │ │ ├── ejb
│ │ │ │ ├── Account.java
│ │ │ │ ├── AccountEJB.java
│ │ │ │ ├── Calculator.java
│ │ │ │ └── CalculatorEJB.java
│ │ │ │ └── exception
│ │ │ │ └── InsufficientFundsException.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ ├── MANIFEST.MF
│ │ │ └── beans.xml
│ └── ssl
│ │ ├── client.cer
│ │ ├── client.keystore
│ │ ├── client.truststore
│ │ ├── generatekeys.sh
│ │ ├── script.cli
│ │ ├── server.cer
│ │ ├── server.keystore
│ │ └── server.truststore
│ └── javaee7-security-jaas
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter16
│ │ └── servlet
│ │ └── SecureServlet.java
│ ├── resources
│ └── META-INF
│ │ └── MANIFEST.MF
│ └── webapp
│ ├── WEB-INF
│ ├── jboss-web.xml
│ └── web.xml
│ └── index.jsp
├── chapter3
├── javaee7-async-servlet
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter3
│ │ │ └── servlet
│ │ │ └── async
│ │ │ ├── AsyncService.java
│ │ │ ├── AsyncServlet.java
│ │ │ └── ExampleAsyncListener.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── beans.xml
│ │ └── index.jsp
├── javaee7-noblock-servlet
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter3
│ │ │ └── servlet
│ │ │ └── async
│ │ │ ├── ExampleReadListener.java
│ │ │ └── NonBlockingServlet.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── beans.xml
│ │ └── index.jsp
└── javaee8-servlet-push
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter3
│ │ └── servlet
│ │ └── push
│ │ ├── PushImage.java
│ │ └── PushResources.java
│ └── webapp
│ ├── WEB-INF
│ └── beans.xml
│ ├── css
│ ├── myscript.js
│ └── style.css
│ ├── images
│ └── duke.png
│ └── index.jsp
├── chapter4
├── async
│ ├── javaee7-ejb-client-async
│ │ ├── README.md
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter4
│ │ │ │ └── client
│ │ │ │ └── RemoteEJBClient.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── wildfly-config.xml
│ └── javaee7-ejb-server-async
│ │ ├── README.md
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter4
│ │ │ ├── ejb
│ │ │ ├── Account.java
│ │ │ ├── AccountEJB.java
│ │ │ ├── Calculator.java
│ │ │ └── CalculatorEJB.java
│ │ │ └── exception
│ │ │ └── InsufficientFundsException.java
│ │ └── resources
│ │ └── META-INF
│ │ ├── MANIFEST.MF
│ │ └── beans.xml
├── basic
│ ├── javaee7-ejb-client-basic
│ │ ├── README.md
│ │ ├── pom.xml
│ │ └── src
│ │ │ └── main
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter4
│ │ │ │ └── client
│ │ │ │ └── RemoteEJBClient.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── wildfly-config.xml
│ └── javaee7-ejb-server-basic
│ │ ├── README.md
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter4
│ │ │ ├── ejb
│ │ │ ├── Account.java
│ │ │ ├── AccountEJB.java
│ │ │ ├── Calculator.java
│ │ │ └── CalculatorEJB.java
│ │ │ └── exception
│ │ │ └── InsufficientFundsException.java
│ │ └── resources
│ │ └── META-INF
│ │ ├── MANIFEST.MF
│ │ └── beans.xml
└── timer
│ ├── javaee7-ejb-client-timer
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter4
│ │ │ └── client
│ │ │ └── RemoteEJBClient.java
│ │ └── resources
│ │ └── META-INF
│ │ └── wildfly-config.xml
│ └── javaee7-ejb-server-timer
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter4
│ │ ├── ejb
│ │ ├── Account.java
│ │ ├── AccountEJB.java
│ │ ├── Calculator.java
│ │ ├── CalculatorEJB.java
│ │ └── UserRegistry.java
│ │ └── exception
│ │ └── InsufficientFundsException.java
│ └── resources
│ └── META-INF
│ ├── MANIFEST.MF
│ └── beans.xml
├── chapter5
├── cdi-j2se
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── itbuzzpress
│ │ │ │ └── chapter5
│ │ │ │ ├── App.java
│ │ │ │ ├── CDI2Demo.java
│ │ │ │ ├── Hello.java
│ │ │ │ ├── SimpleEvent.java
│ │ │ │ └── SimpleService.java
│ │ └── resources
│ │ │ └── META-INF
│ │ │ └── beans.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── itbuzzpress
│ │ └── chapter5
│ │ └── test
│ │ └── AppTest.java
├── javaee7-cdi-alternative
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter5
│ │ │ ├── bean
│ │ │ ├── GenerateWord.java
│ │ │ ├── Hard.java
│ │ │ ├── Player.java
│ │ │ ├── Rules.java
│ │ │ └── Simple.java
│ │ │ ├── model
│ │ │ └── Word.java
│ │ │ └── qualifier
│ │ │ └── Anagram.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee7-cdi-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter5
│ │ │ ├── bean
│ │ │ ├── GenerateWord.java
│ │ │ └── Player.java
│ │ │ ├── model
│ │ │ └── Word.java
│ │ │ └── qualifier
│ │ │ └── Anagram.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee7-cdi-decorator
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter5
│ │ │ ├── bean
│ │ │ ├── GenerateWord.java
│ │ │ └── Player.java
│ │ │ ├── decorator
│ │ │ ├── PlayerDecorator.java
│ │ │ └── PlayerItf.java
│ │ │ ├── model
│ │ │ └── Word.java
│ │ │ └── qualifier
│ │ │ └── Anagram.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee7-cdi-event
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter5
│ │ │ ├── bean
│ │ │ ├── GenerateWord.java
│ │ │ ├── Player.java
│ │ │ └── WordInventory.java
│ │ │ ├── model
│ │ │ └── Word.java
│ │ │ └── qualifier
│ │ │ └── Anagram.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee7-cdi-interceptor
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter5
│ │ │ ├── bean
│ │ │ ├── GenerateWord.java
│ │ │ └── Player.java
│ │ │ ├── interceptors
│ │ │ └── AuditInterceptor.java
│ │ │ ├── model
│ │ │ └── Word.java
│ │ │ └── qualifier
│ │ │ ├── Anagram.java
│ │ │ └── Auditing.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee7-cdi-qualifier
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter5
│ │ │ ├── bean
│ │ │ ├── GenerateWord.java
│ │ │ └── Player.java
│ │ │ ├── enums
│ │ │ └── Language.java
│ │ │ ├── model
│ │ │ └── Word.java
│ │ │ └── qualifier
│ │ │ └── Anagram.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ └── index.xhtml
└── javaee8-cdi-producerfactory
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter5
│ │ ├── bean
│ │ ├── GenerateWord.java
│ │ ├── Player.java
│ │ └── WordInterceptor.java
│ │ ├── model
│ │ └── Word.java
│ │ └── qualifier
│ │ ├── Anagram.java
│ │ └── AnagramInterceptor.java
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ ├── faces-config.xml
│ └── web.xml
│ └── index.xhtml
├── chapter6
├── javaee7-jsf-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ ├── bean
│ │ │ ├── Manager.java
│ │ │ └── SingletonBean.java
│ │ │ └── model
│ │ │ └── User.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ ├── index.xhtml
│ │ └── resources
│ │ └── style.css
├── javaee7-jsf-composite
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ ├── bean
│ │ │ ├── Manager.java
│ │ │ └── SingletonBean.java
│ │ │ └── model
│ │ │ └── User.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ ├── index.xhtml
│ │ ├── resources
│ │ ├── mycomponents
│ │ │ └── signup.xhtml
│ │ └── style.css
│ │ └── templates
│ │ ├── footer.xhtml
│ │ ├── header.xhtml
│ │ └── template.xhtml
├── javaee7-jsf-contracts
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ ├── bean
│ │ │ ├── Manager.java
│ │ │ ├── SingletonBean.java
│ │ │ └── TemplateBean.java
│ │ │ └── model
│ │ │ └── User.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ ├── admin
│ │ └── index.xhtml
│ │ ├── contracts
│ │ ├── black
│ │ │ ├── style.css
│ │ │ └── template.xhtml
│ │ └── color
│ │ │ ├── style.css
│ │ │ └── template.xhtml
│ │ └── index.xhtml
├── javaee7-jsf-flow
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ └── flow
│ │ │ └── SignupBean.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ ├── index.xhtml
│ │ ├── main
│ │ └── java
│ │ │ └── org
│ │ │ └── javaee7
│ │ │ └── jsf
│ │ │ └── flow
│ │ │ ├── Flow1.java
│ │ │ └── Flow1Bean.java
│ │ └── signup
│ │ ├── signup-flow.xml
│ │ ├── signup.xhtml
│ │ ├── signup2.xhtml
│ │ └── signup3.xhtml
├── javaee7-jsf-multipleflow
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ └── flow
│ │ │ ├── ConfirmBean.java
│ │ │ └── SignupBean.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ ├── confirm
│ │ ├── confirm-flow.xml
│ │ ├── confirm.xhtml
│ │ └── confirm2.xhtml
│ │ ├── index.xhtml
│ │ ├── main
│ │ └── java
│ │ │ └── org
│ │ │ └── javaee7
│ │ │ └── jsf
│ │ │ └── flow
│ │ │ ├── Flow1.java
│ │ │ └── Flow1Bean.java
│ │ └── signup
│ │ ├── signup-flow.xml
│ │ ├── signup.xhtml
│ │ ├── signup2.xhtml
│ │ └── signup3.xhtml
├── javaee8-jsf-commandscript
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ └── bean
│ │ │ └── CounterBean.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee8-jsf-datatablemap
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ └── beans
│ │ │ ├── Country.java
│ │ │ └── CountryBean.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ └── web.xml
│ │ └── index.xhtml
├── javaee8-jsf-validatewholebean
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter6
│ │ │ └── validator
│ │ │ ├── Customer.java
│ │ │ ├── CustomerGroup.java
│ │ │ ├── CustomerValidator.java
│ │ │ └── ValidCustomer.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ ├── beans.xml
│ │ ├── faces-config.xml
│ │ └── web.xml
│ │ ├── index.xhtml
│ │ └── register.xhtml
└── javaee8-jsf-websocket
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter6
│ │ └── beans
│ │ └── HelperBean.java
│ └── webapp
│ ├── WEB-INF
│ ├── beans.xml
│ ├── faces-config.xml
│ └── web.xml
│ └── index.xhtml
├── chapter7
└── javaee7-jpa-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter7
│ │ ├── ejb
│ │ └── ManagerEJB.java
│ │ └── entity
│ │ ├── Customer.java
│ │ └── Request.java
│ ├── resources
│ └── META-INF
│ │ ├── MANIFEST.MF
│ │ ├── create.sql
│ │ ├── drop.sql
│ │ └── persistence.xml
│ └── webapp
│ └── WEB-INF
│ └── web.xml
├── chapter8
└── javaee7-test
│ ├── README.md
│ ├── nohup.out
│ ├── pom.xml
│ └── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter8
│ │ │ ├── ejb
│ │ │ └── ManagerEJB.java
│ │ │ └── entity
│ │ │ ├── Customer.java
│ │ │ └── Request.java
│ ├── resources
│ │ └── META-INF
│ │ │ ├── MANIFEST.MF
│ │ │ ├── create.sql
│ │ │ ├── drop.sql
│ │ │ └── persistence.xml
│ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── angular.html
│ └── test
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter8
│ │ └── test
│ │ └── TestJPA.java
│ └── resources
│ └── arquillian.xml
├── chapter9
├── javaee7-websocket-async
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter9
│ │ │ ├── endpoint
│ │ │ ├── HelloWorldEndpoint.java
│ │ │ └── WebSocketEndpoint.java
│ │ │ └── servlet
│ │ │ └── ServletClient.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
├── javaee7-websocket-basic
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter9
│ │ │ └── endpoint
│ │ │ └── HelloWorldEndpoint.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.html
├── javaee7-websocket-binary
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter9
│ │ │ └── endpoint
│ │ │ └── HelloWorldBinaryEndpoint.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.html
├── javaee7-websocket-client
│ ├── README.md
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── itbuzzpress
│ │ │ └── chapter9
│ │ │ ├── endpoint
│ │ │ ├── HelloWorldEndpoint.java
│ │ │ └── WebSocketEndpoint.java
│ │ │ └── servlet
│ │ │ └── ServletClient.java
│ │ └── webapp
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── index.jsp
└── javaee7-websocket-encdec
│ ├── README.md
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ └── com
│ │ └── itbuzzpress
│ │ └── chapter9
│ │ ├── decoder
│ │ └── MessageDecoder.java
│ │ ├── encoder
│ │ └── MessageEncoder.java
│ │ ├── endpoint
│ │ ├── HelloWorldEncodedEndpoint.java
│ │ └── WebSocketEncodedEndpoint.java
│ │ ├── model
│ │ └── User.java
│ │ └── servlet
│ │ └── ServletClient.java
│ └── webapp
│ ├── WEB-INF
│ └── web.xml
│ └── index.jsp
└── pom.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | build
3 | target
4 | .DS_Store
5 | bin
6 | .openshift
7 | */.gitignore
8 | .gitkeep
9 | /helloworld-jsp
10 | README.html
11 | SERVICES.html
12 | CHANGES.html
13 | CONTRIBUTING.html
14 | RELEASE_PROCEDURE.html
15 | out
16 | nb-configuration.xml
17 | nbactions.xml
18 | .idea
19 | *.ipr
20 | *.iws
21 | *.iml
22 | atlassian-ide-plugin.xml
23 | .checkstyle
24 | .classpath
25 | .project
26 | .settings
27 | .metadata
28 | .factorypath
29 | .nbattrs
30 | *.log
31 | build.metadata
32 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Practical Enterprise & Microsevices development
2 | =====================================
3 |
4 | This is the old repository for Java EE 8 examples to be deployed on WildFly Application Server
5 |
6 | Latest repository is available here: https://github.com/fmarchioni/practical-enterprise-development
7 |
8 |
9 |
--------------------------------------------------------------------------------
/code/chapter10/javaee7-ws-basic/README.md:
--------------------------------------------------------------------------------
1 | SOAP Web services basic example
2 | =====================================
3 | Example taken from [Practical Java EE 7 Development using WildFly application server](http://www.itbuzzpress.com/ebooks/java-ee-7-development-on-wildfly.html)
4 |
5 | This example demonstrates the basic usage of JAX-WS Web services
6 |
7 | ###### Build and Deploy
8 | ```shell
9 | mvn clean install wildfly:deploy -DskipTests=true
10 | ```
11 |
12 | ###### Test
13 | ```shell
14 | mvn test
15 | ```
16 |
17 |
--------------------------------------------------------------------------------
/code/chapter10/javaee7-ws-basic/src/main/java/com/itbuzzpress/chapter10/ws/AccountWSItf.java:
--------------------------------------------------------------------------------
1 | package com.itbuzzpress.chapter10.ws;
2 |
3 | import javax.jws.WebMethod;
4 | import javax.jws.WebService;
5 | @WebService
6 | public interface AccountWSItf {
7 | @WebMethod
8 | public void newAccount( String name);
9 |
10 | @WebMethod
11 | public void withdraw(String name, long amount) throws RuntimeException;
12 |
13 | @WebMethod
14 | public void deposit(String name, long amount);
15 |
16 | @WebMethod
17 | public Account findAccountByName(String name);
18 | }
19 |
--------------------------------------------------------------------------------
/code/chapter10/javaee7-ws-basic/src/main/resources/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fmarchioni/practical-javaee7-development-wildfly/e310f6f3251e01b92fbb086063d0a4ff09e25965/code/chapter10/javaee7-ws-basic/src/main/resources/META-INF/MANIFEST.MF
--------------------------------------------------------------------------------
/code/chapter10/javaee7-ws-basic/src/main/resources/META-INF/persistence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 14 | * annotation. 15 | *
16 | */ 17 | @ApplicationPath("/rest") 18 | public class JaxRsActivator extends Application { 19 | /* class body intentionally left blank */ 20 | } 21 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-aysnc/src/main/java/com/itbuzzpress/chapter11/handler/MyTimeoutHandler.java: -------------------------------------------------------------------------------- 1 | package com.itbuzzpress.chapter11.handler; 2 | 3 | import java.net.HttpURLConnection; 4 | 5 | import javax.ws.rs.container.AsyncResponse; 6 | import javax.ws.rs.container.TimeoutHandler; 7 | import javax.ws.rs.core.Response; 8 | 9 | import com.itbuzzpress.chapter11.model.SimpleProperty; 10 | 11 | public class MyTimeoutHandler implements TimeoutHandler { 12 | 13 | @Override 14 | public void handleTimeout(AsyncResponse asyncResp) { 15 | Response r = Response.serverError().status( HttpURLConnection.HTTP_UNAVAILABLE).build( ); 16 | asyncResp.resume( r ); 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-aysnc/src/main/java/com/itbuzzpress/chapter11/model/SimpleProperty.java: -------------------------------------------------------------------------------- 1 | package com.itbuzzpress.chapter11.model; 2 | 3 | import javax.xml.bind.annotation.XmlRootElement; 4 | 5 | @XmlRootElement 6 | public class SimpleProperty { 7 | @Override 8 | public String toString() { 9 | return "SimpleProperty [key=" + key + ", value=" + value + "]"; 10 | } 11 | public SimpleProperty() { 12 | 13 | } 14 | 15 | 16 | private String key; 17 | private String value; 18 | public String getKey() { 19 | return key; 20 | } 21 | public void setKey(String key) { 22 | this.key = key; 23 | } 24 | public SimpleProperty( String key, String value) { 25 | super(); 26 | 27 | this.key = key; 28 | this.value = value; 29 | } 30 | public String getValue() { 31 | return value; 32 | } 33 | public void setValue(String value) { 34 | this.value = value; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-aysnc/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 |14 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 15 | * annotation. 16 | *
17 | */ 18 | @ApplicationPath("/rest") 19 | public class JaxRsActivator extends Application { 20 | /* class body intentionally left blank */ 21 | } 22 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-basic/src/main/java/com/itbuzzpress/chapter11/ejb/DataList.java: -------------------------------------------------------------------------------- 1 | package com.itbuzzpress.chapter11.ejb; 2 | 3 | import java.io.Serializable; 4 | import java.util.ArrayList; 5 | import java.util.List; 6 | 7 | import javax.annotation.PostConstruct; 8 | 9 | import javax.ejb.Singleton; 10 | import javax.enterprise.context.SessionScoped; 11 | import javax.inject.Named; 12 | 13 | import com.itbuzzpress.chapter11.model.SimpleProperty; 14 | 15 | @Singleton 16 | @Named 17 | public class DataList implements Serializable { 18 | private List13 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 14 | * annotation. 15 | *
16 | */ 17 | @ApplicationPath("/rest") 18 | public class JaxRsActivator extends Application { 19 | /* class body intentionally left blank */ 20 | } 21 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-client/src/main/java/com/itbuzzpress/chapter11/model/SimpleProperty.java: -------------------------------------------------------------------------------- 1 | package com.itbuzzpress.chapter11.model; 2 | 3 | import javax.xml.bind.annotation.XmlRootElement; 4 | 5 | @XmlRootElement 6 | public class SimpleProperty { 7 | public SimpleProperty() { 8 | 9 | } 10 | 11 | 12 | private String key; 13 | private String value; 14 | public String getKey() { 15 | return key; 16 | } 17 | public void setKey(String key) { 18 | this.key = key; 19 | } 20 | public SimpleProperty( String key, String value) { 21 | super(); 22 | 23 | this.key = key; 24 | this.value = value; 25 | } 26 | public String getValue() { 27 | return value; 28 | } 29 | public void setValue(String value) { 30 | this.value = value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-client/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 |13 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 14 | * annotation. 15 | *
16 | */ 17 | @ApplicationPath("/rest") 18 | public class JaxRsActivator extends Application { 19 | /* class body intentionally left blank */ 20 | } 21 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-filters/src/main/java/com/itbuzzpress/chapter11/model/SimpleProperty.java: -------------------------------------------------------------------------------- 1 | package com.itbuzzpress.chapter11.model; 2 | 3 | import javax.xml.bind.annotation.XmlRootElement; 4 | 5 | @XmlRootElement 6 | public class SimpleProperty { 7 | public SimpleProperty() { 8 | 9 | } 10 | 11 | 12 | private String key; 13 | private String value; 14 | public String getKey() { 15 | return key; 16 | } 17 | public void setKey(String key) { 18 | this.key = key; 19 | } 20 | public SimpleProperty( String key, String value) { 21 | super(); 22 | 23 | this.key = key; 24 | this.value = value; 25 | } 26 | public String getValue() { 27 | return value; 28 | } 29 | public void setValue(String value) { 30 | this.value = value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-filters/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 |13 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 14 | * annotation. 15 | *
16 | */ 17 | @ApplicationPath("/rest") 18 | public class JaxRsActivator extends Application { 19 | /* class body intentionally left blank */ 20 | } 21 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-interceptors/src/main/java/com/itbuzzpress/chapter11/model/SimpleProperty.java: -------------------------------------------------------------------------------- 1 | package com.itbuzzpress.chapter11.model; 2 | 3 | import javax.xml.bind.annotation.XmlRootElement; 4 | 5 | @XmlRootElement 6 | public class SimpleProperty { 7 | public SimpleProperty() { 8 | 9 | } 10 | 11 | 12 | private String key; 13 | private String value; 14 | public String getKey() { 15 | return key; 16 | } 17 | public void setKey(String key) { 18 | this.key = key; 19 | } 20 | public SimpleProperty( String key, String value) { 21 | super(); 22 | 23 | this.key = key; 24 | this.value = value; 25 | } 26 | public String getValue() { 27 | return value; 28 | } 29 | public void setValue(String value) { 30 | this.value = value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /code/chapter11/javaee7-rest-interceptors/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 |19 | * Resources are served relative to the servlet path specified in the {@link ApplicationPath} 20 | * annotation. 21 | *
22 | */ 23 | @ApplicationPath("/rest") 24 | public class JaxRsActivator extends Application { 25 | /* class body intentionally left blank */ 26 | } -------------------------------------------------------------------------------- /code/chapter14/javaee7-batch-batchlet/README.md: -------------------------------------------------------------------------------- 1 | Basic Batchlet example 2 | ===================================== 3 | Example taken from [Practical Java EE 7 Development using WildFly application server](http://www.itbuzzpress.com/ebooks/java-ee-7-development-on-wildfly.html) 4 | 5 | This example demonstrates the basic usage of Batch API with a Batchlet example 6 | ###### Build and Deploy 7 | ```shell 8 | mvn clean install wildfly:deploy 9 | ``` 10 | 11 | ###### Test 12 | ```shell 13 | http://localhost:8080/javaee7-batch-batchlet/ 14 | ``` 15 | 16 | -------------------------------------------------------------------------------- /code/chapter14/javaee7-batch-batchlet/src/main/resources/META-INF/batch-jobs/simplebatchlet.xml: -------------------------------------------------------------------------------- 1 |