Wednesday, October 24, 2007

Java EJB Interview questions Part10


Question: What is in-memory replication?

Answer: The process by which the contents in the memory of one physical m/c are replicated in all the m/c in the cluster is called in-memory replication.

Question: How do you get Column names only for a table (SQL Server)? Write the Query. (JDBC)

Answer: select name from syscolumns where id=(select id from sysobjects where name='user_hdr') order by colid --user_hdr is the table name

Question: What is the need for Clustering?

Answer: To scale the application so that it

1. Is Highly Available

2. Has High Throughput.

Question: Is is possible for an EJB client to marshall an object of class java.lang.Class to an EJB?

Answer: Technically yes, spec. compliant NO! - The enterprise bean must not attempt to query a class to obtain information about the declared members that are not otherwise accessible to the enterprise bean because of the security rules of the Java language.

Question: Is it legal to have static initializer blocks in EJB?

Answer: Although technically it is legal, static initializer blocks are used to execute some piece of code before executing any constructor or method while instantiating a class. Static initializer blocks are also typically used to initialize static fields - which may be illegal in EJB if they are read/write - In EJB this can be achieved by including the code in either the ejbCreate(), setSessionContext() or setEntityContext() methods.

Question: How can I implement a thread-safe JSP page?

Answer: You can make your JSPs thread-safe by having them implement the SingleThreadModel interface. This is done by adding the directive <%@ page isThreadSafe="false" % > within your JSP page.

Question: Is it possible to stop the execution of a method before completion in a SessionBean?

Answer: Stopping the execution of a method inside a Session Bean is not possible without writing code inside the Session Bean. This is because you are not allowed to access Threads inside an EJB.

Question: What is the default transaction attribute for an EJB?

Answer: There is no default transaction attribute for an EJB. Section 11.5 of EJB v1.1 spec says that the deployer must specify a value for the transaction attribute for those methods having container managed transaction. In weblogic, the default transaction attribute for EJB is SUPPORTS.

Question: What is the difference between session and entity beans? When should I use one or the other?

Answer: An entity bean represents persistent global data from the database; a session bean represents transient user-specific data that will die when the user disconnects (ends his session). Generally, the session beans implement business methods (e.g. Bank.transferFunds) that call entity beans (e.g. Account.deposit, Account.withdraw)

Question: Is there any default cache management system with Entity beans ? In other words whether a cache of the data in database will be maintained in EJB ?

Answer: Caching data from a database inside the Application Server are what Entity EJB's are used for.The ejbLoad() and ejbStore() methods are used to synchronize the Entity Bean state with the persistent storage(database). Transactions also play an important role in this scenario. If data is removed from the database, via an external application - your Entity Bean can still be "alive" the EJB container. When the transaction commits, ejbStore() is called and the row will not be found, and the transcation rolled back.

Question: Why is ejbFindByPrimaryKey mandatory?

Answer: An Entity Bean represents persistent data that is stored outside of the EJB Container/Server. The ejbFindByPrimaryKey is a method used to locate and load an Entity Bean into the container, similar to a SELECT statement in SQL. By making this method mandatory, the client programmer can be assured that if they have the primary key of the Entity Bean, then they can retrieve the bean without having to create a new bean each time - which would mean creating duplications of persistent data and break the integrity of EJB.

0 comments:

Advertisement

 

Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com