Top 50 Jboss Interview Questions You Must Prepare 27.Jul.2024

Q1. What Optimization Could I Use If The Ejb Container Is The Only Point Of Write Access To The Database?

You could activate the “Commit Option A” that is the container caches entity bean state between tractions. This option assumes that the container has exclusive access to the persistent store and therefore it doesnt need to synchronize the in-memory bean state from the persistent store at the beginning of each traction.

Q2. What Do You Know About Seam?

Built on the standards Java Server 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.@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.

Q3. What Version Of Jboss As Do I Need To Run Seam?

For Seam 1.3: Seam was developed against JBoss 4.@Seam can still be run against JBoss 4.@The seam documentation contains instructions for configuring JBoss 4.0.

For Seam 1.2: Since Seam requires the latest edition of EJB3, you need to install JBoss AS from the latest JEMS installer. Make sure that you select the “ejb3” or “ejb3+clustering” profile to include EJB3 support. Also, the jboss-seam.jar library file from the Seam distribution must be included in each Seam application you deploy. 

Q4. Can I Unit Test Seam Applications Without Starting The Application Server?

Yes, Seam provides its own integration test framework based on TestNG. You can easily mock all Seam services using those facilities without ever loading an application server or a database. 

Q5. What Are The File Types You Can Deploy In Jboss?

You can deploy almost any kind of Java/J2EE application, and it supports the following file format.

  • WAR: Web application archive
  • SAR: Service archive
  • JAR: Java Archive
  • EAR: Enterprise application archive

Q6. Do You Know How You Could Add Support For Web Service Tractions?

JBossTS supports Web Services tractions, including extended traction models designed specifically for loosely-coupled, long running business processes. J2EE tractions can integrate seamlessly with Web Services tractions using our integrated, bi-directional traction bridge. Interoperability with many other vendors is provided out-of-the-box and JBoss is an active participant in these standards.

Q7. What Is Difference Between <validate-on-match> And <background-validation>?

  • <validate-on-match> validate the database connection every time, and if a connection is not valid, it will write a warning in the logs.
  • Having “validate-on-match” configured may have a little high load on the database as it may create lots of requests.
  • <background-validation> validate the connection periodically based on what frequency is configured for “background-validation-millis”. The default configuration is set to zero me disabled.
  • Having “ background-validation” set to true will create fewer database connections and it’s side-effects would be not detecting immediately if dead connections.

Q8. How Do You Look Inside A Jar File?

 jar –tf <filename.jar>

Q9. How Can You Start A Jta Traction From A Servlet Deployed On Jboss?

JBoss registers in the JNDI tree a JTA UserTraction Object which can be user to manage a distributed traction.

Q10. Can I Run Seam Outside Of Jboss As?

Yes, you can run Seam applications in plain Tomcat 5.5+ or in the Sun GlassFish application server. To run Seam application in Tomcat, you need a number of additional library files and a few configuration files to bootstrap the JBoss EJB3 inside Tomcat.

Q11. Does Seam Run On Other Application Servers Besides Jboss?

Seam runs beautifully on other application servers – just like everything else the Hibernate team does, this is not a JBoss-only thing.

Q12. What Is The Difference Between Hibernate And Ejb 3? Do Not You Think Ejb 3 Is Just A Clone Of Hibernate?

The perception of EJB3 as being a simple clone of Hibernate is primarily based on developer familiarity with Hibernate and a similarity of naming, as well as common purpose, and that Hibernate is morphing itself into an EJB3 implementation based on the work going into the specification, not the other way around.

EJBs are supposed to be components, in the sense that they’re not just one class, but a set of classes, descriptors and usage and management contracts. All of this in order to allow a container (JBoss, Weblogic, etc.) to provide services to those components, and to be able to reuse and distribute this components. This services are, among others, tractions, concurrent access control, security, instance pooling, etc.

Hibernate is “just” an ORM (Object/Relational Mapping) tool. Quick and dirty, this me you can store an object tree belonging to an class hierarchy in a relational DB without writing a single SQL query. Quite cool, IMO. But no traction control, no instance pooling, no concurrency control, and certainly no security.

Q13. What Is Jboss Jbpm?

JBoss JBPM is a workflow and BPM engine. Enabling the creation of business processes that coordinates between people, applications and services is the functionality of BPM engine. The combination of workflow applications development with process design is a feature of JBoss jBPM. The business process is graphically represented to facilitate a strong link between the business analyst and technical developer. This feature is provided by the JBoss jBPM process designer.

Q14. What Module Needed To Integrate Apache With Jboss?

There are two modules you can use to connect JBoss with Apache.

  • mod_proxy.
  • mod_jk.

Q15. Which Hibernate Object Wraps The Jdbc Connection?

The Session interface wraps a JDBC Connection. This interface is a single threaded object which represents a single unit of work with application and persistent database. It’s retrieved by the SessionFactory’s openSession() method

Q16. Is The Session Factory Thread Safe?

Yes, that is many threads can access it concurrently and request for sessions. It holds cached data that has been read in one unit of work and may be reused in a future unit of work. Good practice is to create it when the application is initialized.

Q17. What Is The Difference Between A Local-tx-datasource And A Xa-datasource? Can You Use Tractions In Both?

A local-tx-datasource identifies a data source that uses tractions, even distributed tr actions within the local application server, but doesnt use distributed tractions among multiple application servers. An xa-datasource on the other hand identifies a data source that uses distributed traction among multiple application servers.

Q18. Which Component Is Responsible For Handling Clustering?

JBoss clustering is on top of JGroups toolkit which helps to create, delete, membership detection, notification, etc. in the cluster.

Q19. How Would You Convince My It Department To Adopt Soa?

In my opinion one of the biggest obstacle in the movement towards SOA adoption is the organization own IT department.Too many people in the IT organization conceive SOA as a technology concept only, and as such think of SOA as just a set of technologies and infrastructure for exposing, securing, running, and managing Services.

Put it this way, SOA is nothing more than Web Services and standardized middleware. The critical flaw in thinking is confusing the technology that sits beneath the Services level of abstraction and the mechanism by which Services are accessed with the architectural approach that aims to decouple the implementation from the consumption and focus on sustainable architecture that allows for continuous change.

Successful SOA adoption requires a cultural shift in the way IT is done. The Service-oriented movement to agility and loose coupling demands a shift from traditional, waterfall styles of development (design-build-test-deploy-manage) to iterative approaches to continuous Service modeling

Q20. How To Install Jboss On Linux Server?

JBoss installation is very straightforward. You need to download the desired version from JBoss official download page in zip or gz format.

Once downloaded, just extract the file to the location you want to install. If you downloaded zip format, then you can use unzip command to extract it.

unzip jboss-as-7.1.1.Final.zip

Q21. How Do You Perform A Hot Deployment?

JBoss has a built-in hot deployer which can:

  • Detect new applications in the deploy folder and trigger an application deployment
  • Detect an application which was removed from the deploy folder and trigger an application undeployment
  • Detect that the deployment descriptor of an application (for example, the web.xml of .war or application.xml of .ear) has changed and trigger an application redeployment

Q22. Where Can I Find Seam Examples And Documentation?

The source code and build script of all Seam example applications are included in the examples directory of the Seam distribution.

Q23. Which Component Handles Cluster Communication In Jboss?

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 trport, discovery, reliability and failure detection, and cluster membership management services.

Q24. What Is Jta?

Java Traction API (JTA) specifies standard Java interfaces between a traction manager and the parties involved in a distributed traction system: the resource manager, the application server, and the tractional applications.

The Javaâ„¢ Traction API (JTA) allows applications to perform distributed tractions, that is, tractions that access and update data on two or more networked computer resources.

The Java Traction API consists of three elements: a high-level application traction demarcation interface, a high-level traction manager interface intended for an application server, and a standard Java mapping of the X/Open XA protocol intended for a tractional resource manager.

Q25. What Is The Directory Structure In Jboss?

The following directories are available after JBoss is installed.

  • modules
  • bundles
  • domain
  • standalone
  • appclient
  • bin
  • docs
  • welcome-content

Q26. How Do You Enable/disable A Hot Deployment?

  • To enable, put file hdscanner-jboss-be.xml in  JBOSS_HOME/server/<profilename>/deploy
  • To disable hot deployment, remove the hdscanner-jboss-be. xml from the deploy folder or rename it to hdscanner-jbossbe. xml.bak (.bak files are ignored).

Q27. Can I Use Ajax With Seam?

Yes, Seam provides excellent support for AJAX. First, Seam supports the ICEfaces and Ajax4JSF Ajax component libraries for JSF. If you prefer a more “old fashioned” approach, Seam provides a complete JavaScript remoting framework which lets you call Seam components and subscribe to JMS topics directly from the client. 

Q28. How Can You Deploy An Application?

There are three possible ways to deploy an application in JBoss application server.

  1. Admin Console – you can deploy the necessary application files through the administration console.
  2. Auto-deploy – leverage file system deployment scanner to auto deploy files from deployments folder.
  3. Automation – use automation tool/ant/scripting to deploy an application.

Q29. What Is Jboss?

JBoss is a popular open source application server based on JEE technology. Being JEE based, the JBoss supports cross-platform java applications. It was embedded with Apache Tomcat web server. It runs under any JVM of 1.3 or later versions. JBoss supports JNDI, Servlet/JSP (Tomcat or Jetty), EJB, JTS/JTA, JCA, JMS, Clustering (JavaGroups), Web Services (Axis), and IIOP integration (JacORB).

Q30. How To Increase Java Heap Memory In Jboss 7?

Heap Memory can be increased in a respective conf file. To increase memory for standalone;

  • Go to bin folder
  • Edit the standalone.conf file and look for “JAVA_OPTS=” argument line
  • The default configuration will have minimum 64 MB and maximum 512 MB. You can increase to the desired value.
    • Xms – specify the minimum heap size.
    • Xmx – specify the maximum heap size.

In a similar way, you can adjust the memory for a domain in domain.conf file

Q31. Can I Run Seam In A J2ee Environment?

Yes, as of Seam 1.1, you can use Seam in any J2EE application server, with one caveat: you will not be able to use EJB 3.0 session be. However, you can use either Hibernate or JPA for persistence, and you can use Seam JavaBean components instead of session be.

Q32. What Do You Think About Bpel And Bpm ? How Do They Compare?

  • BPEL and BPM are quite different things so they cannot even be compared. The problems boils down to the fact that these years maybe BPEL has been marketed for something which isn’t: that is a Business Process Management framework.
  • BPEL is made up for service orchestration, that is publishing new services as a function of other services.
  • while BPM si needed for handling human task management functionalities and subprocess management.

Q33. What Is Jboss Eap?

JBoss Enterprise Application Platform is an open source implementation of the Java EE suite of services

Q34. What Are The Differences Between Ejb 3.0 And Ejb 2.0?

EJBs are now plain old Java objects (POJO) that expose regular business interfaces (POJI), and there is no requirement for home interfaces.

  • Use of metadata annotations, an extensible, metadata-driven, attribute-oriented framework that is used to generate Java code or XML deployment descriptors.
  • Removal of the requirement for specific interfaces and deployment descriptors (deployment descriptor information can be replaced by annotations).
  • Interceptor facility to invoke user methods at the invocation of business methods or at life cycle events.
  • Default values are used whenever possible.
  • Reduction in the requirements for usage of checked exception.
  • A complete new persistence model (based on the JPA standard), that supersedes EJB 2.x entity be

Q35. What Marker File Type Is Required To Instruct Jboss To Deploy?

.dodeploy file suffix is needed for JBoss to deploy or redeploy an application.
For ex: myfirstapplication.war.dpdeploy

Q36. What Does Mgmt-user.properties Contain?

All admin console users and password (encrypted) are stored in mgmt.-user.properties file.

Q37. Can You Create A Cluster In Standalone Mode?

Yes, clustering is possible in standalone mode. However, an application must be deployed on each server/JVM in standalone mode.

Q38. How To Start Jboss In Standalone Mode?

Go to bin folder where JBoss is installed and start with the following command.

./standalone.sh

Q39. Which Jdk Is Needed To Run Seam?

Seam only works on JDK 5.0 and above. It uses annotations and other JDK 5.0 features.

Q40. What Must Be Done To Access Admin Console?

The user must be created under “ManagementRealm” to have console operational. To create the user, you can go to bin folder and execute add-user.sh script.

Q41. What If You Need To Span Your Traction Across Multiple Servlet Invocations?

You can’t with a Servlet. A JTA traction must start and finish within a single invocation (of the service() method). You should consider using a Stateful SB. In a SFSB with a JTA traction, the association between the bean instance and the traction is retained across multiple client calls.

Q42. Is It True That Seam Only Works With Jsf?

Seam only supports JSF as a view framework at this time. We plan to support other web frameworks in the future. We like JSF because it is a component-based UI framework, which fits really well with Seam’s component-based approach to business objects and persistence objects. Seam made a major improvement to JSF by eliminating almost all XML configuration for backing be — you can now define back be from POJOs or EJB3 components using simple annotations.

We recommend you use Facelets, instead of JSP, with JSF. Facelets provide a powerful templating framework, better appplication performance, and allows us to write much simpler JSF pages. Please see the Seam booking example application for an example on how to use Facelets.

Q43. How Do You Deploy An Application To Jboss?

 Choose the server profile to which you want to deploy the application

  • Copy your application (for example: .war or .ear or a .jar file) to JBOSS_HOME/server/<profilename>/deploy folder.
  • Start the server: (./run.sh)
  • JBoss will deploy your application when it boots up.

Q44. What Is A .war, .ear Or A .jar File??

  • WAR – web application archive is a jar file used to distribute a collection of JavaServer Pages, Java Servlets, Java classes, xml files, tag libraries, static web pages (html & others) and others resources that constitute a web application.
  • JAR – Java Archive, is an archive file format typically used to aggregate many Java class files and associated metadata and resources into one file to distribute application software, libs on the Java platform.
  • EAR – Enterprise Archive is used to package one or more moduels into a single archive so the deployment of the various modules into app server happen simultaneiously and coherently.

Q45. What Are The Logging Levels Available?

There is five possible level:

  1. FATAL
  2. ERROR
  3. WARN
  4. INFO
  5. DEBUG

Q46. What Is The Difference Between Standalone And Domain Mode?

  • Standalone mode is single JVM process where every JBoss server has its configuration. If you just need one JVM or development environment, then standalone would be perfect.
  • Domain mode may have multiple servers where all configuration is managed centralized and often used in production environment.

Q47. Is It Possible To Put A Jboss Server Instance Into Multiple Cluster At The Same Time?

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.

Q48. What Are The Important Types Available For Marker File Deployment?

  • .dodeploy – instruct to deploy
  • .deployed – indicate the file is deployed
  • .pending – deployment is still pending
  • .undeployed – confirmation that application is undeployed
  • .failed – deployment is failed for some reason
  • .skipdeploy – instruct JBoss to ignore the files for auto-deployment

Q49. How Do You Monitor Jboss And Detect The Bottleneck Of An Application?

Different components of the application are to be measured. This step is to find where the degradation is, whether it is external or internal and where is the application spending all the time. Using Jboss JMX agents and monitoring the deployed components to the application server involves in the first step.

After finding the most of the time spent by specific components or libraries or most of the resources, one can use Jprobe a specialized tool for examining the single object or the objects loaded in the memory.

Q50. What Is Jboss Cache In Short?

JBoss cache is a product. Frequently accessed Java objects are cached by utilzing JBoss cache to improve the performance of e-business applications. JBoss decreases the network traffic and increases the scalability of applications by eliminating unnecessary database access. Fully tractional features and highly configurable set of options which are to deal with concurrent data access, are provided by JBoss cache in an efficient manner possible for the applications.