ICE 287 answers for WebSphere 5.0

Well here we go... here are the questions, hope people post the answers. That way we can all have something to work with. 1. Which of the following may be performed when a packaged enterprise application (EAR file) is deployed or installed in WebSphere Application Server, V5.0? A.Generate the deploy code for enterprise beans in EJB modules. B.Define the custom tag libraries used by the JSPs in the web module deployment descriptor. C.Specify "Context Root" for each web module. D.Generate Access beans for any enterprise beans. E.Map entity beans to relational database schema.

Select 2 answers. 2. A developer is designing a web application in which a user will submit a form containing information about a credit card transaction. This information will be used to validate the transaction using a network service provided by the credit card company. If the transaction is approved the transaction details are logged in a relational database and a confirmation is returned to the user. Maintainability, role separation and code reuse are all important objectives in the project. Which of the following would be the BEST way to structure the application? A.A servlet receives the HTTP request, uses a session EJB to validate the transaction and forwards the request to a JSP to display the confirmation message. B.A servlet receives the HTTP request, performs the transaction validation in the servlet method and writes the confirmation message to the response as HTML. C.A JSP receives the HTTP request, uses a session EJB to validate the transaction and uses the results to generate the dynamic response to send back to the user. D.A JSP receives the HTTP request, uses a JavaBean to validate the transaction and forwards the request to a servlet to write the confirmation message to the response as HTML.

Select the best answer 3. Which of the following MUST be provided in a tag library descriptor XML file? A.The version of JSP custom tags being used. B.The version of J2EE for the custom tag library. C.The definition of at least one custom tag. D.The short name of the web application in which the library is used. E.The prefix for the custom tags defined in the library.

Select 2 answers. 4. An "account" CMP bean has a container-managed relationship to a "customer" CMP bean. The account table reflects the relationship with a foreign key relating to the customer table. The foreign key is declared with a "NOT NULL" constraint. When creating a new account for a customer the developer MUST: A.set the customer in the ejbCreate method of the account bean B.set the customer in the ejbPostCreate method of the account bean C.set the account in the ejbPostCreate method of the customer bean D.provide a local interface for the customer CMP entity bean

Select 2 answers. 5. Given the design goal of having an application be as robust as possible, which techniques should the developer AVOID in the design? A.Use persistent HttpSessions to manage application state data. B.Use stateful session EJBs to manage application state data. C.Make references to node-specific resources. D.Make all resource references via java:comp/env JNDI references.

Select 2 answers.

6. When a developer declares an EJB local reference in WebSphere Studio and tests the J2EE 1.3 application using the WebSphere V5.0 Test environment, what element does NOT need to be specified? A.global JNDI binding for EJB local home B.ejb-ref-type C.local-home D.home

Select the best answer. 7. A developer suspects memory leaks in an application. After collecting profiling information, which two views will help determine where and why the memory leak is occuring? A.Method Execution. B.Sequence Diagram. C.Object Reference. D.Method Invocation. E.Heap.

Select 2 answers. 8. A web application is experiencing very large volumes of traffic and profiling has shown that the amount of session data managed by the server is becoming too large for it to handle. Which of the following is the BEST way to solve the problem? A.Use the HttpSession to store only key values which can be used to access data in a third-tier system. B.Configure the application server to use URL rewriting instead of Cookies to manage the session ID. C.Disable HttpSession serialization to prevent automatic storage of HttpSession objects during periods of heavy load. D.Use HTML hidden fields to manage client-specific application data instead of HttpSessions.

Select the best answer 9. When setting up the JMS server, in a test environment which is already running message-driven beans (MDB), which of the following properties MUST be configured to correctly communicate messages to a new MDB? A.Queue JNDI name B.Initial state to: Started C.Queue name D.Connection factory JNDI name E.Listener port name

Select 2 answers. 10. A developer implements a web-based business process which spans multiple steps. The developer should prefer maintaining state between the steps with stateful session beans instead of HttpSession objects IF: A.there are also non-Web-based clients B.a single HTTP request maps a business method call C.transactions can span multiple business process steps D.the client-specific state data is small E.a single HTTP request involves several calls to entity beans

Select 2 answers. 12. While testing a session bean configured with "Bean Managed", a developer discovers that a TransactionRolledBackException is being thrown by a call to a method on an entity bean. The session bean, prior to calling the method, explicitly started the transaction. Possible causes for the exception are that the: A.entity bean method is throwing a checked exception and is configured with a transaction attribute of "Required". B.entity bean method is throwing an unchecked exception and is configured with a transaction attribute of "Required". C.entity bean does not throw an exception but is configured with a transaction attribute of "Not Supported". D.entity bean method is throwing an exception and is configured with a transaction attribute of "Requires New".

Select 2 answers. 13. A Java client application has to display data in multiple views where each view has its own data requirements. The BEST strategy for retrieving the data from the server is to: A.Use session beans to gather the required data from multiple entity beans. B.Use entity beans to provide the required data. C.Move entity beans to the thick client. D.Use message-driven beans to gather the required data from multiple entity beans.

Select the best answer. 14. An application uses BMP to manage the persistence of Customer and Address entity beans. Customers must have exactly one Address. Given this composition relationship and assuming that Customer holds the primary key for Address in a persistent field, which methods might be part of the implementation for Customer? A.The ejbRemove() method of Customer invokes the remove() method of Address. B.The ejbLoad() method of Customer invokes the findByPrimaryKey() method of AddressHome. C.The ejbLoad() method of Customer invokes the ejbLoad() method of Address. D.The ejbStore() method of Customer invokes the ejbStore() method of Address. E.The ejbPassivate() method of Customer invokes the ejbPassivate() method of Address.

Select 2 answers. 15. A class is created which implements the HttpSessionBindingListener interface and an instance is created in a web application. Which of the following would be the MOST common use of the features of such an object? A.The relationship between the object's internal state and the persistent representation can be synchronized when the object is stored in or removed from the HttpSession. B.The object can be used to monitor the usage of the HttpSession to provide information to detect performance problems caused by HttpSession usage. C.When the HttpSession is invalidated the object can manually ensure all objects stored in the HttpSession are correctly removed to prevent memory leakage. D.Multiple HttpSession objects relating to the same client can be combined to avoid application data loss in situations where a client is required to reauthenticate.

Select the best answer. 16. A DataSource named "MyDatasource" has been created and configured (in WebSphere Test Environment) to have an "Unused timeout" of 30 and a "Minimum connections" of 10. If a servlet acquires a connection from that DataSource, and the servlet holds the connection for 2 minutes without using it, which statement is TRUE? A. The servlet's connection will be unaffected by the Unused timeout. B. The pool size will be increased by 10 when some other servlet needs a connection. C.After 30 seconds, WebSphere can return the connection to the connection pool. D. The servlet's service() method will throw a javax.sql.PooledConnectionException if the servlet attempts to use its connection.

Select the best answer. 17. The "Universal Test Client" feature of WebSphere Studio Application Developer, V5 test environments can be used to test which of the following? A.Servlets in the web modules of the enterprise application. B.Enterprise beans in the EJB modules of the enterprise application. C.Resource adapters in the enterprise application D.Custom tag libraries in the web modules of the enterprise application

Select the best answer. 18. A self-service airline application needs to define a JDBC resource reference for a DB2 travel database in the deployment descriptor. Assuming that the name of the resource reference is "travel", what is the appropriate declaration? A.java:comp/env/jdbc/travel B.java:comp/env/travel C.java:jdbc/env/db2/travel D.java:comp/env/jdbc/db2/travel

Select the best answer. 19. A servlet program requests a database connection from a DataSource with JNDI name "jdbc/MyDatasource" connection pool. Based on the connection, the program executes an SQL statement, then the program releases the connection to the connection pool. The code in the servlet that handles the connection pool is as follows: 1: Context context = new InitialContext(); 2: DataSource ds = (DataSource)PortableRemoteObject.narrow(context.lookup("jdbc/DB2Sample"), DataSource.class); 3: Connection conn = ds.getConnection("userid", "PASSWORD"); 4: // Use the connection to perform database access 5: if(conn!=null) conn.close() For best performance and highest reuse of the connection pool, which steps should be put into servlet init method? A.1,2,3 B.1,2,3,4 C.1,2 D.No steps are performed in the init method

Select the best answer. 20. Upon startup, a web application reads global information from a database into an object of type com.ibm.ApplicationInfo and adds this object to the servlet context. Which of the following tags allows for accessing this information from a JSP page? A.<jsp:useBean id="appinfo" class="com.ibm.ApplicationInfo" /> B.<jsp:useBean id="appinfo" class="com.ibm.ApplicationInfo" scope="config"/> C.<jsp:useBean id="appinfo" class="com.ibm.ApplicationInfo" scope="context"/> D.<jsp:useBean id="appinfo" scope="application" class="com.ibm.ApplicationInfo"/>

Select the best answer. 21. Which of the following may be specified by the deployment descriptor of a web module? A.The application EAR file that would contain this web module. B.The "Context Root" for the web module C.The list of servlets included in the web module. D.The list of shared libraries the web module depends on. E.The file system path in which the web module should be deployed.

Select the best answer. 22. 1. InitialContext ic = new InitialContext(); 2. QueueConnectionFactory qcf = null; 3. qcf = (QueueConnectionFactory)ic.lookup("java:comp/env/myQCF"); The code above is part of a business method in a session bean deployed to the WebSphere Application Server. The method puts a message on a queue managed by WebSphere MQ. When the code on Line 3 is executed at runtime, a javax.naming.NamingException is thrown. All of the following could cause the exception EXCEPT: A.The JNDI name used in Line 3 for the resource reference to the QueueConnectionFactory is not in the server configuration. B.The QueueConnectionFactory referenced by the resource reference is not in the server configuration. C.The resource reference with the JNDI name used in Line 3 is a reference to a TopicConnectionFactory in the server configuration. D.The WebSphere MQ JMS client classes are not in the runtime classpath of the enterprise application in which the session bean is deployed.

Select 2 answers. 24. While testing the create method of a CMP entity bean using the Universal Test Client of IBM WebSphere Studio Application Developer, the following exception is thrown: ... Exception: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] ... SQL0803N One or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by "1" constrains table "LIBRARY.PATRON" from having duplicate rows for those columns. SQLSTATE=23505 Which of the following is the BEST place to set the breakpoint? A.The ejbCreate method B.The create method C.The ejbPostCreate method D.The ejbStore method

Select the best answer. 25. A JSP is displaying data from a JavaBean accessed through a <jsp:useBean> tag. It is an error condition if the JavaBean is not found in the request scope at runtime. What should the JSP developer do to ensure correct behavior? A.Specify the real JavaBean's Java type as the value for only the class attribute of the jsp:useBean tag. B.Specify the JavaBean's Java type as the value for only the type attribute of the jsp:useBean tag. C.Add an isErrorPage specification in a JSP page directive. D.Add an errorPage specification in a JSP page directive.

Select 2 answers. 26. The following sequence of method calls occurred on a CMP entity bean instance when a session bean invoked the CMP's businessMethod1() and businessMethod2() methods from the same session bean method entityBean.ejbActivate() entityBean.ejbLoad() entityBean.businessMethod1() entityBean.businessMethod2() entityBean.ejbStore() entityBean.ejbPassivate() Assuming that the session bean is configured with 'Required', what MUST be TRUE about the scenario that generated these method calls? A.The business methods are NOT configured with 'RequiresNew' B.Any persistent state changes that occur as a result of businessMethod1() are in the same transaction scope as changes made by businessMethod2(). C.Any persistent state changes that occur as a result of businessMethod1() are in a different transaction scope than changes made by businessMethod2(). D.ejbStore() will write the resultant state of the entity bean to the persistent store.

Select 2 answers. 27. A developer has created a Java Project in IBM WebSphere Studio, which is used by an EJB Project. When the server is started for testing, the following messages appear in the console. ... addEjbModule failed for LibraryEJBProject.jar [class com.ibm.ws.runtime.component.DeployedModuleImpl] java.lang.Error: Unresolved compilation problems: ... Which of the following should the developer suspect? A.The developer did not run 'Generate -> Deploy and RMIC Code...' B.The developer did not run 'Run Validation' C.The Java Project is not added to 'Project Utility JARs' in the Application Deployment Descriptor D.The EJB Project is not added to 'Project Utility JARs' in the Application Deployment Descriptor E.The Java Project is not added to 'Java Build Path' in the EJB Project

Select the best answer. 28. What is the best practice for implementing the business logic in a message-driven bean (MDB) that needs to interact with other EJBs in the system? A.Implement the business logic in the onMessage() method of the MDB. B.Factor the business logic into one or more JavaBeans to increase their reuse. C.Use a session EJB to implement the business logic and interact with the other EJBs. D.Use a Java bean wrapper access bean to encapsulate the business logic.

Select the best answer.

29. A developer wishes to write a custom class to log information about HttpSession lifecycle events, including creation and destruction of HttpSessions. Which of the following MUST the developer do? A.Write a class which implements HttpSessionAttributeListener. B.Write a class which implements HttpSessionListener. C.Add the listener classes to the web deployment descriptor. D.Write a class which implements HttpSessionBindingListener. E.Configure the listeners using the Server Configuration editor.

Select the best answer. 32. What items MUST be specified when defining a custom web service XML-to-Java mapping during the creation of a web service SOAP client? A.a Java class to map to B.a deserializer class C.a marshaller method D.an unmarshaller method

Select 2 answers. 33. A developer is going to use an existing class named DataContainer. This class has a lot of fine-grained attributes and the data represented will be only used as a whole. When designing an entity bean that declares a persistent field of type DataContainer with IBM WebSphere Studio V5 the developer: A.makes use of dependent value class concept B.can use an EJB composer to map the attributes to database columns C.should declare the DataContainer class as serializable and abstract D.is able to query the attributes of DataContainer class with EJB QL

Select 3 answers. 34. Which of the following is NOT a benefit of marking a resource reference to a DataSource in the server configuration as SHAREABLE? A.Multiple connection handles can be mapped to the same physical database connection. B.Applications do not tie up physical database connections when they are not accessing the database. C.The isolation level for each connection handle can be set by an application as needed. D.Connection handles can be cached and then reused after the application has completed it's database transaction.

Select the best answer. 35. A travel service application includes EJBs representing Customers and Itineraries. The Customer Home defines the usual finder methods e.g., findCustomersByName() and findCustomersByPhoneNumber(). The Itinerary Home defines a finder supporting the association, namely findItinerariesByCustomer(). For security, three roles are defined Cliento Agento TravelService Consider adding the Customer EJB to a TravelApplication Enterprise Application. What is the BEST method permission to provide access by the Agent role to the findCustomersByPhoneNumber method? Map the Agent role to: A.all the methods in the Customer EJB. B.all the finder methods in the Customer EJB home. C.the findCustomersByPhoneNumber method in the Customer EJB home. D.the findCustomersByPhoneNumber method in the Customer EJB Access Bean.

Select the best answer. 36. Which of the following deployment descriptors CANNOT have EJB references defined? A.ejb-jar.xml B.web.xml C.application-client.xml D.dds.xml

Select the best answer. 37. While testing a BMP entity bean, a developer discovers that a transaction rollback does not cause a rollback of the changes made to the bean as it should. Which of the following should the developer suspect? A.The ejbPassivate() method has a bug. B.The ejbStore() method has a bug. C.The ejbCreate() method has a bug. D.The datastore does not support JTA. E.The transaction does not implement javax.transaction.UserTransaction.

Select 2 answers. 38. A developer wants to migrate an enterprise application which was running on IBM WebSphere Application Server AE V4. When refactoring the code to make use of the new EJB 2.0 features the developer MUST: A.be aware of pass-by-reference semantics when using Local Interfaces with entity beans B.be aware of pass-by-value semantics when using Local Interfaces with session beans C.make sure all CMP classes are refactored to be abstract and final classes D.declare all CMP classes as abstract and remove persistent fields

Select 2 answers. 39. The following are all true about Message Listener ports configured in the application server to support message-driven beans EXCEPT: A.The same listener port can be used for more than one message-driven bean. B.The listener port is bound to a specific JMS provider and a specific queue or topic managed by that JMS provider. C.Listener ports can be configured to be started explicitly or automatically started when the Application Server starts. D.Listener ports will ignore any messages posted to the queue or topic for which they are configured prior to being started.

Select the best answer. 40. A developer wishes to hide the name of a servlet class from users of a web application for security reasons. Which of the following are the BEST ways to accomplish this? A.Modify the mapping in the New Servlet Wizard when creating the servlet. B.Modify the mapping in the Web Deployment Descriptor editor. C.Use a proxy translator to map the external URL to the servlet class. D.Configure the mapping in the configuration editor for the WebSphere V5.0 Test Environment. E.Modify the mapping in the properties dialog for the servlet.

Select 2 answers. 41. When processing a request, which of the following objects is BEST suited for sharing data between the servlet that is processing the request and the JSP the request is forwarded to? A.request B.session C.context D.application

Select the best answer. 42. package myapp.servlet;import java.io.*;import javax.servlet.*;import javax.servlet.http.*; public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if (Authenticator.authenticateUser(req)) { req.getRequestDispatcher("/mainmenu.jsp").forward(req, resp); } req.getRequestDispatcher("/login.jsp").forward(req, resp); } } During testing, a user enters user ID and password information into an HTML form and this information is submitted to the LoginServlet. The browser displays the expected JSP depending on whether valid or invalid user information is provided, but an IllegalStateException is thrown when the user details are valid. Which of the following actions will correct this problem? A.Add a return statement immediately before the closing bracket of the conditional statement in LoginServlet's doGet method. B.Add URL mappings for the JSPs to the web deployment descriptor so that they can be preloaded by the web container. C.Add code to the start of LoginServlet's doGet method to set the status and the content type of the HttpServletResponse object. D.Add a page directive to the JSPs to set autoFlush to false.

Select the best answer. 43. Which of the following statements are TRUE about the implicit objects in JSP? A.The "in" object can be used to retrieve user input. B.The "config" object can be used to retrieve initialization parameters. C.The "request" object can be used to retrieve header information. D.The "dispatcher" object is used to forward or include other servlets or JSPs. E.The "context" object can be used to retrieve context information such as referrer URI and MIME type.

Select 2 answers. 44. A web application needs to be able to scale to very large volume with a very diverse client profile. Application data involves only small amounts of primitive data, which are not sensitive. Which of the following is the BEST approach for managing application state? A.Use persistent Cookies. B.Use hidden form fields. C.Use HttpSessions. D.Use stateful session beans.

Select the best answer. 45. Two enterprise applications use a third party software (like Apache Xerces). While the actual versions of the third party software used are different between the two applications, the name of the JAR files across different versions is the same. To ensure proper running of these enterprise applications, which of the following should be used in WebSphere Application Server, V5.0 for application classloading policy ? A.SERVLET ENGINE B.SERVER C.APPLICATION D.MULTIPLE E.SINGLE

Select the best answer. 46. An enterprise application employs servlets, JSPs, HTML pages, images, EJBs and Java classes. These Java classes are common to both servlets and EJBs. What is the BEST way to package these components into J2EE modules? A.Package the servlets and JSPs into a WAR file, the Enterprise Beans into an EJB JAR and the Java classes in a separate JAR. After which package these archives along with the JSPs, HTML pages and images into an EAR file. B.Package the servlets, HTML pages, images and JSPs into a WAR file, the Enterprise Beans into an EJB JAR and the Java classes in a separate JAR. After which package these archives into an EAR file. C.Package the servlets, Java Classes, HTML pages, images and JSPs into a WAR file, the Enterprise Beans and the Java classes into an EJB JAR. After which package these archives into an EAR file. D.Package the servlets and JSPs into a WAR file, the Enterprise Beans into an EJB JAR and the Java classes in a separate JAR. Publish the JSPs, HTML pages and images to the Web Server document root and package the Java archives into an EAR file.

Select the best answer. 47. How can a developer set the port number for the web container while running an enterprise application using WebSphere V5 test environments in WebSphere Studio Application Developer, V5? A.By defining the port number in the deployment descriptor of the web modules in the enterprise application. B.By defining the port number in the deployment descriptor of the enterprise application. C.By defining the port number in the deployment descriptor of the ejb modules in the enterprise application. D.By defining the port number in the test environment Server Configuration.

Select the best answer. 48. A developer wants to generate access beans for session EJBs that have remote interfaces. Which type of access bean, generated by WebSphere Studio, is appropriate to meet this requirement? A.Java bean wrapper B.Copy helper C.Row set D.Data class

Select the best answer. 49. A developer discovers that an exception being thrown from a business method on a bean-managed transaction session bean does not cause the transaction to rollback as expected. What would correct this problem? A.Call setRollbackOnly() on the EJBContext. B.Call rollback() on the current UserTransaction object. C.Call rollback() on the EJBContext. D.call setRollbackOnly() on the UserTransaction object.

Select 2 answers. 50. In addition to using the server configuration editor, which of the following methods can be employed to modify the trace specifications of a server running the WebSphere test environment in WebSphere Studio? A.Programatically, calling the setTraceSpec(String) method of the com.ibm.etools.Trace class. B.Edit the server-cfg.xml file. C.Through the Administration Console. D.Edit the bootstrap.properties file.

Select 2 answers. 51. Which of the following statements are TRUE about tuning Data Source connection pools? A.For better performance, set the Maximum Connections value for the connection pool lower than the value for the Max Connections in the Web container. B.For better performance, set the Reap Time interval to a very small value. C.Set the Reap time interval to a value less than that of Unused Timeout and Aged Timeout settings. D.Maximum connections defines the total number of connections that are created by all servers in a cluster.

Select 2 answers. 52. A developer has finished writing a message-driven bean to handle messages arriving from a business partner. WebSphere Application Server has been installed on a test machine and a connection factory and destination have been configured for the embedded JMS provider using the Administrative Console, but no other configuration has been performed. What other configuration task MUST be completed before the MDB can be tested on the test server? A.Add a new message listener port B.Enable the message listener service C.Specify a message passivation directory D.Specify the native library directory

The purpose for posting the answers is an aid in studing for the exam. I am currently studing for this exam and would find it very benifitial to discuss possible answers to these questions. If you find that this would not benefit you at all then don't participate. These answers are not all correct and I don't believe that it undermines any initiatives at IBM. The ICE tests are there as a learning tool and are being treated as such. Noboby needs to look at the answers if they don't wish to and should exercise self restraint. thanks

Hi I have a fferent answer for Question no:3 3. Which of the following MUST be provided in a tag library descriptor XML file? A. The version of JSP custom tags being used. B. The version of J2EE for the custom tag library. C. The definition of at least one custom tag. D. The short name of the web application in which the library is used. E. The prefix for the custom tags defined in the library.

Select 2 answers. Thae following is the DTD for <taglib> element: <!ELEMENT taglib (tlib-version, jsp-version, short-name, uri?, display-name?, small-icon?, large-icon?, description?, validator?, listener*, tag*) > Here <tlib-version>, <jsp-version> and <short-name> are mandatory and appear once. There must be atleast one <tag> subelemet and zero or more <listener> elements. All other subelements are optional and can occur no more than once. Note that version of JSP is required. Not the version of JSP Custom tag. So the answer should be C, D Thanks Sainudheen Mydeen SCWCD

Saliya Jinadasa
Ranch Hand

Joined: Jul 21, 2003
Posts: 49

posted Sep 08, 2003 19:42:00

0

Hi, I think you got question 3 wrong. If you read the D option carefully, it says short name of the web application instead of short name of the tag. Therefore, option D is incorrect. (D. The short name of the web application in which the library is used._ regards, Saliya

Sainudheen Mydeen
Ranch Hand

Joined: Aug 18, 2003
Posts: 218

posted Sep 08, 2003 19:55:00

0

Thanks Saliya <short-name> specifies a preferred prefix value for the tags in the library. Do you think 'A' is correct? or it is a typo? Thanks Sainudheen

I have got 100% for following 2 Objectives : 3. Develop clients that access the enterprise components 5. EJB transactions So following should be the correct answers : CLIENTS ------------------------------------------------------------------------- 1) What items MUST be specified when defining a custom web service XML-to-Java mapping during the creation of a web service SOAP client? A. a Java class to map to B. a deserializer class C. a marshaller method D. an unmarshaller method ANS:- A,B A Java client application has to display data in multiple views where each view has its own data requirements. The BEST strategy for retrieving the data from the server is to: A. Use session beans to gather the required data from multiple entity beans. B. Use entity beans to provide the required data. C. Move entity beans to the thick client. D. Use message-driven beans to gather the required data from multiple entity beans. ANS:- A ,B 2) 1. InitialContext ic = new InitialContext(); 2. QueueConnectionFactory qcf = null; 3. qcf = (QueueConnectionFactory)ic.lookup("java:comp/env/myQCF"); The code above is part of a business method in a session bean deployed to the WebSphere Application Server. The method puts a message on a queue managed by WebSphere MQ. When the code on Line 3 is executed at runtime, a javax.naming.NamingException is thrown. All of the following could cause the exception EXCEPT: A. The JNDI name used in Line 3 for the resource reference to the QueueConnectionFactory is not in the server configuration. B. The QueueConnectionFactory referenced by the resource reference is not in the server configuration. C. The resource reference with the JNDI name used in Line 3 is a reference to a TopicConnectionFactory in the server configuration. D. The WebSphere MQ JMS client classes are not in the runtime classpath of the enterprise application in which the session bean is deployed. ANS :- C --------------------------------------------------------------------------- TRANSACTIONS :

1 ) While testing a BMP entity bean, a developer discovers that a transaction rollback does not cause a rollback of the changes made to the bean as it should. Which of the following should the developer suspect? A. The ejbPassivate() method has a bug. B. The ejbStore() method has a bug. C. The ejbCreate() method has a bug. D. The datastore does not support JTA. E. The transaction does not implement javax.transaction.UserTransaction. ANS : B,D 2) A developer discovers that an exception being thrown from a business method on a bean-managed transaction session bean does not cause the transaction to rollback as expected. What would correct this problem? A. Call setRollbackOnly() on the EJBContext. B. Call rollback() on the current UserTransaction object. C. Call rollback() on the EJBContext. D. call setRollbackOnly() on the UserTransaction object. ANS :- B,D 3) While testing a method of a container-managed transaction EJB, javax.ejb.TransactionRequiredException is thrown. The method is configured with transaction attribute: A. Never B. Required C. Supports D. RequiresNew E. Mandatory ANS :- E 4) The following sequence of method calls occurred on a CMP entity bean instance when a session bean invoked the CMP's businessMethod1() and businessMethod2() methods from the same session bean method entityBean.ejbActivate() entityBean.ejbLoad() entityBean.businessMethod1() entityBean.businessMethod2() entityBean.ejbStore() entityBean.ejbPassivate() Assuming that the session bean is configured with 'Required', what MUST be TRUE about the scenario that generated these method calls? A. The business methods are NOT configured with 'RequiresNew' B. Any persistent state changes that occur as a result of businessMethod1() are in the same transaction scope as changes made by businessMethod2(). C. Any persistent state changes that occur as a result of businessMethod1() are in a different transaction scope than changes made by businessMethod2(). D. ejbStore() will write the resultant state of the entity bean to the persistent store. ANS:- A,B

5) While testing a session bean configured with "Bean Managed", a developer discovers that a TransactionRolledBackException is being thrown by a call to a method on an entity bean. The session bean, prior to calling the method, explicitly started the transaction. Possible causes for the exception are that the: A. entity bean method is throwing a checked exception and is configured with a transaction attribute of "Required". B. entity bean method is throwing an unchecked exception and is configured with a transaction attribute of "Required". C. entity bean does not throw an exception but is configured with a transaction attribute of "Not Supported". D. entity bean method is throwing an exception and is configured with a transaction attribute of "Requires New". ANS:- B,D --------------------------------------------------------

1. Which of the following may be performed when a packaged enterprise application (EAR file) is deployed or installed in WebSphere Application Server, V5.0? A. Generate the deploy code for enterprise beans in EJB modules. B. Define the custom tag libraries used by the JSPs in the web module deployment descriptor. C. Specify "Context Root" for each web module. D. Generate Access beans for any enterprise beans. E. Map entity beans to relational database schema.

My answers would be: A and Ehttp://publib.boulder.ibm.com/infocenter/wsphelp/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/trun_app_instwiz.html 4.e. For Deploy EJBs, specify whether the EJBDeploy tool runs during application installation. The tool generates code needed to run EJB files. 19. If the Deploy EJBs setting is enabled on the Provide options to perform the installation panel, then you can specify options for the EJBDeploy tool on the Step: Provide options to perform the EJB Deploy panel. On this panel, you can specify extra classpath, rmic options, database types, and database schema names to be used while running the EJBDeploy tool. The tool is run on the EAR file during installation after you click Finish. C is not correct 'cause you can only specify "Context Root" while installing an individual WAR file.

For Q12 above the answers are B and D and following is the explanation : A is wrong : Checked Exception is always Rethrown as Application Exception so TransactionRolledBackException is not thrown B Correct : If a bean method is participating in a transaction of caller and has tx attribute"Required" then for the the Unchecked Exception is Client always gets TransactionRolledBackException (EJB SPECS #18.3.1) C wrong : If entity bean doesn't throw any exception then there is no way that a client gets TransactionRolledBackException D Correct : For a bean method running in transaction started by other bean and any excpetion except ApplicationException occurs then javax.transaction.TransactionRolledbackException is thrown back

Thanks, Nikhil, for your answer. For q.15, the correct answer should be A. An object implementing HttpSessionBindingListener receives notification only when it is bound to or unbound from the session. It's unaware of the session life cycle. Here is the question: 15. A class is created which implements the HttpSessionBindingListener interface and an instance is created in a web application. Which of the following would be the MOST common use of the features of such an object? A. The relationship between the object's internal state and the persistent representation can be synchronized when the object is stored in or removed from the HttpSession. B. The object can be used to monitor the usage of the HttpSession to provide information to detect performance problems caused by HttpSession usage. C. When the HttpSession is invalidated the object can manually ensure all objects stored in the HttpSession are correctly removed to prevent memory leakage. D. Multiple HttpSession objects relating to the same client can be combined to avoid application data loss in situations where a client is required to reauthenticate.

Select the best answer.

Best Regards,<br />Serge

Serge Adzinets
Ranch Hand

Joined: Nov 26, 2002
Posts: 166

posted Feb 04, 2004 01:26:00

0

Hi, I'm in doubt about this question: 9. When setting up the JMS server, in a test environment which is already running message-driven beans (MDB), which of the following properties MUST be configured to correctly communicate messages to a new MDB? A. Queue JNDI name B. Initial state to: Started C. Queue name D. Connection factory JNDI name E. Listener port name Select 2 answers. Answer A is obviously wrong, E seems to be wrong too, because you set up the listener port in the DD, not in the test environment. But, you should specify both names and jndi names for both queue and connection factory. So, A, C and D are all correct Could you show me my mistake? [ February 09, 2004: Message edited by: Serge Adzinets ]

Serge Adzinets
Ranch Hand

Joined: Nov 26, 2002
Posts: 166

posted Feb 05, 2004 01:59:00

0

Seems nobody is preparing for 287 Okay, another question: 44. A web application needs to be able to scale to very large volume with a very diverse client profile. Application data involves only small amounts of primitive data, which are not sensitive. Which of the following is the BEST approach for managing application state? A. Use persistent Cookies. B. Use hidden form fields. C. Use HttpSessions. D. Use stateful session beans. Select the best answer. What is your answer for this and why? What do they mean by diverse client profile? Does it mean that the state for different clients can contain little or much data? How the phrase "Application data involves only small amounts of primitive data, which are not sensitive" influence the answer?

What do they mean by diverse client profile? Does it mean that the state for different clients can contain little or much data? How the phrase "Application data involves only small amounts of primitive data, which are not sensitive" influence the answer?

Diverse client profile - It means you've got to design your application with possibly non-HTTP clients in mind. The second quote - Cookies would be Ok to handle low-security, small amounts of primitive data. But cookies are only good for HTTP clients. B and C also limit you to HTTP clients. So I would select D - stateful session beans. Just my 2 cents. I would like to hear from Howard on this.

Diverse client profile - It means you've got to design your application with possibly non-HTTP clients in mind. The second quote - Cookies would be Ok to handle low-security, small amounts of primitive data. But cookies are only good for HTTP clients. B and C also limit you to HTTP clients. So I would select D - stateful session beans. Just my 2 cents. I would like to hear from Howard on this.

Ok Zach, I'll tell ya, I tend to agree with Marco Ves on this one. Think about it a little and then if you're stil not sure why, I'll provide a few more clues. Regards,

Thanks a lot for your quick response, Howard. Marco's choice is B - Hidden Form Fields, which implies HTTP client, doesn't it? Maybe my interpretation of "diverse client profile" is wrong - because my whole argument is based on that - Doh! :roll: Let me think about it a little bit more then...

Zach Lee
Greenhorn

Joined: Jan 20, 2004
Posts: 19

posted Feb 06, 2004 14:52:00

0

By the way, hidden form fields are also Ok for low-security, small amounts of primitive data and the server is relieved from managing the session state. But it still troubles me because the app has to be able "to scale to very large volume with a very diverse client profile". Still thinking about this...

Axel Janssen
Ranch Hand

Joined: Jan 08, 2001
Posts: 2164

posted Feb 06, 2004 18:38:00

0

I find this question ambigous, too.

Axel Janssen
Ranch Hand

Joined: Jan 08, 2001
Posts: 2164

posted Feb 06, 2004 19:22:00

0

o.k. how about this: Its a web application. Connection via http. Even this question includes mobile phones or swing/swt-clients they may use hidden fields.

Howard Kushner wrote: Think about it a little and then if you're stil not sure why, I'll provide a few more clues.

What are your clues? :roll:

Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361

posted Feb 06, 2004 20:34:00

0

Okay. Here's my take. It's a Web app that scales to very high volume. That eliminates D since stateful session beans do not scale well. We can also eliminate C as not being the BEST approach from a scalability standpoint as well as the notion of small amounts of non-sensitive primitive data. Halfway there, we now have to eliminate either A or B. Since some users will disable cookies, we can eliminate A. That is based on my own personal interpretation of very diverse client profile. YMMV. Regards,

question 5: B and ? Surely option A makes an application more robust (failover to a second server). But options C & D do not really sound right.

question 28. whats wrong with answer A, implementing Business logic in the MDB?

Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361

posted Feb 16, 2004 12:03:00

0

Originally posted by Peter Reinhardt: question 5: B and ? Surely option A makes an application more robust (failover to a second server). But options C & D do not really sound right.

question 28. whats wrong with answer A, implementing Business logic in the MDB?

Hi Peter and Friends, For number 5 I suggest that you re-read the question thoroughly because it asks which techniques you should AVOID. Give it some thought. For number 28 I would admit that one could implement the business logic in the MDB, but I tend to favor a design that places business logic in session beans. Ask yourself what is the BEST practive for interacting with other EJBs n the system and do not neglect transactional considerations. Regards,

Nikhil Pendharkar
Ranch Hand

Joined: Sep 01, 2003
Posts: 44

posted Feb 17, 2004 03:33:00

0

For Question 5 , my answers would be with B and C . A says "Use persistent HttpSessions to manage application state data" . IMHO persistent HttpSessions will coverup the session failover situations and thus making the application more robust , so definitely A is not the technique which we should avoid to make application robust as possible D says "Make all resource references via java:comp/env JNDI references" , this is infact Standard ENC and should be followed to make application robust and for implementing consistent naming . So what remains is B and C , which shouldn't be used as techniques to make application as robust as possible . Just my 2 cents .. Nikhil

Peter Reinhardt
Ranch Hand

Joined: Aug 02, 2002
Posts: 57

posted Feb 17, 2004 07:46:00

0

to 5: I think you are right. Option B is not recommended because it attaches a reference to a node instead of a cell. to 27: I reconn the correct answer is A. But I think the question is not that brilliant. The exception you get if you fail to run the "generate->" is a ClassNotFoundException (and not the message "Unresolved compilation problems", which rather suggests a problem compiling some source classes). In order to create a jar file you have to fix all compilation problems.

Nikhil Pendharkar
Ranch Hand

Joined: Sep 01, 2003
Posts: 44

posted Feb 17, 2004 08:17:00

0

27. A developer has created a Java Project in IBM WebSphere Studio, which is used by an EJB Project. When the server is started for testing, the following messages appear in the console. ... addEjbModule failed for LibraryEJBProject.jar [class com.ibm.ws.runtime.component.DeployedModuleImpl] java.lang.Error: Unresolved compilation problems: ... Which of the following should the developer suspect? Looking at the above question I feel that correct answer would be C. The Java Project is not added to 'Project Utility JARs' in the Application Deployment Descriptor Because Java Project in IBM WebSphere Studio, which is used by an EJB Project would nothing but the utility jar which should be added in the application deployment descripitor . If that is not added then any references made to the classes in that utility jar would definitely result in compilation errors for the EJB Project . If user tries to run the EJB project with these errors its possible that the error specified in the question above would be thrown back . Still I am not sure , just a logical guess from my side

Howard Kushner
author
Ranch Hand

Joined: Sep 19, 2003
Posts: 361

posted Feb 17, 2004 19:47:00

0

Originally posted by Nikhil Pendharkar: 27. A developer has created a Java Project in IBM WebSphere Studio, which is used by an EJB Project. When the server is started for testing, the following messages appear in the console. ... addEjbModule failed for LibraryEJBProject.jar [class com.ibm.ws.runtime.component.DeployedModuleImpl] java.lang.Error: Unresolved compilation problems: ... Which of the following should the developer suspect? Looking at the above question I feel that correct answer would be C. The Java Project is not added to 'Project Utility JARs' in the Application Deployment Descriptor Because Java Project in IBM WebSphere Studio, which is used by an EJB Project would nothing but the utility jar which should be added in the application deployment descripitor. If that is not added then any references made to the classes in that utility jar would definitely result in compilation errors for the EJB Project. If user tries to run the EJB project with these errors its possible that the error specified in the question above would be thrown back. Still I am not sure, just a logical guess from my side

C is not the correct answer. I prefer the answer provided above by my friends Marco Ves and R Pro. This is one that you have to try for yourself using WebSphere Studio. Somethimes I think that the people who develop the tests try to use answers that look logical in order to make it more difficult for people who are guessing. Regards,

Peter Reinhardt
Ranch Hand

Joined: Aug 02, 2002
Posts: 57

posted Feb 18, 2004 07:22:00

0

Yeah. Giving it a second thought I think E must be right. It just means somebody has compilation problems all over the place (in his ejb project) and then tries to run the Test environment. I wouldn't even try to do that - lame question in my opinion.

3. Which of the following MUST be provided in a tag library descriptor XML file? A. The version of JSP custom tags being used. B. The version of J2EE for the custom tag library. C. The definition of at least one custom tag. D. The short name of the web application in which the library is used. E. The prefix for the custom tags defined in the library. I think the answer is A, C. According to JSP 1.2 DTD for Taglib Descriptor: <!ELEMENT taglib (tlib-version, jsp-version, short-name, uri?, display-name?, small-icon?, large-icon?, description?, validator?, listener*, tag+) > short-name is required (IBM's Test 287 book says optional, which is wrong). But its meaning is "The value of the short-name element is a name that could be used by a JSP authoring tool to create names with a mnemonic value; for example, it may be used as the prefered prefix value in taglib directives." Not as what is said in D. tag+ shows that at least one tag element has to be in the descriptor ...

Originally posted by Edy Yu: 3. Which of the following MUST be provided in a tag library descriptor XML file? A. The version of JSP custom tags being used. B. The version of J2EE for the custom tag library. C. The definition of at least one custom tag. D. The short name of the web application in which the library is used. E. The prefix for the custom tags defined in the library. I think the answer is A, C.

I agree with A and C, although I see that others here have differing opinions.