SNo: 1
Ques: What is an Entity Manager
Options:
1, It is the service object that manages entity life-cycle
instances.
2, It is a set of entity instances.
3, It is a unique value used by the persistence provider.
4, It is a value that is used to map the entity instance to the
corresponding table row in the database.
Answer: 1
Marks: 1
=============================================================
SNo: 2
Ques: Which of the following properties of an entity specifies the
propagation of the effect of an operation to associated entities
Options:
1, Cascade
2, Ownership
3, Cardinality
4, Direction
Answer: 1
Marks: 1
=============================================================
SNo: 3
Ques: Which of the following entity manager methods forces the
synchronization of the database with entities in the persistence context
Options:
1, flush
2, refresh
3, contains
4, merge
Answer: 1
Marks: 1
=============================================================
SNo: 4
Ques: Which of the following options is true about mapped superclass
Options:
1, It is a plain Java technology interface that is designated with
the MappedSuperclass annotation.
2, It is created to provide state and the corresponding
object/relational mapping information to child classes through the inheritance
mechanism.
3, It can be passed as arguments to methods of the EntityManager or
Query interfaces.
4, It is a target of a persistent relationship.
Answer: 2
Marks: 1
=============================================================
SNo: 5
Ques: Which of the following options is a static query expressed in
metadata
Options:
1, Named query
2, Query language
3, Query object
4, Native query
Answer: 1
Marks: 1
=============================================================
SNo: 6
Ques: Which of the following options can be compiled to a target language,
such as SQL, of a database or other persistent store
Options:
1, Java Persistence Query Language
2, Named query
3, Query object
4, Native query
Answer: 1
Marks: 1
=============================================================
SNo: 7
Ques: What requirement does the GROUP BY clause impose on the SELECT
clause
Options:
1, Item that appears in the SELECT clause including the arguments
to an aggregate function, must also appear in the GROUP BY clause.
2, Item that appears in the SELECT clause, other than as an
argument to an aggregate function, must also appear in the GROUP BY clause.
3, Item that appears in the GROUP BY clause must also appear in the
SELECT clause.
4, Item that appears in the SELECT clause should not appear in the
GROUP BY clause.
Answer: 2
Marks: 1
=============================================================
SNo: 8
Ques: Which of the following methods will you use to control the start
position of the result set in a query
Options:
1, setFirstResult(int startPosition)
2, SetFirstResult(int startPosition)
3, startPosition()
4, setParameter(int startPosition)
Answer: 1
Marks: 1
=============================================================
SNo: 9
Ques: Which of the following QL statements operates on the underlying
persistence store, such as database
Options:
1, SELECT
2, UPDATE
3, DELETE
4, WHERE
Answer: 1
Marks: 1
=============================================================
SNo: 10
Ques: Which of the following callback annotations can be used to designate
a callback method defined in an entity class
Options:
1, PostConstruct
2, PreDestroy
3, PostActivate
4, PreRemove
Answer: 4
Marks: 1
=============================================================
SNo: 11
Ques: Which of the following statements identifies an interceptor
Options:
1, It is a class that works in conjunction with a bean class to
interpose on business method invocations and receive life-cycle callback
notifications.
2, It is a method that intercepts the invocation of a business
method of a session bean or listener method of a message-driven bean.
3, It is a method that intercepts life-cycle events generated by
session bean and message-driven bean instances.
4, It is a method that intercepts the invocation of a business
method of a entity bean or listener method of a message-driven bean.
Answer: 1
Marks: 1
=============================================================
SNo: 12
Ques: Which of the following TimerService interface method is used to
create an absolute time notification timer
Options:
1, createTimer(long initialDuration, long intervalDuration,
Serializable info)
2, createTimer(long duration, Serializable info)
3, createTimer(Date expiration, Serializable info)
4, createTimer(Date initialExpiration, long intervalDuration,
Serializable info)
Answer: 3
Marks: 1
=============================================================
SNo: 13
Ques: Which of the following tasks will you perform in a method that
contains a valid reference to a timer object
Options:
1, Notify the enterprise bean about all expired timers
2, Interrogate a timer callback notification
3, Obtain a list of outstanding timer notifications
4, Process a timer callback notification
Answer: 2
Marks: 1
=============================================================
SNo: 14
Ques: By using which of the following methods the enterprise bean obtains
a reference to the TimerService object
Options:
1, ejbTimeout method
2, getTimers method
3, getNextTimeout method
4, getTimerService method
Answer: 4
Marks: 1
=============================================================
SNo: 15
Ques: Which of the following options is used to implement Container
Managed Transaction (CMT) to methods
Options:
1, To apply CMT to the methods of an enterprise bean, the
application assembler should, on a method-by-method basis, consider the
suitability of accepting the EJB 3.0 default transaction policy.
2, To implement CMT to methods, you must code the required
transaction policy in the enterprise bean method.
3, To apply CMT to methods, do not specify the transactional
behavior of the enterprise bean.
4, To implement CMT methods, you must code the required transaction
policy in the session bean method.
Answer: 1
Marks: 1
=============================================================
SNo: 16
Ques: What will you do when a client method invocation does not have an
accompanying transaction context
Options:
1, Run the enterprise bean method in a new transaction
2, Run the enterprise bean method in the caller's transaction context
3, Suspend the callers transaction context and run the enterprise
bean method in a new transaction
4, Suspend the callers transaction context and run the enterprise
bean method without a transaction
Answer: 1
Marks: 1
=============================================================
SNo: 17
Ques: Which of the following CMT transaction attributes is applicable for
methods that must always execute in the callers transaction
Options:
1, REQUIRED
2, SUPPORTS
3, REQUIRES_NEW
4, MANDATORY
Answer: 4
Marks: 1
=============================================================
SNo: 18
Ques: Which of the following CMT transaction attributes is supported by
the following enterprise beans:
Stateless session bean
Stateful session bean
Message-Driven bean
Options:
1, REQUIRED
2, SUPPORTS
3, REQUIRES_NEW
4, MANDATORY
Answer: 1
Marks: 1
=============================================================
SNo: 19
Ques: In which of the following authentication methods a public key
certificate is exchanged in Secure Socket Layer (SSL)
Options:
1, HTTP basic
2, Client certificate
3, Form-based
4, Identification
Answer: 2
Marks: 1
=============================================================
SNo: 20
Ques: Which of the following options defines JTA
Options:
1, It enables the software components to initiate and monitor
distributed transactions.
2, It specifies the implementation of a transaction manager.
3, It is used to integrate an application server with an external
security infrastructure.
4, It is used for vendor-neutral access to directory services, such
as NIS+.
Answer: 1
Marks: 1
=============================================================
SNo: 21
Ques: Which of the following JAVA EE platform roles uses tools to produce
JAVA EE applications and components
Options:
1, System Administrator
2, Application Component Provider
3, Application Assembler
4, Tools Provider
Answer: 2
Marks: 1
=============================================================
SNo: 22
Ques: Which of the following options is a server-side client resource
Options:
1, Database tier
2, MDB
3, Entity bean
4, Session bean
Answer: 4
Marks: 1
=============================================================
SNo: 23
Ques: Which of the following options is used to obtain security
information of the EJB objects
Options:
1, EJBObject
2, SessionContext
3, Context
4, @Resource
Answer: 2
Marks: 1
=============================================================
SNo: 24
Ques: Which of the following access modifier cannot be applied to a
callback method
Options:
1, transient
2, protected
3, public
4, private
Answer: 1
Marks: 1
=============================================================
SNo: 25
Ques: Which of the following options assigns the name of the entity class
as the default name to the database table
Options:
1, Java Persistence API
2, @Table annotation
3, LOB annotation
4, Basic annotation
Answer: 1
Marks: 1
SNo: 26
Ques: Which of the following option does not hold true when a client
method is invoked with an accompanying transaction context
Options:
1, Run the enterprise bean method without a transaction.
2, Run the enterprise bean method in a new transaction.
3, Cannot Run the enterprise bean in a new transaction.
4, Run the enterprise bean method in the caller's transaction
context
Answer: 3
Marks: 2
=============================================================
SNo: 27
Ques: Which of the following options defines the authorization process
Options:
1, It is defined as the process that ensures the confidentiality
and integrity of the information transported across the network.
2, It is defined as the process that facilitates the secure
deployment of an application in diverse environments.
3, It is defined as the process of verifying what the user's
identity is and ensuring that they are who they say they are.
4, It is defined as the process of allocating permissions to
authenticated users.
Answer: 4
Marks: 2
=============================================================
SNo: 28
Ques: Which of the following options is true regarding role identity
Options:
1, A role represents a user in the native security domain.
2, A role is an entity that can be authenticated by an
authentication protocol in a security service that is deployed in an
enterprise.
3, A role is a group of principals sharing a unique set of
permissions.
4, A role has predefined credential requirements associated with
itself.
Answer: 4
Marks: 2
=============================================================
SNo: 29
Ques: Which of the following options can be used to make access
control decisions in the code using API calls
Options:
1, Java Authentication and Authorization Service
2, Programmatic access control
3, Declarative access control
4, EJB container
Answer: 2
Marks: 2
=============================================================
SNo: 30
Ques: Which of the following statements is true regarding Java
Authentication and Authorization Service (JAAS)
Options:
1, JAAS cannot extend the access control architecture of the Java
platform to support user-based authorization.
2, JAAS enables services to authenticate and enforce access
controls upon users.
3, JAAS does not implement a Java technology version of the
standard Pluggable Authentication Module (PAM) framework.
4, JAAS specifies the implementation of a transaction manager.
Answer: 2
Marks: 2
=============================================================
SNo: 31
Ques: Which of the following options will enable you to inform the
container not to persist a field or property of the entity class
Options:
1, LOB annotation
2, Transient annotation
3, Table annotation
4, Basic annotation
Answer: 2
Marks: 2
=============================================================
SNo: 32
Ques: Which of the following options provides good support for polymorphic
relationships between entities and for queries that range over the class
hierarchy
Options:
1, Single table per class hierarchy strategy
2, Table per class strategy
3, Embeddable class
4, Embedded class
Answer: 1
Marks: 2
=============================================================
SNo: 33
Ques: Which of the following options is correct about FROM clause
Options:
1, The FROM clause specifies the search domain in the persistence
tier.
2, The FROM clause specifies the search domain in the User tier.
3, The FROM clause is specified using only one path expression.
4, The FROM clause enables the aggregation of values according to
the properties of an entity class.
Answer: 1
Marks: 2
=============================================================
SNo: 34
Ques: Which of the following options associates a variable with a
persistence entity or a persisted field of a persistence entity
Options:
1, Path expression
2, The SELECT statement
3, The BULK UPDATE statement
4, JOINS
Answer: 1
Marks: 2
=============================================================
SNo: 35
Ques: Which of the following options will enable you to assign a value to
the named parameter, say Employee
Options:
1, createQuery method
2, createNativeQuery method
3, setParameter method
4, NamedQuery annotation
Answer: 3
Marks: 2
=============================================================
SNo: 36
Ques: Which of the following clause will you use to specify which
persistence entities should be queried by the SELECT query
Options:
1, FROM clause
2, WHERE clause
3, GROUP BY clause
4, HAVING clause
Answer: 1
Marks: 2
=============================================================
SNo: 37
Ques: What will be the sequence of execution of the clauses in a query
that contains the following three clauses:
1. GROUP BY clause
2. WHERE clause
3. HAVING clause
Options:
1, WHERE-->GROUP BY-->HAVING
2, GROUP BY-->HAVING-->WHERE
3, WHERE-->GROUP BY
HAVING clause is not included when there is a WHERE clause in the SELECT
query
4, GROUP BY-->WHERE-->HAVING
Answer: 1
Marks: 2
=============================================================
SNo: 38
Ques: Which of the following options is true about asynchronous consumer
clients
Options:
1, Asynchronous consumer clients register with the message
destination.
2, Asynchronous consumer clients cannot register with the message
destination.
3, Asynchronous message consumer clients collect messages from the
destination.
4, If the destination is empty, the asynchronous client is blocked
until a message arrives.
Answer: 1
Marks: 2
=============================================================
SNo: 39
Ques: Which message type will you use to define the set of name-value
pairs
Options:
1, TextMessage
2, MapMessage
3, BytesMessage
4, ObjectMessage
Answer: 2
Marks: 2
=============================================================
SNo: 40
Ques: Which of the following options is true about point-to-point
messaging architecture
Options:
1, It is based on the concept of message topic.
2, In this type of architecture, receiver gets all the messages
that were sent to the queue, including those sent before the creation of the
receiver.
3, There is a timing dependency in point-to-point architecture.
4, In this type of architecture, receiver gets all the messages
that were sent to the queue, excluding those sent before the creation of the
receiver.
Answer: 2
Marks: 2
=============================================================
SNo: 41
Ques: Which of the following objects provides a single-threaded context
for producing and consuming messages
Options:
1, QueueReceiver object
2, Session object
3, MessageListener object
4, Connection object
Answer: 2
Marks: 2
=============================================================
SNo: 42
Ques: Which of the following objects enables the JMS API to register a
MessageListener object with the queue destination
Options:
1, Session object
2, Connection object
3, QueueReceiver object
4, QueueConnectionFactory
Answer: 3
Marks: 2
=============================================================
SNo: 43
Ques: Which of the following life-cycle events occurs when the container
restores the state of the instance to primary storage, from the previously
cached secondary storage
Options:
1, PreRemove
2, PostActivate
3, PreDestroy
4, PostRemove
Answer: 2
Marks: 2
=============================================================
SNo: 44
Ques: Which of the following life-cycle events occurs when the container
decides to remove the stateful session bean instance from primary storage and
cache it in secondary storage
Options:
1, PostActivate
2, PostRemove
3, PrePassivate
4, PreRemove
Answer: 3
Marks: 2
=============================================================
SNo: 45
Ques: Which of the following options is true regarding the life-cycle
callback interceptor methods
Options:
1, The life-cycle callback interceptor methods can throw only
remote exceptions.
2, A life-cycle interceptor method can be annotated to handle only
one life-cycle event.
3, The life-cycle callback interceptor method can be final.
4, The life-cycle callback interceptor method cannot be static or
final.
Answer: 4
Marks: 2
=============================================================
SNo: 46
Ques: Which of the following life-cycle event is invoked before a query
result is returned or accessed
Options:
1, PrePersist callback
2, PostPersist callback
3, PostLoad callback
4, PostUpdate callback
Answer: 3
Marks: 2
=============================================================
SNo: 47
Ques: Identify the correct rule regarding the callback methods.
Options:
1, A callback method cannot access entries in the entity class
environment.
2, The same callback method cannot be designated to handle multiple
callback events.
3, Callback methods cannot throw runtime exceptions.
4, Callback methods must not throw checked exceptions, but can
throw unchecked exceptions.
Answer: 4
Marks: 2
=============================================================
SNo: 48
Ques: Which of the following CMT transaction attributes is applicable for
methods that must execute in a transaction but not necessarily a new
transaction
Options:
1, SUPPORTS
2, REQUIRES_NEW
3, NOT_SUPPORTED
4, REQUIRED
Answer: 4
Marks: 2
=============================================================
SNo: 49
Ques: Which of the following CMT transaction attributes defines that a
method will execute in the same transaction if it is called with the calling
thread currently in a transaction
Options:
1, REQUIRED
2, REQUIRES_NEW
3, SUPPORTS
4, NOT_SUPPORTED
Answer: 3
Marks: 2
=============================================================
SNo: 50
Ques: Which of the following interfaces provides the session bean with the
feedback about the transaction demarcation events
Options:
1, SessionSynchronization
2, javax.transaction.UserTransaction
3, javax.ejb.TimedObject
4, TimerService
Answer: 1
Marks: 2
SNo: 51
Ques: In which of the following CMT transaction attributes the container
is able to invoke the enterprise bean method in the client's transaction
because the client method is executing in a transaction.
Options:
1, REQUIRES_NEW
2, REQUIRED
3, SUPPORTS
4, NEVER
Answer: 2
Marks: 2
=============================================================
SNo: 52
Ques: Which of the following statements is true regarding BMT
Options:
1, BMT is restricted to session bean only.
2, BMT is restricted to session and message-driven beans only.
3, BMT is restricted to message-driven bean only.
4, To implement BMT transaction attribute for an enterprise bean,
select it for each method.
Answer: 2
Marks: 2
=============================================================
SNo: 53
Ques: If a merge operation is performed on an entity in the detached
state, what would be the new state of the entity
Options:
1, Managed
2, New
3, Removed
4, Non existent
Answer: 1
Marks: 2
=============================================================
SNo: 54
Ques: If a persist operation is performed on an entity in the removed
state, what would be the new state of the entity
Options:
1, Non existent
2, Managed
3, Detached
4, New
Answer: 2
Marks: 2
=============================================================
SNo: 55
Ques: If the persist operation is performed on an entity in the new state,
what will be the new state of the entity
Options:
1, Removed
2, Managed
3, Detached
4, Non existent
Answer: 2
Marks: 2
=============================================================
SNo: 56
Ques: Which of the following APIs is used for vendor-neutral access to
directory services, such as LDAP
Options:
1, JavaBeans Activation Framework (JAF) API
2, JMS API
3, JNDI API
4, JavaMail API
Answer: 3
Marks: 2
=============================================================
SNo: 57
Ques: Which of the following options correctly defines a design rule for a
session bean
Options:
1, The class must be abstract.
2, The class must have a public constructor that takes parameter.
3, The class must be defined as public.
4, The class must define the finalize method.
Answer: 3
Marks: 2
=============================================================
SNo: 58
Ques: Which of the following options is true regarding the callback method
Options:
1, Each callback event can only have one callback method designated
to handle it.
2, A callback method cannot access entries in the bean's
environment.
3, Callback methods must throw application exceptions.
4, Callback methods can have only public as the access modifier.
Answer: 1
Marks: 2
=============================================================
SNo: 59
Ques: Which of the following options defines a set of classes that work
together to provide a hosting environment for a client
Options:
1, Application client container
2, Web server
3, Web container
4, EJB tier
Answer: 1
Marks: 2
=============================================================
SNo: 60
Ques: Which of the following xml files contains the deployment information
for one or more enterprise beans
Options:
1, ejb-jar.xml
2, application.xml
3, persistence.xml
4, orm.xml
Answer: 1
Marks: 2
=============================================================
SNo: 61
Ques: Pamela, Recruitment Head for MagicJobs.com wants you to implement
the Job Basket functionality in her company's job site. This Job Basket would
allow registered users to store their searched jobs during their communication.
The users can access their stored jobs by clicking on the Job Basket link. What
will Pamela do to meet these requirements
Options:
1,Pamela will create a stateless session bean.
2,Pamela will create an Entity bean.
3,Pamela will create a Message-driven bean.
4,Pamela will create a state full session bean.
Answer: 4
Marks: 3
=============================================================
SNo: 62
Ques: Rita has been entrusted with the task of creating a hospital
management site using EJB 3.0. After freezing on the technical architecture she
is now implementing the EJBs, but has come across a problem. She is not sure
about where to put entity beans related configuration data and has asked for
your help. Which of the following options would you consider the best place to
put configuration data of the entity bean
Options:
1,The manifest.mf file
2,The entity class using annotations
3,The properties files
4,The .ini files
Answer: 2
Marks: 3
=============================================================
SNo: 63
Ques: You have created a stateless session bean namely the EmployeeBean to
store employee information. Apart from storing employee information you also
want to log the time when employees are created. Therefore, you have created
the logEmp method to log the time in a log file. For which of the following
life-cycle events will you create logEmp method as a handler so that the method
gets called when the employee bean is constructed
Options:
1,PostConstruct callback event
2,PreDestroy callback event
3,PostActivate callback event
4,PrePassivate callback event
Answer: 1
Marks: 3
=============================================================
SNo: 64
Ques: You have created a stateful session bean, and found that though the
bean is getting the allocated resources, the deallocation is not happening
properly. Which of the following options will you choose to rectify the issue
Options:
1,You will deallocate the resources by overriding the finalize
method in the bean class.
2,You will deallocate the resources by creating a method to handle
the PreDestroy life-cycle event of the bean.
3,You will deallocate the resources by creating a method to handle
the PrePassivate life-cycle event of the bean.
4,You will deallocate the resources by restarting the server each
time the Application Server is low on resources.
Answer: 2
Marks: 3
=============================================================
SNo: 65
Ques: You have developed a banking module by using a session bean namely,
the AccountBean. In this bean, you have implemented the business interface
Account that has debit and credit methods. Now, you want to test the
AccountBean using a bean to verify if there are any issues in it. Therefore,
you want to create a normal java class file and from its main method use the
AccountBean. Do you think this is possible Give a reason for your choice.
Options:
1,No, only servlets can act as client for a session bean.
2,No, only JSPs can act as client for a session bean.
3,Yes, you can use the injection service i.e. @EJB annotation to
obtain a reference of a bean.
4,Yes, you can directly instantiate a bean from a java class
without any extra efforts.
Answer: 3
Marks: 3
=============================================================
SNo: 66
Ques: Greg has been assigned the task of creating entity beans for a
banking site. One of the requirements for the banking site is that the
application data of the entity beans should be fail-safe i.e. in case of system
crash or shut-down the entity beans should be preserved. Which of the following
options can help him in providing this fail-safe functionality
Options:
1,The fail-safe functionality for entity beans can be provided by
third party APIs which will write the data to the files in hard-disks for each
update.
2,The fail-safe functionality for entity beans can be provided by
Java Persistence API which provides the mechanism for persisting the data.
3,The fail-safe functionality for entity beans can be provided by
own created API's which will write the data to the files in hard-disks for each
update.
4,The fail-safe functionality for entity beans cannot be provided
as preserving the data is not possible in case of a system crash or system
shut-down.
Answer: 2
Marks: 3
=============================================================
SNo: 67
Ques: You have been given a task to create entity beans for a shopping
site. You have to create an entity bean that maps to the table PURCHASE_ORDER,
instead of naming it as PurchaseOrder you want to name the class as
POEntityBean. Additionally, the PURCHASE_ORDER table has an AMOUNT column and
instead of naming the field as amount you want to name the field as
totalAmount. Which of the following annotations will help you achieve this
Options:
1,The entity annotations can be used to override both the table and
the column name.
2,The table annotations can be used to override the table name and
the column annotations will help override the column name.
3,The table names and column names cannot be overridden because you
have to use PurchaseOrder as the bean and amount as the field.
4,The bean annotation can be used to override both the table and
the column name.
Answer: 2
Marks: 3
=============================================================
SNo: 68
Ques: You have been given a task to create entity beans for a shopping
site. You have to create an entity bean PurchaseOrder , which maps to the
table PURCHASE_ORDER. PURCHASE_OREDR_ID is the primary key of the table and
purchaseOrderId is the persistent field in the bean that is mapped to the
primary key column. As soon as a purchase order record is created you want to
auto-populate the primary key. Which of the following techniques you will use
to achieve this
Options:
1,The Id annotation will be used to denote that this is a primary
key field and the ejb container will take care of auto-populating the field.
2,The default constructor needs to be updated so that as soon as
the bean is created purchaseOrderId will be initialized to
max(PURCHASE_OREDR_ID)+1.
3,The GeneratedValue annotation will be used in conjunction with Id
annotation. The Id annotation denotes that this is a primary key field and the
GeneratedValue denotes that this field should be auto-populated by the ejb
container.
4,The getter method purchaseOrderId needs to be updated so that the
method returns the ID values correctly.
Answer: 3
Marks: 3
=============================================================
SNo: 69
Ques: You have created entity beans for an e-shopping site. These beans
now need to be packaged and deployed on the customer's site. To package these
beans, you need to provide information such as the data source, persistence
unit name, and provider. Which of the following options do you think is the
correct place to provide this information
Options:
1,The information should be provided as annotations in each entity
class.
2,The information should be provided in .ini files.
3,The information should be provided in persistence.xml.
4,The information should be provided in manifest.mf file.
Answer: 3
Marks: 3
=============================================================
SNo: 70
Ques: Mary is working on her e-shopping module and has created entity
beans named Product bean, for the table named PRODUCT. This table stores
information about the items on the site such as price, brand, logo image etc.
with image column being able to store images up to 5 MB. But now the customers
are facing a performance issue as the Image column slows down the fetching of
the Product bean. Which of the following options will Mary use to improve the
performance of the Product bean
Options:
1,Mary can change the fetch mode for the Lob column image to lazy.
2,Mary can change the fetch mode for the entire entity to lazy.
3,Mary can remove the Lob column image from the bean.
4,Mary can ask the customer to upgrade his server with a faster
machine.
Answer: 1
Marks: 3
=============================================================
SNo: 71
Ques: You are implementing a Human Resource Management site. For salary
processing of employees at the end of each month you have created a message
driven bean namely SalaryProcessor which implements TimedObject interface. You
want that the ejbTimeout(Timer) method gets called always in a new transaction.
Is this possible If yes then how
Options:
1,It is not possible to execute ejbTimeout method always in a new
transaction as message driven bean methods cannot be executed in a transaction.
2,It is not possible to execute ejbTimeout method always in a new
transaction as ejbTimeout method always executes in the client's transaction.
3,It is possible to execute ejbTimeout method in a new transaction
using Required transaction attribute.
4,It is possible to execute ejbTimeout method in a new transaction
using RequiresNew transaction attribute.
Answer: 4
Marks: 3
=============================================================
SNo: 72
Ques: You have implemented a social networking site. Your site sends
general mails to the users each hour, for this you have created a timer which
fires after each hour. For some reasons the server was shutdown for some hours.
When the server was restored which of the following holds true for the expired
timer notifications
Options:
1,The expired timers will not be redelivered on server restart.
2,The expired timers will be redelivered on server restart.
3,The expired timers may or may not be redelivered on server
restart; it depends upon the vendor of the application server.
4,Only the interval timers that are expired will be redelivered on
server restart.
Answer: 2
Marks: 3
=============================================================
SNo: 73
Ques: Sam needs to develop a Job Basket functionality for his job site.
This Job Basket will allow the registered users to store their searched jobs in
one place for the duration of their session. JobBasketBean implements a
business interface that has methods to add and remove jobs. Sam has also added
two interceptor methods interceptAdd and interceptRemove for intercepting
addJob and removeJob methods. Identify whether it is possible for Sam to have
different interceptor methods for different business methods Give a reason.
Options:
1,Yes it is possible. Interceptors annotation can be used at method
level to specify different interceptor classes for different business methods.
2,Yes it is possible. AroundInvoke annotation can be used at method
level to specify different interceptor methods for different business methods.
3,Yes it is possible. Interceptors annotation can be used at class
level to specify different interceptor classes and their association with
different business methods.
4,No it is not possible, same interceptor methods are executed
regardless of which business method of the bean is executed.
Answer: 4
Marks: 3
=============================================================
SNo: 74
Ques: George is implementing a banking site. He has created two enterprise
beans SavingAccount and CurrentAccount to handle saving accounts and current
accounts respectively. He has created an AccountInterceptor class to intercept
methods for both the beans. He has added interceptSavingAccount and
interceptCurrentAccount methods to intercept business methods of SavingAccount
and CurrentAccount beans respectively. How can he associate the bean's business
methods with the interceptor methods
Options:
1,It is not recommended to have more than one business interceptor
method in a single interceptor class as it can produce unexpected results based
upon vendor's implementation.
2,Interceptor's annotation can be used at method level to specify
different interceptor methods for different business methods.
3,AroundInvoke annotation can be used at method level to specify
different interceptor methods for different business methods.
4,Interceptor's annotation can be used at class level to specify
different interceptor classes and their association with different business
methods.
Answer: 1
Marks: 3
=============================================================
SNo: 75
Ques: Greg is implementing a Job site. He has created a UserRegistration
session bean for the registration. He has added the required business methods
needed for the registration process to the bean. He wants to intercept the
business methods calls of the bean. Which of the following options he can use
for this
Options:
1,It is not possible to intercept method calls.
2,He can create an interceptor class which will be called when the
business methods of the bean executes and use Interceptors annotation to
associate the bean with the interceptor class.
3,He can throw application exception at the end of processing from
each method which will denote that the method is executed.
4,He can write code in the business methods to write logs to a file
and can continuously read the file to get if the business methods are executed.
Answer: 2
Marks: 3
SNo: 76
Ques: Michael is implementing a banking site. He has created a session
bean namely, the SavingAccount and added a method the validateClient. He wants
that this method should always run in the client's context. Which of the
following transaction attribute will help Michael to achieve this?
Options:
? 1,Michael can use the REQUIRES_NEW attribute.
? 2,Michael can use the REQUIRED attribute.
? 3,Michael can use the SUPPORTS attribute.
? 4,Michael can use the MANDATORY attribute.
Answer: 4
Marks: 3
=============================================================
SNo: 77
Ques: Samuel is implementing a banking site. He has created a session bean
namely, the SavingAccount and added a createNewAccount method to create a new
account. He wants that this method should rollback the transaction if any error
occurs while creating the user. In such a case, which of the following methods
can be used to rollback the transaction attributes?
Options:
? 1,The setRollbackOnly method can be called on the transaction to
set the flag so that it can be rollbacked once the method returns.
? 2,The getRollbackOnly method can be called on the transaction to
set the flag so that it can be rollbacked once the method returns.
? 3,The setRollback method can be called on the transaction to set
the flag so that it can be rollbacked once the method returns.
? 4,The rollBack method can be called on the transaction to set the
flag so that it can be rollbacked once the method returns.
Answer: 1
Marks: 3
=============================================================
SNo: 78
Ques: Matt is implementing a human resources management site. He has
created a Employee stateful session bean and added a processHike(double arg)
method to process the salary hike of an employee. This method updates employee
record in the database with the increased salary and also updates the salary
field of the bean. Matt wants to listen to transaction events so that if the
transaction is rolledback outside the processHike method's scope the salary
field in the employee bean can be updated back to the original value. Which of
the following options can Matt use to listen to transaction events?
Options:
? 1,Matt can listen to transaction events by implementing
SessionSynchronization interface in the employee bean, so that the bean can get
notifications depending upon the state of the transaction.
? 2,Matt cannot listen to transaction events as it is not possible
to listen to the transaction from a stateful session bean.
? 3,Matt can by default listen to transaction events without any
extra efforts as stateful session beans by default are notified with
transaction states
? 4,Matt cannot listen to transaction events as it is possible to
listen to the transaction only from a stateless session bean and not from a
stateful session bean.
Answer: 1
Marks: 3
=============================================================
SNo: 79
Ques: You are implementing a human resource site. You have created two
entity beans named Employee and Person, which has createEmployee and
createPerson methods respectively. The createEmployee methods calls createPerson
method to create a person record for an employee. You want that the Employee
bean should use Manager role while calling the Person bean's method. Identify
which of the following options meets this requirement.
Options:
? 1,Yes, a run-as annotation can be used to associate a run-as
identity to a bean's method.
? 2,Yes, a run-as element in deployment descriptor can be added to
associate a run-as identity to a bean's method.
? 3,No, it is not possible to specify a different identity when a
bean method calls another bean's methods.
? 4,Yes, a use-caller-identity element in deployment descriptor can
be used to associate a run-as identity to a bean's method.
Answer: 2
Marks: 3
=============================================================
SNo: 80
Ques: You have a stateless session bean, the AccountBean which has two
methods createAccount and debitAccount. The createAccount method should be
executed only by a user with the SYSTEM_ADMINISTRATOR role whereas the
debitAccount can be executed by a user with ACCOUNT_MANAGER and
SYSTEM_ADMINISTRATOR role. What should be the security implementation for the
AccountBean?
Options:
? 1,@Stateless @RolesAllowed("SYSTEM_ADMINISTRATOR")
public class AccountBean implements Account{
public int createAccount() {?}
public void debitAccount(double value) {?}
}
? 2,@Stateless
@RolesAllowed({"SYSTEM_ADMINISTRATOR","ACCOUNT_MANAGER"})
public class AccountBean implements Account{
public int createAccount() {?}
public void debitAccount(double value) {?}
}
? 3,@Stateless
public class AccountBean implements Account{
@RolesAllowed({"SYSTEM_ADMINISTRATOR","ACCOUNT_MANAGER"})
public int createAccount() {?}
@RolesAllowed({"SYSTEM_ADMINISTRATOR","ACCOUNT_MANAGER"})
public void debitAccount(double value) {?}
}
? 4,@Stateless
public class AccountBean implements Account{
@RolesAllowed("SYSTEM_ADMINISTRATOR")
public int createAccount() {…}
@RolesAllowed({"SYSTEM_ADMINISTRATOR","ACCOUNT_MANAGER"})
public void debitAccount(double value) {…}
}
Answer: 4
Marks: 3
=============================================================
SNo: 81
Ques: Simon is implementing a Job site and has been entrusted with the
task of sending a notification to all the users, whose password has expired. To
meet this requirement, Simon plans to create a named query using the NamedQuery
metadata annotation, to fetch all such user records. The USERS table has USER_ID,
USER_NAME, PASSWORD, PASSWORD_EXPIRY_DATE columns and the entity bean created
for this table is Users with the fields userId, userName, password, and
passwordExpiryDate. Which of the following options will Simon use to create
this named query?
Options:
? 1,@NamedQuery(name = "findExpiredUsers", query =
"select OBJECT(u) FROM Users u WHERE u.passwordExpiryDate is not null and
passwordExpiryDate <= :passwordExpiryDate")
? 2,@NamedQuery(name = "findExpiredUsers", query =
"select OBJECT(u) FROM Users u WHERE u.passwordExpiryDate is not null)
? 3,entityManager.createQuery
("select OBJECT(u) FROM Users u WHERE u.passwordExpiryDate is not
null "+
" and passwordExpiryDate <= :passwordExpiryDate");
? 4,entityManager.createNativeQuery
("SELECT OBJECT(u) FROM Users u WHERE u.passwordExpiryDate is not
null "+
" and passwordExpiryDate <= :passwordExpiryDate");
Answer: 1
Marks: 3
=============================================================
SNo: 82
Ques: Sam is implementing a banking site and has created a SavingAccount
entity bean for the SAVING_ACCOUNT table. The SavingAccount bean has a
validateAccount method, which validates the account data before committing it
to the database. The validateAccount method is coded in such a way that if the
data is invalid it throws an application exception. While testing the
SavingAccount bean Sam found out that even though the application exception is
thrown the container does not rollback the transaction. Sam expected that the
container would rollback the transaction if the exception is thrown. Which of
the following options can be used rectify this unexpected behavior?
Options:
? 1,You can rectify this unexpected behavior by modifying the
existing application exception with @ApplicationException(rollback=true)
annotation to indicate that container needs to rollback the transaction if this
exception is thrown.
? 2,You can rectify this unexpected behavior by changing the code
to throw a SQLException.
? 3,You can rectify this unexpected behavior by changing the code
to throw a IOException.
? 4,You can rectify this unexpected behavior by modifying the
existing application exception with @ApplicationException(onErrorRollback=true)
annotation to indicate that container needs to rollback the transaction if this
exception is thrown.
Answer: 1
Marks: 3
=============================================================
SNo: 83
Ques: Nancy is implementing a social networking site. She has created a
Person entity bean for the PERSON table which is used to store the person
information. There is a setDateOfBirth(String) method in the entity bean which
accepts dates as Strings in dd-mm-yyyy format and converts them to
java.util.Date using a date formatter. The date formatter used in the method
throws ParseException that should be catched. Nancy wants that if a date string
is passed in a wrong format the caller should get an exception. As this
condition is non-fatal the transaction should not be rollbacked. Which of the
following options she will choose for her catch block to correctly implement
her requirement?
Options:
? 1,She will catch the ParseException and will not throw any
exception in the catch block.
? 2,She will catch the ParseException and will throw again a ParseException
error in the catch block.
? 3,She will catch the ParseException and will throw a wrapper
system exception in the catch block.
? 4,She will catch the ParseException and will throw a wrapper
application exception in the catch block.
Answer: 4
Marks: 3
=============================================================
SNo: 84
Ques: Mira is working on banking site and has created a SavingAccount
entity bean for the SAVING_ACCOUNT table. However, Mira's code is giving
unexpected results and she asks Wendy to review her code of the SavingAccount
bean. Wendy on observation finds that the updateAccount method throwing
java.rmi.RemoteException to indicate a catastrophic error. How will Wendy
rectify Mira's code?
Options:
? 1,Wendy does not need to rectify anything because RemoteException
is a valid exception and developers can throw this error from an entity bean.
? 2,Wendy will change the code to throw EJBException instead of the
RemoteException.
? 3,Wendy will change the code to throw an application exception
instead of the RemoteException.
? 4,Wendy will change the code to throw OutOfMemoryError instead of
the RemoteException.
Answer: 2
Marks: 3
=============================================================
SNo: 85
Ques: You are implementing a human resource site. You have created the
following named query to fetch names of all the employees along with the name
of their manager.
SELECT e.name, m.name FROM Employee e JOIN Manager m WHERE e.managerId =
m.managerId
The Employee record is stored in the EMPLOYEE table and the Manager record
is stored in the MANAGER table. Primary key column for EMPLOYEE table is
EMPLOYEE_ID and primary key column for MANAGER table is MANAGER_ID. MANGER_ID
column in the EMPLOYEE table references MANAGER_ID column in the MANAGER table.
This site was using a MySQL database till now but now the client wants to move
to an Oracle database. In such a case, observe the preceding query and identify
whether you need to make any changes to it? If yes how?
Options:
? 1,Yes, you will have to make changes as the Oracle database does
not support JOIN keyword and the following changes will need to be made to the
query.
SELECT e.name,m.name FROM Employee e,Manager m WHERE e.managerId =
m.managerId
? 2,Yes, you will have to make changes as the Oracle database is
case sensitive and the following changes will need to be made to the query.
select e.name,m.name from Employee e join Manager m where e.managerId =
m.managerId
? 3,Yes, you will have to make changes as the Oracle database is
case sensitive and does not support the JOIN keyword. Therefore, the following
changes will need to be made to the query.
select e.name,m.name from Employee e, Manager m where e.managerId =
m.managerId
? 4,No, you will not have to make any changes as named queries
created using Java Persistence Query language are database independent and need
not be changed while changing the database server vendor.
Answer: 4
Marks: 3
=============================================================
SNo: 86
Ques: You have been entrusted with the task of creating an indexing module
for a job site. This module will create indexes of the resumes uploaded by the
candidates during registration. These indexes need to be created for better and
faster search results. Identify which of the following techniques will you use
to develop this module?
Options:
? 1,You will create a normal class file which will be called during
the registration flow while uploading the resumes to create indexes on the fly.
? 2,You will create a Message-driven bean which will perform the
indexing job and modify the resume uploading code so that it creates a index as
soon as a resume is uploaded.
? 3,You will create a timer program which will be scheduled to run
daily in the night. This program will look for all the newly uploaded resumes
and create indexes for them.
? 4,You will create a Java standalone program which will be called
manually by the system administrator to create indexes when required.
Answer: 2
Marks: 3
=============================================================
SNo: 87
Ques: Sam is implementing a banking site. He has created a session bean,
User which produces messages that are consumed synchronously by entity bean
namely SavingAccount. The messages are consumed synchronously so till the
SavingAccount bean finishes processing the messages server resources remains
locked. Which of the following options can Sam use to optimize the use of
resources?
Options:
? 1,Create a message driven bean to process the messages instead of
SavingAccount bean.
? 2,Upgrade the server so that it has ample resources.
? 3,Instead of Java EE use some other architecture that allows
asynchronous message consumers.
? 4,Messages can only be processed synchronously, so nothing can be
done in this scenario.
Answer: 1
Marks: 3
=============================================================
SNo: 88
Ques: Sam is using IBM's WebSphere application server for his Java EE
based banking site. WebSphere provides special APIs for logging and transaction
controls that generates non-JMS messages. Sam wants to use these APIs and
non-JMS messages in his application. Can he use non-JMS messages in his
application and how?
Options:
? 1,Yes, Sam can use non-JMS messages, he can make use of non-JMS
message driven bean for non-JMS messages.
? 2,Yes, Sam can use non-JMS messages, he can make use of JMS
message driven bean for non-JMS messages.
? 3,No, Sam cannot use non-JMS messages, as Java EE architecture
does not provide support for non-JMS messages.
? 4,No, Sam cannot use non-JMS messages, as it requires Java Native
Interface to access non-JMS messages and it is not recommended to use JNI from
EJBs.
Answer: 1
Marks: 3
=============================================================
SNo: 89
Ques: Sam is using JMS message driven bean for his social networking site.
Message produces TextMessages that can be of type NormalText or HTMLText. He is
using BlogMessageClient bean to handle these blog messages. To identify whether
the object of the BlogMessageClient can handle NormalText or HTMLText, he has
added a type field to the class. To initialize this field he has added a
initializeType() method. He wants that this method should be called immediately
after initialization of the bean. For which of the following events he will
create the method as a handler?
Options:
? 1,For PostConstruct event he will create initializeType() as a
handler.
? 2,For PreDestroy event he will create initializeType() as a
handler.
? 3,For PostActivate event he will create initializeType() as a
handler.
? 4,For PrePassivate event he will create initializeType() as a
handler.
Answer: 1
Marks: 3
=============================================================
SNo: 90
Ques: You have just finished creating a JMS message driven bean, and found
that though the bean is getting the allocated resources, the deallocation is
not happening properly. Which of the following options will you choose to
rectify the issue?
Options:
? 1,Overide the finalize method in the bean class and deallocate
the resources in that method.
? 2,Create a method to handle the PreDestroy life-cycle event of
the bean and in this method deallocate the resources.
? 3,Create a method to handle the PrePassivate life-cycle event of
the bean and in this method deallocate the resources.
? 4,Nothing can be done for the issue so you will restart the
server each time the Application Server is low on resources.
Answer: 2
Marks: 3
=============================================================
SNo: 91
Ques: Ryan has created a stateless session bean, named BankingBean, which
includes the endBanking method as a handler for PrePassivate event. However,
the endBanking method, which should be executed during the lifecycle of the
bean, never gets called. Observe the partial code given below and identify the
reason for this unexpected result.
@Stateless public class BankingBean implements Banking {
public int someMethod(){...};
//...
@PrePassivate private void endBanking() {...};
}
Options:
? 1,The endBanking method is called but endBanking method throws a
runtime exception and so container does not execute the method.
? 2,The endBanking method is not called because stateless beans do
not fire PrePassivate life-cycle events.
? 3,The endBanking method is not called because the handle is not
created properly. The name of the handler is not passed as a parameter such as,
@PrePassivate{"EndBankingHanlde"}
? 4,The endBanking method is not called because passivation of a
stateless session bean is very unpredictable.
Answer: 2
Marks: 4
=============================================================
SNo: 92
Ques: You have a stateful session bean, named as ShoppingCartBean, for
which you have created an activateBean method to initialize the bean and
generate a unique ID for the shopping cart. You now have to create a code to
ensure that the activateBean method is executed on creation and activation of
the bean. Which of the following codes will help in the preceding task?
Options:
? 1,@PostActivate
@PostConstruct
private void activateBean() {...};
? 2,@PostActivate,PostConstruct
private void activateBean() {...};
? 3,@PostActivate
private void activateBean() {...};
@PostConstruct
private void activateBean() {...};
? 4,@{PostActivate,PostConstruct}
private void activateBean() {...};
Answer: 1
Marks: 4
=============================================================
SNo: 93
Ques: You have created a session bean, namely UserBean by using the
following code snippet:
@Stateless
public final class UserBean implements UserInterface{
public boolean validateLogin(String userName, String password){//code to
validate login and return a boolean value}
}
While compiling the bean you are getting an error. Identify what is the
issue with the preceding code?
Options:
? 1,A final keyword cannot be used while defining a session bean.
? 2,A default constructor should be defined while defining a
session bean.
? 3,A session bean class should not implement interfaces.
? 4,A session bean should always be an abstract class.
Answer: 1
Marks: 4
=============================================================
SNo: 94
Ques: You have created a session bean, with a stateless annotation.
However, you have also added the following entry for the bean in the deployment
descriptor.
<session-type>Stateful</session-type>
Which of the following issues will arise in this situation?
Options:
? 1,This situation will cause a runtime exception because
structural information provided as annotations should not be overridden in the
deployment descriptor.
? 2,This situation will not cause any issues because the container
will ignore the deployment descriptor entry.
? 3,This situation will not cause any issues because the container
will ignore the annotations entry.
? 4,This situation will not cause any issues because the deployment
descriptor's entry will override the annotation's entry.
Answer: 1
Marks: 4
=============================================================
SNo: 95
Ques: You have created a session bean, using stateless annotations.
However, when you try to compile this session bean it gives you a compile
error. You have JDK1.4.2 installed in your machine. Which of the following
options do you think is the reason for this error?
Options:
? 1,You get a compile error because for compiling session bean java
files, you should first install Java EE 5 SDK.
? 2,You get a compile error because JDK1.4.2 does not support
annotations and you should at least have JDK1.5.0 installed. Annotations were
only introduced with JDK1.5.0.
? 3,You get a compile error because for compiling session bean java
files, you should first install an Application Server like Sun Java? System
Application Server.
? 4,You get a compile error because the installation of JDK1.4.2 on
your machine is corrupt, causing it to behave unexpectedly.
Answer: 1
Marks: 4
=============================================================
SNo: 96
Ques: Billy is using following code for his message driven bean:
@MessageDriven(messageListenerInterface=javax.jms.MessageListener.class,
mappedName = "jms/MessageDrivenBean")
public class MessageDrivenBean{
public void onMessage(Message message) {//some code}
@PostConstruct void obtainResource() throws
CustomApplicationException{//some code}
@PreDestroy void releaseResource() throws
CustomApplicationException {//some code}
}
Please verify the preceding code to rectify if it contains any issues?
Options:
? 1,The above code does not have any issues and will successfully
create a message driven bean namely MessageDrivenBean.
? 2,MessageDrivenBean is not implementing the MessageListener
interface and so when container tries to notify the bean with the message a run
time exception will be thrown.
? 3,MessageDrivenBean is not explicitly implementing the default
constructor and so when container tries to notify the bean with the message a
run time exception will be thrown.
? 4,It is not recommended that life-cycle event handler methods
should throw application exceptions. So the throws clause should be removed.
Answer: 4
Marks: 4
=============================================================
SNo: 97
Ques: Billy is using following code for his message driven bean:
@MessageDriven(messageListenerInterface=javax.jms.MessageListener.class,
mappedName = "jms/MessageDrivenBean",
activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode",
propertyValue = "Client-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
})
public class MessageDrivenBean{
public void onMessage(Message message) {//some code}
}
But he is facing a runtime exception with the above code. Please verify
the preceding code to rectify if it contains any issues?
Options:
? 1,MessageDrivenBean is not implementing the MessageListener
interface and so when container tries to notify the bean with the message a run
time exception is thrown.
? 2,Improper value for property acknowledgeMode is specified in the
ActivationConfigProperty annotation and so when container tries to set this
value a run time exception is thrown.
? 3,MessageDrivenBean is not explicitly implementing the default
constructor and so when container tries to notify the bean with the message a
run time exception is thrown.
? 4,There is no issue with the code, the runtime exception is
occurring because of some configuration issue with the server.
Answer: 2
Marks: 4
=============================================================
SNo: 98
Ques: Billy is using following code for his message driven bean:
@MessageDriven(messageListenerInterface=javax.jms.MessageListener.class,
mappedName = "jms/MessageDrivenBean")
public final class MessageDrivenBean{
public void onMessage(Message message) {//some code}
}
Please verify the preceding code to rectify if it contains any issues?
Options:
? 1,The above code does not have any issues and will successfully
create a message driven bean namely MessageDrivenBean.
? 2,MessageDrivenBean is not implementing the MessageListener interface
and so when container tries to notify the bean with the message a run time
exception will be thrown.
? 3,MessageDrivenBean is not explicitly implementing the default
constructor and so when container tries to notify the bean with the message a
run time exception will be thrown.
? 4,It is not recommended that the JMS message driven beans be
created as final classes. So the final keyword should be removed.
Answer: 4
Marks: 4
=============================================================
SNo: 99
Ques: Charlie is implementing a human resources management site and has
created an Employee stateless session bean. He wants to listen to transaction
events and has therefore added the necessary methods to the bean. The following
code snippet displays the beans and the methods:
@Stateless
public class EmployeeBean implements Employee, SessionSynchronization{
@TransactionAttribute(TransactionAttributeType.MANDATORY)
public void processPayroll(){//some code}
public void afterCompletion(boolean committed){...}
public void afterBegin(){...}
public void beforeCompletion(){...}
}
However, while compiling his bean he is getting a compilation error.
Identify the reason for this unexpected result?
Options:
? 1,Charlie is getting the compiler error, because stateless
session beans cannot implement SessionSynchronization interface.
? 2,Charlie is getting the compiler error, because he has not
defined the TransactionManagement annotation.
? 3,Charlie is getting the compiler error, because TransactionAttributeType.MANDATORY
is not a valid transaction attribute type for a stateless session bean.
? 4,Charlie is getting the compiler error, because he has not
defined the default constructor for the bean.
Answer: 1
Marks: 4
=============================================================
SNo: 100
Ques: Rick is implementing a human resources management site and has
created an Employee stateless session bean and added method createNewEmployee
to the bean. He is using BMT for transaction demarcation and wants that
whenever the createNewEmployee is called it should be called in a new
transaction. The following code snippet displays the beans and the methods:
@Stateless
@TransactionManagement(TransactionManagementType.BEAN)
public class EmployeeBean implements Employee{
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void createNewEmployee(){
//code to verify if the transaction is new
//some more code
}
}
However, when this bean is executed and createNewEmployee method is called
he finds that the method is not called within a new transaction. What could be
the reason for this unexpected result?
Options:
? 1,Rick is getting this unexpected result because he is using a
wrong transaction attribute type i.e. REQUIRES_NEW, instead REQUIRED should be
used.
? 2,Rick is getting this unexpected result because stateless beans
do not support transaction demarcation. As a result, all the methods are called
in the same transaction.
? 3,Rick is getting this unexpected result because stateless beans
do not support BMT. Therefore, all the methods are called in the same
transaction.
? 4,Rick is getting this unexpected result because he is using BMT
because of which the container does not manage the transactions for the bean,
it should be managed programmatically.
Answer: 4
Marks: 4
SNo: 101
Ques: Billy is using following code for his message driven bean:
@MessageDriven(mappedName = "jms/NewMessage", activationConfig =
{
@ActivationConfigProperty(propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
})
@TransactionManagement(TransactionManagementType.CONTAINER)
public class MessageDrivenBean implements MessageListener {
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void onMessage(Message msg){ }
}
You have specified REQUIRED as transaction attribute type but unexpectedly
even though if there is an active transaction, when the onMessage method is
called, it is always executed in a new transaction. Identify the reason for
this unexpected result.
Options:
1,Message driven beans are always called in a new transaction if
the transaction attribute type is REQUIRED.
2,Message driven beans are always called in a new transaction when
CMT is used no matter what type of the transaction attribute type is specified.
3,Message driven beans are always called in a new transaction no
matter if CMT or BMT is used.
4,REQUIRED transaction attribute indicates that the bean should
always be called in a new transaction, so if instead of message driven bean any
other bean was used the method would have been called in a new transaction.
Answer: 1
Marks: 4
=============================================================
SNo: 102
Ques: Billy is using following code for his message driven bean:
@MessageDriven(mappedName="jms/MessageQueue")
public class MessageDrivenBean implements MessageListener {
public void onMessage(Message msg) {//code for message processing}
public void finalize(){//some processing}
}
Please verify the preceding code to rectify if it contains any issues
Options:
1,The above code does not have any issues and will successfully
create a message driven bean namely MessageDrivenBean.
2,@MessageDriven annotation only defines mappedName property,
messageListenerInterface attribute should also be specified.
3,finalize() method is a protected message in Object class so it
cannot be public in the MessageDrivenBean class.
4,It is not recommended that message driven bean should implement
the finalize method. So the finalize method should be removed.
Answer: 4
Marks: 4
=============================================================
SNo: 103
Ques: Billy is using following code for his message driven bean:
@MessageDriven(mappedName="jms/MessageQueue",
messageListenerInterface=javax.jms.MessageListener.class)
public class MessageDrivenBean {
public void onMessage(TextMessage msg) {//code for message
processing}
}
But at times he is facing a runtime exception. Please verify the preceding
code to rectify if it contains any issues
Options:
1,MessageDrivenBean is not implementing the MessageListener
interface and so when container tries to notify the bean with the message a run
time exception is thrown.
2,MessageDrivenBean is not implementing the onMessage(Message)
method and so when container tries to notify the bean with any other type of
message(ObjectMessage,MapMessage etc.) a run time exception is thrown.
3,MessageDrivenBean is not explicitly implementing the default
constructor and so when container tries to notify the bean with the message a
run time exception is thrown.
4,There is no issue with the code, the runtime exception is
occurring because of some configuration issue with the server.
Answer: 2
Marks: 4
=============================================================
SNo: 104
Ques: Billy is using the following code to create a asynchronous message
driven bean:
@MessageDriven(mappedName = "jms/MessageDrivenBean",
activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName =
"subscriptionDurability", propertyValue = "Durable"),
@ActivationConfigProperty(propertyName = "clientId",
propertyValue = "MessageDrivenBean"),
@ActivationConfigProperty(propertyName = "subscriptionName",
propertyValue = "MessageDrivenBean")
})
@TransactionManagement(TransactionManagementType.CONTAINER)
public class MessageDrivenBean implements MessageListener {
public void onMessage(Message msg){ }
}
While executing the onMessage method, if an exception is thrown, you have
specified to rollback the transaction. But this is resulting in an endless
loop. What could be the possible reason for the same
Options:
1,When the onMessage method of message driven bean fails the
container tries to rectify the issue by calling the onMessage method again.
But, the onMessage method fails again and again as the message has an error
eventually causing an end-less loop.
2,When Auto-acknowledge, is used the container tries to notify the
message driven bean of the error by calling the onMessage method. But, the
onMessage method fails again and again as the message has an error and
container will again try to notify the bean using onMessage method eventually
causing an end-less loop.
3,When javax.jms.Topic is used as a destination type, the container
tries to resend all the unprocessed messages by calling the onMessage method.
But, the onMessage method fails again, as the message has an error and the
messages remain unprocessed. The container will continue to call the onMessage
method eventually causing an end-less loop.
4,When a transaction is rollbacked the message is again delivered
to the message driven bean. However, the onMessage method will fail again as
the message has an error which will again rollback the transaction, eventually
causing an endless loop.
Answer: 4
Marks: 4
=============================================================
SNo: 105
Ques: You are implementing a banking site for which you have created the
SavingAccount entity bean for manipulating the saving bank accounts. You have
created three methods in the bean, the createAccount for creating account, the
closeAccount for closing account and the updateAccount for updating account.
The bean methods can be called from any roles SysAdmin, Manager or Guest i.e.
the container should not check the security of the bean methods. You are using
the following code snippet in your deployment descriptor file to achieve this:
<method-permission>
<role-name>*</role-name>
<method>
<ejb-name>SavingAccountBean</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
Even though you are calling the bean from SysAdmin role the container is
not executing the bean methods. Identify the error in the preceding code.
Options:
1,This is not a valid way to indicate that the bean can be executed
from any role, instead unchecked element should be used in the
method-permission element.
2,The method-permission element in the deployment descriptor
specifies the roles which are not allowed, so the above code tells container
not to allow any role.
3,The deployment descriptor does not indicate which type of bean
for which the security is enforced, so container disallows all the roles.
4,The * is used as method name so as per the method-permission tag
it'll allow the method whose name is * and as none of the methods are named *
the container blocks all the calls.
Answer: 1
Marks: 4
=============================================================
SNo: 106
Ques: Which of the following options in a Java EE Application Environment
does not contain the exception handling code
Options:
1, Enterprise bean method
2, Container
3, Enterprise bean client
4, Naming Service
Answer: 4
Marks: 1
=============================================================
SNo: 107
Ques: How can you rollback a transaction when an exception is thrown
Options:
1, Setting the rollback value of the ApplicationException
annotation to true.
2, Setting the rollback value of the CreateException to true.
3, Setting the rollback value of the RemoteException to true.
4, Setting the rollback value of the ObjectNotFoundException to
true.
Answer: 1
Marks: 1
=============================================================
SNo: 108
Ques: Which of the following interfaces' method is used to check the
rollback status of the transaction
Options:
1, javax.transaction.UserTransaction interface.
2, javax.ejb.TimedObject interface
3, javax.resource.ResourceException interface
4, javax.resources.cci interface
Answer: 1
Marks: 1
=============================================================
SNo: 109
Ques: Which of the following methods is used to create a query object
Options:
1, createNamedQuery
2, createQuery
3, createNativeQuery
4, createdQuery
Answer: 2
Marks: 1
=============================================================
SNo: 110
Ques: Which of the following options will you use in a bean client code to
determine the state of the client transaction
Options:
1, UserTransaction.getStatus method
2, setParameter method
3, getBeanStatus method
4, setRollbackOnly method
Answer: 1
Marks: 1
=============================================================
SNo: 111
Ques: Which of the following exceptions is defined in the throws clause of
the enterprise bean business interfaces or in a message listener interface
Options:
1, RemoteException
2, Application exception
3, EJBException
4, RuntimeException
Answer: 2
Marks: 2
=============================================================
SNo: 112
Ques: In which of the following tiers the exceptions can be caused by an
error in the underlying data resource, such as the inability to establish a
database connection
Options:
1, Client tier
2, Client-to-application server tier
3, EIS tier
4, Application server tier
Answer: 3
Marks: 2
=============================================================
SNo: 113
Ques: Which of the following areas defines an exception caused by errors
in the services supplied to the enterprise bean by the Java EE technology
container
Options:
1, The EIS tier
2, The client-to-application server tier infrastructure
3, The client tier
4, The application server tier
Answer: 4
Marks: 2
=============================================================
SNo: 114
Ques: Which of the following options will you use to deal with the
situation that may effect the data integrity and, in addition, a transaction
rollback occurs
Options:
1, Call the setRollbackOnly method and throw an application
exception
2, Call the setRollbackOnly method and throw a RuntimeException
3, Call the setRollbackOnly method and throw an EJBException
4, Call the setRollbackOnly method and throw a RemoteException
Answer: 1
Marks: 2
=============================================================
SNo: 115
Ques: Which of the following transactions indicates that a method
requiring a transaction context has been invoked without the required
transaction context
Options:
1, Transaction-rollback exception
2, Transaction-required exception
3, EJBException
4, RemoteException
Answer: 2
Marks: 2
=============================================================
SNo: 116
Ques: Which of the following beans must directly or indirectly implement
the javax.jms.MessageListener interface
Options:
1, JMS messagedriven bean
2, Stateful Session beans
3, Non JMS message-driven bean
4, Entity beans
Answer: 1
Marks: 2
=============================================================
SNo: 117
Ques: Which of the following options is correct in reference to the
Message-driven beans
Options:
1, Message-driven beans have remote component and local component
interfaces.
2, Message-driven beans provide Java EE components with a direct
interface.
3, Message-driven beans have no client-visible identity.
4, Message-driven beans are not anonymous to clients.
Answer: 3
Marks: 2
=============================================================
SNo: 118
Ques: Which of the following options is correct in reference to the
callback method in a message driven bean (MDB)
Options:
1, It can have any type of access modifier (public, default,
protected or private).
2, It must throw an application exception.
3, It cannot throw a runtime exception.
4, It must use dependency injections.
Answer: 1
Marks: 2
=============================================================
SNo: 119
Ques: While creating a non-JMS message-driven bean class, which of the
following annotations will you use to annotate the message-driven bean class
Options:
1, MessageDriven metadata annotation
2, PostCosntruct metadata annotation.
3, PreDestroy metadata annotation.
4, Resource metadata annotation
Answer: 1
Marks: 2
=============================================================
SNo: 120
Ques: Which of the following statements is true regarding the Non-JMS
Message-driven bean class
Options:
1, The class must be declared public.
2, The class must be declared final.
3, The class must be declared abstract.
4, Define a finalize method.
Answer: 1
Marks: 2
=============================================================
SNo: 121
Ques: Which of the following functions can be performed by an enterprise
bean by using the timer functionality tasks
Options:
1, Interrogate a timer callback notification object.
2, Annotate the method with the Timeout annotation.
3, Identify the user
4, Makes the application portable.
Answer: 1
Marks: 2
=============================================================
SNo: 122
Ques: Which of the following methods of the Timer class returns a
serializable handle to the timer object and it enables you to obtain a
reference to the timer object at a future date
Options:
1, getTimeRemaining
2, getHandle
3, getNextTimeout
4, getInfo
Answer: 2
Marks: 2
=============================================================
SNo: 123
Ques: Which of the following TimerService methods will you use to create
an interval timer with an initial relative time-based notification
Options:
1, createTimer(long initialDuration, long intervalDuration,
Serializable info)
2, createTimer(Date initialExpiration, long intervalDuration,
Serializable info)
3, createTimer(long duration, Serializable info)
4, createTimer(Date expiration, Serializable info)
Answer: 1
Marks: 2
=============================================================
SNo: 124
Ques: Which of the following method signatures is used to define a
callback method in the callback listener class
Options:
1, public void methodName(EntityClassType b)
2, public void methodName()
3, public void anyMethodName(InvocationContext ic)
4, public Object anyMethodName(InvocationContext ic) throws
Exception
Answer: 1
Marks: 2
=============================================================
SNo: 125
Ques: Which of the following is the correct signature to define a
life-cycle callback interceptor method in the interceptor class
Options:
1, public void methodName()
2, protected void MethodName(InvocationContext ic)
3, public Object MethodName(InvocationContext ic) throws Exception
4, public void methodName(EntityClassType b)
Answer: 2
Marks: 2
SNo: 126
Ques: Which of the following is true regarding the Java EE security
Options:
1, Contains reference to the real security infrastructure.
2, Cannot use declarative or programmatic authorization controls
3, Maps the security policy to the target security domain
4, Does not provide end-to-end security
Answer: 3
Marks: 2
=============================================================
SNo: 127
Ques: Which of the following options can be authenticated by an
authentication protocol in a security service, deployed in an enterprise
Options:
1, Role
2, Caller
3, Principal
4, Resources
Answer: 3
Marks: 2
=============================================================
SNo: 128
Ques: Which of the following statements is correct in reference to the
principal identity
Options:
1, A principal does not represent a user in the native security
domain.
2, A principal is an unauthenticated user in the Java EE security
domain.
3, A principal is identified using a principal name and
authenticated using authentication data.
4, A principal has predefined credential requirements associated
with it.
Answer: 3
Marks: 2
=============================================================
SNo: 129
Ques: Which of the following properties of transaction management allows
the data store to handle concurrent transactions and, in addition, ensures that
the data integrity is maintained
Options:
1, Isolation
2, Durability
3, Atomicity
4, Consistency
Answer: 1
Marks: 2
=============================================================
SNo: 130
Ques: Which of the following transaction management properties ensures
that the individual actions are bundled together and appear as one single unit
of work
Options:
1, Atomicity
2, Durability
3, Consistency
4, Locking
Answer: 1
Marks: 2
=============================================================
SNo: 131
Ques: Which of the following options is correct in reference to the Fetch
mode settings
Options:
1, Fetch mode settings are instructions to the persistence
provider.
2, Fetch mode settings are used when the EntityManager API is
invoked.
3, Fetch mode settings is used to Set the value of the mappedBy
attribute to the value of the relationship or property in the owning entity.
4, Fetch mode settings can cause specific entity instance life-cycle
events to flow across relationships.
Answer: 1
Marks: 2
=============================================================
SNo: 132
Ques: Which of the following mode settings can be defined as a hint to the
persistence provider to defer the loading of the association target to the time
association target is accessed
Options:
1, EAGER
2, REFRESH
3, LAZY
4, PERSIST
Answer: 3
Marks: 2
=============================================================
SNo: 133
Ques: Which of the following options requires that the columns that
correspond to state specific to the subclasses are nullable
Options:
1, Single table per class hierarchy strategy
2, Table per class strategy
3, Joined subclass strategy
4, strategy attribute of the Inheritance annotation
Answer: 1
Marks: 2
=============================================================
SNo: 134
Ques: Which of the following options is true regarding table per class
object/relational mapping strategy
Options:
1, It provides good support for polymorphic relationships.
2, It requires a common table to represent the root entity class in
the hierarchy.
3, It requires that one or more join operations be performed to
instantiate instances of a subclass.
4, It provides poor support for polymorphic relationships.
Answer: 4
Marks: 2
=============================================================
SNo: 135
Ques: Which of the following options is true regarding joined subclass
object/relational mapping strategy
Options:
1, It requires a common table to represent the root entity class in
the hierarchy.
2, It does not provide support for polymorphic relationships
between entities.
3, It requires a table for each concrete class in the hierarchy.
4, It has a column for each unique persistence field in the
hierarchy.
Answer: 1
Marks: 2
=============================================================
SNo: 136
Ques: You have been allocated a task to create entity beans for PERSON and
PERSON_ASSIGNMENT tables. PERSON table is used to store the person information
and PERSON_ASSIGNMENT table is used to store a person's work related
information. The cardinality between PERSON and PERSON_ASSIGNMENT table is
one-to-many. Apart from cardinality you want that as soon as the PERSON record
is removed the corresponding PERSON_ASSIGNMENT record should also be removed.
Which of the following options you will use to do so
Options:
1,@OneToMany(cascade=PERSIST)
2,@OneToOne(cascade=PERSIST)
3,@ManyToOne(cascade=PERSIST)
4,@OneToMany
Answer: 1
Marks: 3
=============================================================
SNo: 137
Ques: You have been allocated a task to create entity beans for EMPLOYEE
and EMPLOYEE_ASSIGNMENT tables. EMPLOYEE table is used to store the employee
information and EMPLOYEE_ASSIGNMENT table is used to store the employee's work
related information. The cardinality between EMPLOYEE and EMPLOYEE_ASSIGNMENT
table is one-to-many. You want to create Employee and EmployeeAssignment entity
beans in such a way that they will follow the cardinality and the related
employee assignments are available in the employee entity and vice-versa. What
of the following options you will use for this
Options:
1,Provide OneToMany annotation in the Employee entity bean and
ManyToOne annotation in the Employee_Assignment entity bean.
2,Provide ManyToOne annotation in the Employee entity bean and
OneToMany annotation in the Employee_Assignment entity bean.
3,Provide OneToMany annotation in the Employee entity.
4,Provide ManyToOne annotation in the Employee_Assignment entity
bean.
Answer: 1
Marks: 3
=============================================================
SNo: 138
Ques: You have been given the task of creating Person, Employee and
ContractEmployee entity beans for a Human Resource Management System's site.
Employee and ContractEmployee bean inherits the Person bean. Person records get
stored to PERSON table, Employee records get stored to EMPLOYEE table and
ContractEmployee record get stored to CONTRACT_EMPLOYEE table in the database.
EMPLOYEE and CONTRACT_EMPLOYEE tables store only the extra information which is
not present in the PERSON table. Which of the following strategy can be used
for implementing the inheritance between these entity beans
Options:
1,Single table per class hierarchy strategy.
2,Table per class strategy.
3,Joined subclass strategy.
4,Inheritance is not possible in these entity beans.
Answer: 3
Marks: 3
=============================================================
SNo: 139
Ques: You have been given the task of creating Person and Employee entity
beans for a Human Resource Management System's site. Employee bean class
inherits the Person bean class.. Both Person and Employee records get stored to
the same table in the database named as PERSON. Which of the following strategy
can be used for implementing the inheritance between these entity beans
Options:
1,Single table per class hierarchy strategy.
2,Table per class strategy.
3,Joined subclass strategy.
4,Inheritance is not possible in these entity beans.
Answer: 1
Marks: 3
=============================================================
SNo: 140
Ques: You have been given the task of upgrading an existing Human Resource
Management System's (HRMS) site using Java EE architecture. Legacy system was
using concrete class Employee for employee information that extends an abstract
class Person. You are creating an Employee entity bean for table EMPLOYEE to
store the employee information. Employee bean will be a table-based entity.
Most of the code is already present in the old Person class and you do not want
to redo the job and still want to use the abstract class Person. Identify
whether it is possible for an entity bean to extend an abstract class Give a
reason.
Options:
1,No, this is not possible because an entity bean cannot inherit an
abstract class.
2,Yes, it is possible but the Person class should be defined as a
MappedSuperclass so that the Employee bean can extend it.
3,Yes, it is possible but the Person class should also be created
as an entity bean and then only the Employee bean can inherit it.
4,No, this is not possible because entity beans cannot extend any
class. Therefore, the Employee bean too cannot extend Person class.
Answer: 2
Marks: 3
=============================================================
SNo: 141
Ques: Mary is implementing a banking site for which she has created a
stateless session bean namely, the AccountBean. The following code snippet
displays the partial code of deployment descriptor file:
<security-role-ref>
<description> Role for creating account. </description>
<role-name>SYSTEM_ADMINISTRATOR</role-name>
<role-link>SystemAdministrator</role-link>
</security-role-ref>
<security-role>
<description>Allows access to createAccount.
</description>
<role-name>SystemAdministrator</role-name>
</security-role>
<method-permission>
<role-name>SystemAdministrator</role-name>
<method>
<ejb-name>AccountBean</ejb-name>
<method-name>createAccount</method-name>
</method>
</method-permission>
In reference to the preceding code, which of the following statements are
correct
Options:
1,The code snippet does not enforce any security, instead
annotations should be used.
2,The code snippet is not well-formed and so it will give a
run-time exception.
3,The code snippet enables security such that the caller with role
SYSTEM_ADMINISTRATOR can only execute the createAccount method of AccountBean.
4,The code snippet enables security such that only the caller with
role SystemAdministrator can execute the createAccount method of AccountBean.
Answer: 4
Marks: 3
=============================================================
SNo: 142
Ques: You have created a stateless bean namely, the EmployeeBean for a
human resource management site. The EmployeeBean uses BMT and has a
processPayroll method to process the payroll of the employees. You have a
requirement that when the processPayroll method is called from a client's
transaction, the method should not commit or rollback the transaction while
returning. Is it possible for a stateless session bean to start a transaction
and commit or rollback it before the method returns and how
Options:
1,Yes, SUPPORTS can be used as a transaction attribute type
annotation.
2,Yes, REQUIRED can be used as a transaction attribute type
annotation.
3,Not possible as stateless session bean does not support this type
of transaction policy.
4,Yes, stateless session bean by default support this type of
transaction policy.
Answer: 1
Marks: 3
=============================================================
SNo: 143
Ques: You have created a stateful bean EmployeeBean for a human resource
management site. The EmployeeBean uses BMT and has a processPayroll method to
process the payroll of the employee. You want that the processPayroll method
should always be executed in a new transaction and the method should not commit
or rollback the transaction while returning. Identify whether this is possible
and give a reason.
Options:
1,Yes, it is possible transaction type annotation SUPPORTS can be
used for this requirement.
2,Yes, it is possible transaction type annotation REQUIRED can be
used for this requirement.
3,No, it is not possible as stateful session bean does not support
this type of transaction policy.
4,Yes, it is possible as stateful session bean by default supports
this type of transaction policy.
Answer: 4
Marks: 3
=============================================================
SNo: 144
Ques: Billy is implementing a social networking site. He has created all
the necessary enterprise beans and their configurations. Now he is implementing
security for the site. He has been told that there will be following four types
roles for this site:
1.guest: who can only view and explore the site.
2. user: who can view, explore and modify the site content.
3.manager: who can modify the site's behavior.
4. system_admin: who will do the configuration steps.
He is been asked to create 3 users one with only guest responsibility, one
with user and manager responsibilities, and one with system_admin
responsibility. How many principals and roles do you think he needs to create
Options:
1,4 principals and 3 roles
2,3 principals and 4 roles
3,3 principals and 3 roles
4,12 principals and 12 roles
Answer: 2
Marks: 3
=============================================================
SNo: 145
Ques: You are implementing a banking site for which you have created a
SavingAccount entity bean for manipulating the saving bank accounts. You have
created three methods in the bean, the createAccount for creating an account,
the closeAccount for closing an account and the updateAccount for updating an
account. All the three methods can be called from SysAdmin and Manager roles.
Which of the following annotations is best suited for securing SavingAccount
bean
Options:
1,@Stateless public class SavingAccountBean implements
SavingAccount{
@PermitAll
public void createAccount{..}
@PermitAll
public void closeAccount{..}
@PermitAll
public void updateAccount{..}
}
2,@Stateless
@PermitAll
public class SavingAccountBean implements SavingAccount{
public void createAccount{..}
public void closeAccount{..}
public void updateAccount{..}
}
3,@Stateless
@RolesAllowed({"SysAdmin","Manager"})
public class SavingAccountBean implements SavingAccount{
public void createAccount{..}
public void closeAccount{..}
public void updateAccount{..}
}
4,@Stateless
public class SavingAccountBean implements SavingAccount{
@RolesAllowed({"SysAdmin","Manager"})
public void createAccount{..}
public void closeAccount{..}
public void updateAccount{..}
}
Answer: 3
Marks: 3
=============================================================
SNo: 146
Ques: Samuel is implementing a banking site. He has created a stateless
session bean namely, the AccountBean, and added a debitAccount method to
process debit on an account. He is using BMT for implementing transactions. The
following code snippet displays the partial code of the debitAccount method:
@Stateless @TransactionManagement(BEAN)
public class AccountBean implements Account {
public void debitAccount(int actNo, double amount) {
try { Connection con =
dataSource.getConnection();
userTransaction.begin();
PreparedStatement pStmt =
con.prepareStatement(
"update ACCOUNT set balance = balance+
where account_number = ");
prepStmt.setDouble(1, amount);
prepStmt.setInt(2, actNo);
int rowCount = pStmt.executeUpdate();
} catch (Exception ex) { }
}
Identify the error in the preceding code.
Options:
1,In the code, TransactionManagement(CONTAINER) should be used as
TransactionManagement(BEAN) is incorrect for BMT.
2,In the code, any transaction started by a stateless session bean
must commit or roll back before the method returns.
3,In the code, there are compilation issues as default constructor
is not provided in the bean.
4,In the code, SQLException is not catched in the catch block so
the code will throw a compilation error as SQLException is a checked exception.
Answer: 2
Marks: 4
=============================================================
SNo: 147
Ques: You are implementing a human resource site. You have created an
Employee session bean whose createEmployee method calls createPerson method of
the Person entity bean to create person record for an employee. You want that
when the Employee bean is calling the Person bean's method it should call it
using Manager role. For this you are using following code snippet in the
deployment descriptor:
<enterprise-beans>
<session>
<ejb-name>Employee</ejb-name>
...
<security-identity>
<run-as>
<role-name>Manager</role-name>
</run-as>
<use-caller-identity/>
</security-identity>
</session>
</enterprise-beans>
You now have created another method processPayroll in the Employee bean
which calls the PayrollBean entity bean's runPayroll method. You expect that
the runPayroll bean should not be called with Manager identity as you think
that only the createPerson method of Person bean will be called with Manager
identity. But unexpectedly the runPayroll method is also called with Manager
identity. Identify the reason for this unexpected result
Options:
1,Run-as identity is associated with a bean and not with its
methods specifically, so if any of the bean's method executes another bean's
method Manager identity is used.
2,Use-caller-identity element is also specified in the security
identity which enforces that all of the other bean's method should be called
with the same identity.
3,Security-identity element is used in deployment descriptor which
can be attached only at bean level; instead RunAs annotation should have been
used at method level to associate different identities.
4,All the same type of bean calls are called using the same
identity, here as Person and PayrollBean both are entity beans same identity is
used.
Answer: 1
Marks: 4
=============================================================
SNo: 148
Ques: You are implementing a banking site for which you have created a
SavingAccount entity bean for manipulating the saving bank accounts. You have
created a method createAccount in the bean for creating account and
closeAccount for closing account. createAccount can be called from SysAdmin and
Manager roles. You are programmatically validating the roles of the logged in
user using the following code snippet:
if(ctx.isCallerInRole("SysAdmin,Manager"){
// allow auction to be deleted
}else {
throw new Exception("The role is invalid");
}
But even though the logged in user has the correct roles 'The role is
invalid' exception is thrown. Identify the reason for this unexpected result.
Options:
1,isCallerInRole should be called only after calling
getCallerPrinciple as calling getPrnciple initializes the ejb context.
2,isCallerInRole accepts only a single role, it cannot be used to
validate the roles from a list of comma-separated roles.
3,isCallerInRole accepts an array of roles in the above code it
treats it as a single role and fails.
4,There is nothing wrong with the code; configuration of the
application server must be invalid because of which this issue is happening.
Answer: 2
Marks: 4
=============================================================
SNo: 149
Ques: You are implementing a banking site for which you have created the
SavingAccount entity bean for manipulating saving bank accounts. You have
created three methods in the bean, the createAccount for creating account, the
updateAccount for updating the account and the closeAccount for closing
account. The createAccount and the updateAccount can be called from Manager
role, but the closeAccount can only be called from SysAdmin role. You are using
the following code.
@Stateless
@DeclareRoles({"Manager"})
public class BankingBean implements Banking{
public void createAccount(){...}
public void updateAccount(){...}
@RolesAllowed({"SysAdmin"})
public void closeAccount(){...}
}
While testing the bean you found that there was security vulnerability in
the code, even users with Manager role were able to call the closeAccount
method. Identify the reason for this unexpected behavior
Options:
1,When both annotations i.e. DeclareRoles and RolesAllowed are
used, the net effect is the aggregation of the roles, so closeAccount method
allows both SysAdmin and Manager roles.
2,RolesAllowed annotation is not a mandatory annotation some
containers might not implement it, that's why the enforcing of RolesAllowed is
not happening in the above code.
3,RolesAllowed is introduced in EJB3.0 specifications, so for
backward compatibility some containers do not respect this annotation.
4,When DeclareRoles annotation is used the container neglects the
RolesAllowed annotation.
Answer: 1
Marks: 4
=============================================================
SNo: 150
Ques: You are implementing a banking site for which you have created the
SavingAccount entity bean for manipulating saving bank accounts. You have
created three methods in the bean, the createAccount for creating account, the
updateAccount for updating the account and the closeAccount for closing
account. The createAccount and updateAccount can only be called from SysAdmin
role, but closeAccount can also be called from Manager role. You are using the
following code:
@Stateless
@RolesAllowed({"SysAdmin"})
public class BankingBean implements Banking{
public void createAccount(){...}
public void updateAccount(){...}
@DeclareRoles({"Manager"})
public void closeAccount(){...}
}
While compiling the bean you are getting a compilation error. Identify the
reason in the preceding code.
Options:
1,Both annotations i.e. DeclareRoles and RolesAllowed cannot be are
used in the same bean.
2,The bean does not define a default constructor.
3,DeclareRoles annotation is not allowed at method level.
4,RolesAllowed annotation is not allowed at class level.
Answer: 3
Marks: 4
=============================================================