1. Which of the following constitute the enhancements made to EJB 2.0?
Answers:
• JMS (Java
Message Service) integration
• Improved support
for container-managed persistence (CMP)
• Support for RMI/IIOP protocol for network interoperability
• Management of
beans relationships
• All of the above
2. A client wants to access Enterprise Java Bean
for some processing. The first step will be looking up the class that
implements its home interface. Which of the following should be used for the
purpose?
Answers:
• JNDI
• MTS
• JTS
• JTA
• Java IDL
3. A pre-cached instance is used to load state
information on creation of an EJB.
Answers:
• True
• False
4. What will happen to the running session beans
if the EJB container crashes or restarts?
Answers:
• They
will get destroyed
• They will keep on
running
• Their execution will
be halted temporarily
• None of the above
5. An online shop employs a stateless session
bean (named 'Eshop') to process the requests. 'Eshop' uses a declarative
transaction management system. The following code is from the xml deployment
descriptor file of the bean:
1.
<ejb-jar>
2.
<enterprise-beans>
3.
<session>
4.
<ejb-name>Eshop</ejb-name>
5.
<home>com.solution.EshopHome</home>
6.
<remote>com.solution.Eshop</remote>
7.
<local-home>com.solution.EshopLocalHome</local-home>
8.
<local>com.solution.EshopLocal</local>
9.
<ejb-class>com.solution.EshopBean</ejb-class>
10.
11.
12.
</session>
13.
</enterprise-beans>
14.
</ejb-jar>
The session and transaction attributes are to be
coded in the lines numbered 10 and 11. Which of the following options should be
used to make the bean work as expected?
Answers:
•
<session>Stateless</session>
<transaction>Container</transaction>
• <session>Stateful</session>
<transaction>Bean</transaction>
•
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
•
<session-type>Stateful</session-type>
<transaction-type>Bean</transaction-type>
•
<session-type>Stateless</session-type>
<transaction>Container</transaction>
6. A heavy tool manufacturing company manages
its business and production by using enterprise beans. A session bean named
'Status' is used to get the production status for the day. The following code
gets the context:
Context initialContext = new InitialContext();
The bean provides a local client view. For the
local home interface named 'StatusHome.' What should be the lookup?
Answers:
•
StatusHome statusHome = (StatusHome) initialContext.lookup("java:tools/env/ejb/status");
• StatusHome statusHome
= Context.lookup("java:tools/env/ejb/status");
• StatusHome statusHome
= javax.rmi.PortableRemoteObject.narrow(
Context.lookup("java:tools/env/ejb/status"),StatusHome.class);
• StatusHome statusHome
= (StatusHome) javax.rmi.PortableRemoteObject.narrow(
initialContext.lookup("java:tools/env/ejb/status"),StatusHome.class);
7. Which of the following statements is correct with regard to JavaBeans and Enterprise JavaBeans?
Answers:
• Both can be visible or
non-visible at run time
• Both can be deployed
as an Active X control
• Both require a
Manifest file
• Both have some
mechanism to tell the builder-tool/IDE about their functionality
• Both define their
deployment descriptors
8. One of the methods of your entity bean
retrieves the names of all the patients admitted in a particular ward of a
hospital. Using a connection named 'con', you want to execute the following
query:
//secId is the parameter received by the method
String query = "SELECT admissionId,
patientFirstName, patientLastName FROM ADMISSION WHERE sectionId=" +
secId;
Which of the following options will help you
execute the query?
Answers:
• Statement
stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(query);
• Statement stmt=new
Statement(); ResultSet rs=stmt.executeQuery(query);
• Statement
stmt=con.createStatement(); ResultSet rs=stmt.execute(query);
• Statement
stmt=con.getStatement(); ResultSet rs=stmt.executeQuery(query);
• Statement
stmt=con.getStatement(); ResultSet rs=con.executeQuery(query);
9. The following method signature is found in an
implemented entity bean named 'CustomerBean.' 'CustomerPK' is a class
representing the primary key.
public CustomerPK ejbFindByPrimaryKey(CustomerPK
key)
throws FinderException
By context look up, a client gets the reference
to the home object of the above bean, named 'custHome'. It gets the
'CustomerPK' class named 'PK' by a different method. The name of EJBObject is
'Customer', which represents a customer. Which of the following options will
you select to invoke the above mentioned method in the client?
Answers:
• Customer =
custHome.findByPrimaryKey(PK);
• Customer =
custHome.ejbFindByPrimaryKey(PK);
• custHome =
custHome.ejbFindByPrimaryKey(PK);
• Customer =
findByPrimaryKey(PK);
• PK =
custHome.findByPrimaryKey(PK);
10. The EJB specification defines six distinct
roles in the application development and deployment life cycle. Which of the
following roles is not mentioned in it?
Answers:
• Enterprise Bean
Provider
• EJB Developer
• EJB Server Provider
• Application Assembler
• EJB Deployer
• System Administrator
11. The transaction attribute of a bean is set
to 'TX_REQUIRES_NEW.' What do you infer about its behavior?
Answers:
• It initiates a new
transaction only when the previous one is concluded
• It initiates a new transaction
without even waiting for the previous one to conclude
• It sends the request
to the EJB container for initiating a new bean
• The bean manages its
own transaction
12. Which of the following statements is
incorrect with regard to the process of Instance Pooling in EJB?
Answers:
• It increases the
overall efficiency of the system
• It facilitates sharing
of 'EJB bean instances' among multiple clients
• It is used with
stateless session beans
• It is used with entity
beans
• None of the above
13. You define an enterprise bean as follows:
Public class CalcSessionBean implements
javax.ejb.SessionBean
Which of the following method definitions is not
mandatory?
Answers:
• public void
ejbCreate() {}
• public void
ejbActivate() {}
• public void
ejbPassivate() {}
• public void
ejbRemove() {}
• public void
ejbObject() {}
• public void
setSessionContext(SessionContext ctx) {}
14. The principal finder method that must be
implemented by every entity bean class is:
Answers:
• ejbFindByPrimaryKey()
• ejbGetByPrimaryKey()
• ejbFindPrimayKey()
• getPrimaryKey()
• getFinder()
15. Which of the following services does an EJB
Server/Container provides to EJB?
Answers:
• Life cycle management
and Instance pooling
• Activation and
Passivation
• Transaction and
Security support
• Enforcement of
policies and restrictions
• All of the above
16. How do Enterprise Java Beans access the
database?
Answers:
• By using Java Database
Connectivity
• By using Open Database
Connectivity
• Both a and b
• None of the above
17. Which of the following statements is not
correct for an Enterprise Java Bean?
Answers:
• Entity beans model
business data
• Session beans model
business processes
• Message beans send
synchronous messages
• None of the above
18. Which of the following transaction modes are
supported by Enterprise Java Beans?
Answers:
• TX_NOT_SUPPORTED
• TX_BEAN_MANAGED
• TX_REQUIRED
• TX_MANDATORY
• All of the above
19. Which of the following is not implemented by
a stateless session bean?
Answers:
• SessionContext
• SessionSynchronization
• SessionObject
• EJBContext
20. Which of the following statements is not
correct with regard to Passivation of beans?
Answers:
• The process is
possible in all the enterprise beans
• It is accompanied by
some vendor specific methods, which are similar to java serialization
• Both a and b
• None of the above
21. The method ejbCreate() allows session beans
to perform initializations. Which of the following methods should be called by
the container before ejbCreate()?
Answers:
• newInstance()
• setSessionContext()
• newInstance() and
setSessionContext()
• ejbRemove()
22. By interoperating via IIOP, an EJB can
directly access:
Answers:
• Existing production
systems wrapped in CORBA interface
• Existing production
systems wrapped in RMI interface
• Network Technologies
• Messaging Interface
• Language Mapping
23. Which of the following is a name of the
design pattern not associated with EJB?
Answers:
• Session Facade
• Entity Command
• Message Facade
• EJB Command
24. An online medical shop uses Container
Managed persistent beans for its operations. An OrderBean uses a query to list
all the orders where payable amount is more than $800. The XML query tag in the
deployment descriptor is as follows:
1. <query>
2.
<query-method>
3.
<method-name>findBigOrders</method-name>
4.
<method-params></method-params>
5.
</query-method>
6.
7. </query>
If the name of the table is 'Order' and total
amount payable is in the column named 'amount,' which of the following queries
can be placed in line 6?
Answers:
• <ejb-sql>SELECT
* FROM Order o WHERE o.amount > 800</ejb-sql>
• <ejb-sql>SELECT
OBJECT(o) FROM Order o WHERE o.amount > 800</ejb-sql>
• <ql>SELECT
OBJECT(o) FROM Order o WHERE o.amount > 800 </ql>
•
<ejb-ql><![CDATA[SELECT OBJECT(o) FROM Order o WHERE o.amount>800
]]></ejb-ql>
• <ejb-ql>SELECT
OBJECT(o) FROM Order o WHERE o.amount > 800 </ejb-ql>
25. The interface that must be implemented by a
stateless session bean is javax.ejb.SessionBean.
Answers:
• True
• False
26. Which of the following statements is correct
with regard to entity, session, and message-driven beans?
Answers:
• All of them allow
sending messages
• All of them must
define a remote and home interface
• Both a and b
• None of the above
27. To disable the Passivaton process, set the
EJBPassivationTimeout() variable to zero.
Answers:
• True
• False
28. Which of the following statements is correct
with regard to 'poison' message?
Answers:
• A JMS destination
sends this message to the consumer only once
• It is not acknowledged
by the consumer
• JMS destination gets
the acknowledgement only once
• The process of sending
a 'poison' message is possible with all the enterprise beans
29. The methods declared in Session Bean
interface are known as Callback (methods).
Answers:
• True
• False
30. What are the three classes that a Session
EJB class must provide?
Answers:
• Home Interface, EJB
Remote Interface, and Session context
• EJB class, Home
Interface, and EJB Remote Interface
• EJB class, Session
context, and EJB Remote Interface
• EJB class, EJB Remote
Interface, and Session Synchronization Interface
31. Which of the following statements are
correct with regard to EJB QL?
Answers:
• The EJB QL defines
finder methods for entity beans with container managed persistence
• EJB QL is introduced
in EJB 2.0
• EJB QL is provided for
navigation across a network of enterprise beans
• EJB QL is a language
that can be compiled
• All of the above
32. SessionSynchronization Interface must be
implemented to reset the instance variables.
Answers:
• True
• False
33. Which of the following is a language in
which IDL compiler of CORBA generates proxies and skeletons?
Answers:
• Mapping proxies
• Language map
• Language mapping
• Proxy language maps
34. You don't have any database recovery/backup
system in place. Which of the following statements is true with regard to
committed and uncommitted data of your entity bean?
Answers:
• Committed data cannot
survive a server crash
• Neither committed nor
uncommitted data survives a server crash
• Both committed and
uncommitted data survive a server or database crash
• Both committed and
uncommitted data survive a server crash if clustering is used
35. The PrimaryKey class is used to provide each
entity bean with a ____________:
Answers:
• Serial identity
• Unique, serializable
identity
• Unique identity only
• Not null identity
• Serializable identity
only
36. Which of the following services does EJB
container provide to a bean?
Answers:
• Support for security
• Support for managing
multiple instances
• Support for
persistence
• Support for
transactions
• All of the above
37. Which of the following statements is correct
with regard to the method ejbSelect()?
Answers:
• It is similar to
finder method of entity beans
• It is available to the
client for querying
• It cannot be used to
extract data from other entity beans
• It cannot return
entity bean/beans
• It can return values
that are defined as CMP-TYPE
38. You are working with EJB2.0. You have to
retrieve a previously saved handle to an EJBObject named 'bookEJBObject.' In
order to restart the processing for that particular request, you need to get
the remote interface. The following code has been written for the same:
1. ObjectInputStream stream =
2.
new ObjectInputStream(new FileInputStream(fileName));
3.
4. Handle bookHandle = (Handle)
stream.readObject();
5.
6. BookRemoteInterface bookEjbObject =
(BookRemoteInterface) XX() ;
Which of the following should substitute Method
XX() of line 6?
Answers:
•
javax.rmi.PortableRemoteObject(bookHandle.getEJBObject(), BookRemoteInterface);
•
javax.rmi.PortableRemoteObject(EJBObject, BookRemoteInterface);
•
javax.rmi.PortableRemoteObject.narraow(bookHandle.getEJBObject(),
BookRemoteInterface.class);
•
javax.rmi.PortableRemoteObject.narraow(bookHandle, BookRemoteInterface);
•
bookHandle.getEJBObject()
39. We are saving a handle to an EJBObject named
'bookEJBObject' for an online book shop:
1. javax.ejb.Handle bookHandle = _____________;
2.
3. ObjectOutputStream stream =
4. new ObjectOutputStream(new
FileOutputStream(fileName));
5.
6. stream.writeObject(bookHandle);
7. stream.close();
Which of the following methods should be filled
in the blank?
Answers:
• (Handle)
bookEJBObject()
•
bookEJBObject.getHandle()
•
bookEJBObject.getEJBHandle()
• newHandleInstance()
40. Both RMI and CORBA define messaging
protocols called:
Answers:
• OMP
• JRMP
• IIOP
• JRMP and IIOP
• OMP, JRMP, and IIOP
41. What is the restriction that EJB
specification imposes on CMP fields?
Answers:
• They must be public
• They must not be
transient
• They must be
non-static
• They must be final
• All of the above
42. Database connection pooling is beneficial
because:
Answers:
• It avoids the overhead
of establishing a new database connection
• Maintaining an open
database connection consumes resources on the database
• Both a and b
• ODBC is not required
for establishing a connection
43. Which of the following must be implemented
by a JMS message-driven bean?
Answers:
• MessageDrivenBean and
MessageDrivenContext interfaces
• MessageListener and
MessageDrivenBean interfaces
• MessageProducer and
MessageDrivenBean interfaces
• ObjectMessage and
MessageDrivenBean interfaces
44. Which of the following methods should be
invoked by the container to get a bean back to its working state?
Answers:
• EJBPassivate()
• EJBActivate()
• EJBRemove()
• EJBOpen()
• EJBActivation()
45. Which of the following statements is not
correct with regard to relationships in EJB?
Answers:
• The tag
<relationships> is used by CMP to enclose the relations
• These can be managed
by CMP or BMP
• The relationship can
be declared in the deployment descriptor
• Directional
relationship is always multidirectional
No comments:
Post a Comment