jboss interview questions

advertisement
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.
Download