JBOSS INTERVIEW QUESTIONS Q:How can you start a JTA transaction from a Servlet deployed on JBoss ? A: JBoss registers in the JNDI tree a JTA UserTransaction Object which can be user to manage a distributed transaction Q:What do you need to set-up a cluster with JBoss ? A: Basically starting JBoss with the “all” configuration contains everything needed for clustering: It has all the libraries for clustering: JGroups.jar, jboss-cache.jar Clustered beans (cluster-service.xml) HA-JNDI HTTP session replications (tc5-cluster-service.xml) Farming HA-JMS Q:Which component handles cluster communication in JBoss ? A: The JGroups framework provides services to enable peer-to-peer communications between nodes in a cluster. It is built on top a stack of network communication protocols that provide transport, discovery, reliability and failure detection, and cluster membership management services. Q:Is it possible to put a JBoss server instance into multiple cluster at the same time ? A: It is technically possible to put a JBoss server instance into multiple clusters at the same time, this practice is generally not recommended, as it increases the management complexity. Q:What's jBoss cache in short ? A: JBossCache enables easy distribution of datasets across your computing environments. It is based on JGroups and enables clustering and high availability of that data. You may choose to distribute the data with JBoss Messaging to move it where it is needed for computation or event-based programming Q:What do you know about Seam ? A: Built on the standards JavaServer Faces and EJB 3.0, JBoss Seam unifies component and programming models and delivers a consistent and powerful framework for rapid creation of web applications with Java EE 5.0. Seam simplifies web application development and enables new functionality that was difficult to implement by hand before, such as stateful conversations, multi-window operation, and handling concurrent fine-grained AJAX requests. Seam also unifies and integrates popular open source technologies like Facelets, Hibernate, iText, and Lucene. Q:Does Seam run on other application servers besides JBoss ? A: Seam runs beautifully on other application servers - just like everything else the Hibernate team does, this is not a JBoss-only thing. Q:What's JBoss JBPM ? A: JBoss jBPM is a platform for process languages. At the base there is a java library to define and execute graphs. The actual process constructs like e.g. send email, user task and update database are defined on top of this. Every process language is made up of a set of such process constructs. And that is what is pluggable in this base library. On top of the JBoss jBPM base library, there are implemented several process languages as a set of process constructs: jPDL, BPEL and SEAM pageflow: jPDL is a process language with a clean interface to Java and very sophisticated task management capabilities. There is no standard for Java process languages, so it is proprietary. BPEL is a service orchestration language. As said before, in BPEL, you can write new services as a function of other services. This is typically a component of an Enterprise Service Bus (ESB). SEAM pageflow is a language that allows for the graphically define the navigation between pages in a SEAM web application. Q:How do you monitor JBoss and detect the bottleneck of an application? A: The first step is to measure the different components of your app to see where the degradation is. Is it an external resource (database, message server, etc.)? Is it internal? Where is the app spending all its time? So the first step could be to to use JBoss JMX agents and monitor the components deployed to the application server. Once it's clear which component or library takes most of the time or most of resource you can use a more specialized tool like JProbe and examine the single method or the single objects loaded in memory.