EJB Interview Questions and Answers
Why does EJB needs two
interfaces(Home and Remote Interface)
There is a pure division of roles between the two .
Home Interface is the way to communicate with the container which is responsible
for creating , locating and removing beans and Remote Interface is the link to
the bean that allows acces to all methods and members.
What are the optional
clauses in EJB QL?
WHERE and ORDERBY clauses are optional in EJB QL where as SELECT and FROM
are required clauses.
Can I invoke Runtime.gc()
in an EJB?
You shouldn’t. What will happen depends on the implementation, but the call
will most likely be ignored.
What is Remote client
The remote client view specification is only available in EJB 2.0. The
remote client view of an enterprise bean is location independent. A client
running in the same JVM as a bean instance uses the same API to access the
bean as a client running in a different JVM on the same or different
Remote interface: The remote interface specifies the remote business methods
that a client can call on an enterprise bean.
Remote home interface: The remote home interface specifies the methods used
by remote clients for locating, creating, and removing instances of
enterprise bean classes.
What is Local client
The local client view specification is only available in EJB 2.0. Unlike the
remote client view, the local client view of a bean is location dependent.
Local client view access to an enterprise bean requires both the local
client and the enterprise bean that provides the local client view to be in
the same JVM. The local client view therefore does not provide the location
transparency provided by the remote client view. Local interfaces and local
home interfaces provide support for lightweight access from enterprise bean
that are local clients. Session and entity beans can be tightly couple with
their clients, allowing access without the overhead typically associated
with remote method calls.
What is EJB client JAR
An EJB client JAR file is an optional JAR file that can contain all the
class files that a client program needs to use the client view of the
enterprise beans that are contained in the EJB JAR file. If you decide not
to create a client JAR file for an EJB module, all of the client interface
classes will be in the EJB JAR file.
What is EJB container?
An EJB container is a run-time environment that manages one or more
enterprise beans. The EJB container manages the life cycles of enterprise
bean objects, coordinates distributed transactions, and implements object
security. Generally, each EJB container is provided by an EJB server and
contains a set of enterprise beans that run on the server.
What is Deployment
A deployment descriptor is an XML file packaged with the enterprise beans in
an EJB JAR file or an EAR file. It contains metadata describing the contents
and structure of the enterprise beans, and runtime transaction and security
information for the EJB container.
What is EJB server?
An EJB server is a high-level process or application that provides a
run-time environment to support the execution of server applications that
use enterprise beans. An EJB server provides a JNDI-accessible naming
service, manages and coordinates the allocation of resources to client
applications, provides access to system resources, and provides a
transaction service. An EJB server could be provided by, for example, a
database or application server.
What is EJB
Enterprise beans-An enterprise bean is a non-visual component of a
distributed, transaction-oriented enterprise application. Enterprise beans
are typically deployed in EJB containers and run on EJB servers.
There are three types of enterprise beans: session beans, entity beans, and
Session beans: Session beans are non-persistent enterprise beans. They can
be stateful or stateless. A stateful session bean acts on behalf of a single
client and maintains client-specific session information (called
conversational state) across multiple method calls and transactions. It
exists for the duration of a single client/server session. A stateless
session bean, by comparison, does not maintain any conversational state.
Stateless session beans are pooled by their container to handle multiple
requests from multiple clients.
Entity beans: Entity beans are enterprise beans that contain persistent data
and that can be saved in various persistent data stores. Each entity bean
carries its own identity. Entity beans that manage their own persistence are
called bean-managed persistence (BMP) entity beans. Entity beans that
delegate their persistence to their EJB container are called
container-managed persistence (CMP) entity beans.
Message-driven beans: Message-driven beans are enterprise beans that receive
and process JMS messages. Unlike session or entity beans, message-driven
beans have no interfaces. They can be accessed only through messaging and
they do not maintain any conversational state. Message-driven beans allow
asynchronous communication between the queue and the listener, and provide
separation between message processing and business logic.
Page Numbers :