Poor performance can be detrimental to an application’s success.
Performance can be measured in many ways. Whether application users can
initiate tasks and then move onto others without waiting, or whether a database
needs to be queried and return results without blocking a user interface, the bottom
line is that waiting for tasks to be completed can become a user nightmare, making
a poorly performing application difficult to use. In Java SE, the idea of
threading is a standard technique that is used to help prevent bad user experiences,because
it allows for long-running tasks to be spawned into a separate thread and
executed in the background without waits
occurring. Java EE 7 includes the concurrency utilities for Java EE, which
standardize a solution for using application components and Java EE services in
an asynchronous manner. The API provides an easy path for those familiar with Java
SE concurrency to use it for enterprise applications. Before Java EE 6, it was more
difficult to perform concurrent tasks with server side applications,because
application server containers typically ran application component code on a
thread that was managed by the container, and container supplied object access
occurred within the same thread. It is unwise to spawn new threads in an
application server environment using java.lang.Thread or java.util .Timer,
because that can lead to unreliable results. The situation improved when
asynchronous Enterprise JavaBeans (EJB) was introduced with Java EE 6, which
allowed processing to occur asynchronously on a thread other than the request
handling thread. The concurrency utilities for Java EE build upon asynchronous EJB,
and introduce a set of application server concurrency services that assist in the
asynchronous execution of tasks in an effort to provide a more complete concurrency
solution for Java enterprise applications.
No comments:
Post a Comment