By now, you will have gained a great deal of confidence and skill in Java EE.
Each week, you have built a simple application that demonstrates the essential ideas of a technology in the Java EE specifications.
Your challenge for the bonus materials is to come up with your own activity.
Create a simple project that demonstrates either message driven beans and/or asynchronous methods.
You can send messages to a message driven bean, even before you've written the bean. Can you write and run code that sends a message, then after you've sent the message, write some code that will recieve the message?
For asynchronous, can you create an EJB method that is slow (e.g.,
Thread.sleep(10000);) but eventually outputs data to the log file.
What happens when you annotate that method with
If your asynchronous method returns a future, how long does it take to call and wait for several asynchronous methods to return?
You can measure time in Java as follows:
long start = System.currentTimeMillis(); // ... do some slow processing, then ... long durationInMilliseconds = System.currentTimeMillis() - start;