Are You Recruiter/Hiring Manager?
Cloud-based Candidate Screening | Online Tests
PMP 1600 Questions
PMP 1600 Questions
1600 PMP mock questions 1400 CAPM mock questions 800 SCJP 6 mock questions 600 OCAJP 7 mock questions 590 OCPJP 7 mock questions 556 SCWCD 5 mock questions 500 OCEJWCD 6 mock questions pdfDownload (java,struts, hibernet etc)

Tutorial Home


  • Advantage of Hibernate over JDBC
  • Hibernate Setup with an web Application
  • First Hibernate Application
  • Hibernate mapping with Database TABLE
  • Hibernate Data Type-Java Data Type - SQL Data Type mapping
  • One to Many Relation in Hibernate
  • One to Many Relation in Hibernate bi-directional
  • Many to Many Relation in Hibernate
  • HQL: The Hibernate Query Language
  • Criteria Queries
  • Criteria Queries : Equal (eq), Not Equal(ne), Less than (le), greater than (gt),greater than or equal(ge) and Ordering the results
  • Criteria Queries: And OR conditions
  • Hibernate generator to generate id (primary key)
  • prevent concurrent update in Hibernate,slate object updatation in Hibernate,version checking in Hibernate


  • Model View Controller (MVC)
  • Model View Controller (MVC)
  • Struts Flow-How Struts Works?
  • Struts Tutorial - Struts Setup- First Struts Action class setup
  • Message Resources
  • Validation Framework
  • Validation Framework-client side
  • ForwardAction
  • IncludeAction
  • DispatchAction
  • LookupDispatchAction
  • DynaActionForm
  • DynaActionForm
  • Struts Tutorial - Mutli-click prevention using struts tokens-Prevent Duplicate Submission
  • Logic Iterate Map and List


  • JSP Tutorial
  • Introduction to JSP
  • JSP Comments
  • JSP Syntax
  • JSP Scripting Elements :Scriptlet, expression, declaration
  • JSP Directives
  • implicit objects in JSP
  • JSP Actions
  • Introduction to JSP
  • jsp:useBean
  • The jsp:setProperty Action
  • The jsp:getProperty Action
  • Introduction to JSP


  • Spring Tutorial
  • Introduction to Spring
  • Benefits of Using Spring Framework
  • Inversion of Control in Spring
  • Introduction to BeanFactory
  • Dependency Injection in Spring
  • Collections Setter Injection
  • Bean Scopes in Spring
  • Spring IOC Setup Step by Step
  • Bean Lifecycle in Spring
  • ApplicationContext
  • MessageSources in Spring
  • Web Spring MVC framework
  • Developing Your First Spring Web Application
  • Developing Your Second Spring Web Application with Spring Form
  • Developing Your First Spring Web Application with Spring Validation Framework with Code Example
  • Spring integration with Hibernate
  • Identify the interfaces and methods a JMS message-driven bean must implement.

    All message-driven beans MUST implement, directly or indirectly, the MessageDrivenBean interface. The class MUST be defined as public and it cannot be defined as final nor abstract. The MessageDrivenBean interface defines TWO methods all message-driven beans must implement:

    1. The setMessageDrivenContext(...) method is called by the bean's container to associate a message-driven bean instance with its context maintained by the container. Typically a message-driven bean instance retains its message-driven context as part of its state. The container calls this method at the beginning of the bean's life cycle.

    2. The ejbRemove() notification signals that the instance is in the process of being removed by the container. In the ejbRemove() method, the instance releases the resources that it is holding (possibly allocated in the ejbCreate() method).

    The Bean Provider CANNOT assume that the Container will always invoke the ejbRemove() method on a message-driven bean instance. The following scenarios result in ejbRemove() NOT being called on an instance:

    • A crash of the EJB Container.

    • A system exception thrown from the instance's method to the Container.

    If the message-driven bean instance allocates resources in the ejbCreate() method and/or in the onMessage(...) method, and releases normally the resources in the ejbRemove() method, these resources will NOT be automatically released in the above scenarios. The application using the message-driven bean should provide some clean up mechanism to periodically clean up the unreleased resources.

    The MessageDrivenBean extends the EnterpriseBean interface:

    package javax.ejb;
    public interface MessageDrivenBean extends javax.ejb.EnterpriseBean {
    	public void setMessageDrivenContext(MessageDrivenContext context)
    		throws EJBException;
    	public void ejbRemove() throws EJBException;
    public interface EnterpriseBean extends {

    All message-driven beans MUST implement, directly or indirectly, the javax.jms.MessageListener interface.

    The onMessage(...) method is called by the bean's CONTAINER when a message has arrived for the bean to service. The onMessage(...) method contains the business logic that handles the processing of the message. The onMessage(...) method has a single argument, the incoming message.

    ONLY message-driven beans can asynchronously receive messages. Session and entity beans are NOT PERMITTED to be JMS MessageListeners.

    package javax.jms;
    public interface MessageListener {
    	public void onMessage(Message message);

    The container creates an instance of a message-driven bean in THREE steps. First, the container calls the bean class' newInstance() method to create a new message-driven bean instance. Second, the container calls the setMessageDrivenContext(...) method to pass the context object to the instance. Third, the container calls the instance's ejbCreate() method.

    Each message-driven bean class MUST have one ejbCreate() method, with NO ARGUMENTS.

    EVERY message-driven bean class MUST implement following FOUR methods:

    1. public void setMessageDrivenContext(MessageDrivenContext mdc)

      The container normally calls this method exactly once, after instantiation, to pass in the associated MessageDrivenContext.

    2. public void ejbCreate()

      Called after the setMessageDrivenContext(...) method. This is a good time to access or obtain any resources that will be used for the life of the bean.

    3. public void onMessage(Message msg)

      Called by the container when a message has arrived on the bean's associated Queue or Topic. Your code should check for the expected message types, using the instanceof operator, because there is nothing to stop a client from sending any of the available message types. Other than those that deal with the Message object, no JMS methods need be invoked by the bean; it just cracks or parses the received message and performs any associated operations.

    4. public void ejbRemove()

      Called when the container intends to terminate the bean. All resources should be released at this time.

    public class ReservationProcessorBean
    	implements javax.ejb.MessageDrivenBean, 
    			javax.jms.MessageListener  {
    	MessageDrivenContext ejbContext;
    	Context jndiContext;
    	public void setMessageDrivenContext (MessageDrivenContext mdc)  {
    		ejbContext = mdc;
    		try {
    			jndiContext = new InitialContext ();
    		} catch(NamingException ne) {
    			throw new EJBException (ne);
    	public void ejbCreate () {}
    	public void onMessage (Message message) {
    		try  {         
    			MapMessage reservationMsg = (MapMessage)message;
    			Integer customerPk = (Integer)
    				reservationMsg.getObject ("CustomerID");
    			Integer cruisePk =   (Integer)
    				reservationMsg.getObject ("CruiseID");
    			// can access other EJBs
    			ReservationHomeLocal resHome = (ReservationHomeLocal)
    			jndiContext.lookup ("java:comp/env/ejb/ReservationHomeLocal");
    			ReservationLocal reservation =
    			resHome.create (customer, cruise, cabin, price, new Date ());
    		} catch(Exception e) {
    			// can throw only runtime (unchecked) exceptions
    			throw new EJBException (e);
    	public void ejbRemove () {
    		try {
    			jndiContext.close ();
    			ejbContext = null;
    		} catch(NamingException ignored) { }

    The information you are posting should be related to java and ORACLE technology. Not political.