WebLogic is a popular Java-based application server that is used to deploy, manage, and scale enterprise-level applications. So, if you want to begin your career in WebLogic, here are some top WebLogic interview questions and answers to help you succeed. The list of frequently asked questions covered in this blog is beneficial for both freshers and experienced professionals.
If you're looking for WebLogic Interview Questions And Answers 2024 for Experienced or Freshers, you are at the right place. Here Mindmajix presents a list of Top 50 Weblogic Interview Questions. There are a lot of opportunities from many reputed companies in the world on Weblogic.
So, You still have the opportunity to move ahead in your career in the WebLogic server. Mindmajix offers Advanced WebLogic Interview Questions 2024 that helps you in cracking your interview & acquire your dream career as WebLogic Administrator.
1) What is a WebLogic server and what purposes does it serve?
2) What are the basic components of a WebLogic server?
3) What is a domain in a WebLogic server?
4) What are the various thread states in a WebLogic server?
5) What is the difference between the stage and the non-stage deployments?
6) What are the various ways in which we can start/stop a WebLogic server?
7) What are the different ways used to deploy your applications in a WebLogic server?
8) What is an Administration server?
9) What are Horizontal and Vertical Clustering?
10) What are the advantages of Clustering?
WebLogic server is an Oracle offering, a Java-based application server that can host Java-based applications. Web applications and Enterprise applications that are developed can be deployed in a WebLogic server, to serve the business logic. To put it in layman's words, with a WebLogic server we can easily deploy, distribute, run Java-based applications.
Following are the basic components of a WebLogic server:
Domains can be understood as that logical set of resources within the Oracle WebLogic server that individually constitutes a single unit. A domain includes a special Oracle WebLogic Server instance called the Administration Server, from where you configure and manage all resources in that specific domain. It can logically separate the kinds of environments, and also Organizational divisions.
WebLogic is more of an Application server that can host both Web applications and Enterprise applications (such as EJBs). Hosting Enterprise Applications (such as .ear files) can only be done via Application servers such as WebLogic, JBoss, or WebSphere rather than Tomcat or such.
Following are the various thread states in a WebLogic server:
Want to enhance your skills to become a master in WebLogic, enroll in our WebLogic Training program |
WebLogic installation can happen via 3 different modes:
Console mode: This installation mode is based on interactive text messages.
Graphical mode: This installation mode is based on the interactive GUI.
Silent mode: This installation mode is based on the properties file that is provided with it, which doesn’t require any interaction as such.
Stage deployment can be understood as the process where the Admin gets a copy which is later on distributed amongst the available instances. Whereas the Non-Stage deployment has a restriction that each instance needs to contact the source for the necessary deployments.
Command-line: During the creation of a domain, details like the username and password are prompted via a wizard to configure.
Via boot.properties file: If a domain is already created in Development mode, then the encrypted credentials are stored in an identity file. The password can then be entered if this identity file isn’t available during the boot-up process.
Java Option: On a new boot, we can create a new identity file with the credentials or if there’s a requirement to create a new domain in Production mode.
There are many ways by which WebLogic server services can be started or stopped. They are listed as follows:
On the WebLogic Server console, click on Environment -> Servers -> Monitoring -> WebLogic Version field, to check the version of the WebLogic server.
You can use the script files from WebLogic to set CLASSPATH for the requirements. These are the files that we have to use based on the OS type (Windows or Linux):
1. WL_HOME/server/bin/setWLSEnv.cmd for Windows
2. WL_HOME/server/bin/setWLSEnv.sh for Linux
Following are the ways to deploy your applications into a WebLogic server:
Auto deployment mode feature of WebLogic server works for the development mode, where it checks every 3 seconds to see if there are any new applications available or any new changes available for the existing applications and deploys them. To disable the automatic deployment, these are the available options:
1. Selecting the Production mode checkbox from the Administration Console for the necessary domain.
2. On CLI, use option -Dweblogic.ProductionModeEnabled=true when starting the respective domain’s Administration Server.
WebLogic Smart Update or BEA Smart Update utility (BSU) is a utility available to update or apply patches on WebLogic Servers. It can be found under the following folder (WL_HOME/utils/bsu).
Administration Server can be understood as the one-stop solution for all configuration in a given domain. We can also monitor all the resources of a domain from the Administration server as well.
You can access the WebLogic server’s admin console by entering the administration machine name and port in the navigation bar of a browser. There you’ll be prompted to provide the login credentials.
The default port of the WebLogic Admin server is 7001 and for SSL it is going to be 7002.
Managed servers within a WebLogic server is that component that hosts the business applications, application components, web services, and the other resources that are associated with these artifacts. In order to maintain the performance statistics, the domain’s configuration document is maintained as a read-only copy. This is synchronized when the Managed server starts up connecting to the domain’s Administration Server.
The Managed servers can be configured in a WebLogic server in three different ways, which are as follows:
1. WebLogic scripting tool
2. Administration Console
3. Domain Configuration wizard
When the WebLogic server’s Administration server is not available, then the Managed server goes into an independent mode to carry out its own set of operations. But as usual, the Managed server connects with the Administration server during its own startup and always maintains a read-only copy of the configuration file with itself.
The boot.properties file is available under domain/servers/<YOUR_SERVER_NAME>/security folder. This file is used by both the Administration server and/or a Managed server to get the login credentials from it.
The config.xml is something like a centralized repository of all details that are required for a domain. Each and every configuration that is made from any mode of connection would be registered in this file for common access. WebLogic Server 9.x onwards, it also contains the references to other XML configuration files that are available under the domain/config folder.
Secure Sockets Layer (SSL) provides a very well-secured connection allowing applications that connect over a network to authenticate in order to identify each others’ identity. By authenticating so, it allows the Server and optionally the Client to verify its identity on a network connection. The data that gets transmitted between the server and client is encrypted which will only be for the intended recipients.
MSI stands for Managed Server Independence. A Manage Server can work independently when the Administration server is not available. In order to start a Managed Server in the MSI mode, then you will have to perform the following:
1. There should be a config subdirectory under the Managed server’s root directory.
2. Start the Managed server from CLI (command line interface) or by using a script.
You can enable or disable this by checking or unchecking the following checkbox:
IIOP is a protocol that helps with the communication between WebLogic servers and Object Request Brokers.
The Sun HotSpot JDK is the default JVM that is available for development whereas JRockit is the JVM that is used for the production of WebLogic servers. Based on the OS that is being used, the choice of Certified JDK / JVM depends.
The process to change the default JVM to another one is as follows:
1.Update the JAVA_HOME variable in the start script of the server
2. Modify your config.xml of the domain to point it to JRockit javac.exe
3. Check and modify accordingly to clip off any references to Sun JVM from the startup scripts.
To create pooling in the Tomcat server, follow the steps mentioned below:
1.Download and add these jars to the Tomcatlib folder - commons-dbcp-1.2jar, commons-pool-1.3.jar, commons-collections-3.1.jar.
2. Provide an entry in the server.xml under the Tomcatconfig folder.
The process of grouping a certain set of servers to attain high availability and scalability is called Clustering. Communication within a Cluster happens via a multicast IP by sending periodic messages called Heartbeat messages.
Clustering can be done in two forms - Horizontal and the other one is Vertical.
1. Vertical Clustering makes use of multiple Java Application servers on one Physical machine. The CPU usage, the Machine’s processing power, and the JVM heap memory are the main factors that help us decide how many instances should be run on one machine with Vertical Scaling.
2. Horizontal Clustering makes use of multiple Java Application servers on more than one Physical system. This is much more reliable than Vertical Clustering as there are many more machines than in the Cluster when compared to one machine in Vertical Clustering.
There are two ways by which the WebLogic server makes a note of the participating server nodes’ availability:
1. If a participating server node fails to emit 3 consecutive heartbeat messages, then the other server nodes consider that this server node is OFFLINE or UNAVAILABLE.
2. If there are any kind of socket failures corresponding to a specific server node, then WebLogic considers that the server node where these socket failures are reported to be UNAVAILABLE.
The three main advantages that WebLogic server clustering brings are as follows:
High Availability:
High Availability is achieved in the WebLogic server by a combination of the following features - Failover, Replication, and also with the migratable services. With these, we can use WebLogic seamlessly without worrying even when a participating node is down or unavailable.
Load Balancing:
All server nodes are distributed to receive requests, thereby load balancing is achieved in the WebLogic server.
Scalability:
We can add server instances without deteriorating or bringing down the applications - hence we can scale as per the request load. This doesn’t impact the clients.
Node Manager is a Java-based utility that comes in handy to perform some common operations for a given Managed server. It runs as a totally different service than from the WebLogic server.
Stubs perform the removal of nodes from the WebLogic server cluster, whenever it identifies one. DNS comes into the picture for the stubs to identify working server nodes and the list of available nodes gets updated periodically to keep the whole cluster available.
Unicast is an option by which a packet can be sent point to point, to a specific member but not to everyone. This makes it much more like a private conversation between two specific members instead of a group chat or etc.
Multicast, on the other hand, is more like a broadcast UDP option by which every member in the group is notified with the packet or announcement. The defined range for Multicast addresses are 224.0.0.1 to 239.255.255.255, so the message that is announced is more like a common one and available for every member.
A server crash can be understood as a situation where the JAVA process no longer exists. On the other hand, A server hang issue is when the server doesn’t respond back with proper responses. In such a case, we can collect multiple sets of dumps from the server and analyze the issue which is causing this lowered performance.
Following could be the possible reasons for a server crash, though it is not limited to just these scenarios but the reasons can span much more than these:
A server crash always comes with a corresponding hs_err_pid file which contains the actual cause of the crash in the first place. You can refer to this file and identify the cause of the issue and basis on that, we can take the next steps:
1.If it is a driver related issue, reach out to the respective driver teams
2.If it is related to the Native IO issue, kindly disable it and find an appropriate cause.
A server hang issue is relatively different from a server crash, where there could be possibly different sets of reasons for it to happen - lack of resources, unimaginable load, other parameters that affect the system, etc.
Firstly we can use the following command to see if you get a good response:
1.java Weblogic.admin ping
2.Based on the outcome of this command, you can probably check for the cause of the issue.
There can possibly the following possibilities for an OUT OF MEMORY issue:
Sun's implementation of the JVM is called the HotSpot and is also shipped in the JDK, JRE from Sun / Oracle. BEA JRockit JVM is a custom implementation from BEA for reliability, performance for the server-side applications. For this to be achieved, BEA JRockit JVM uses hot spot detection, code generation, advanced garbage collection, tight OS integration.
Tuning the JVM parameters:
The performance of a WebLogic server can be done at 4 different levels, which are as follows:
JVM Tuning:
Core server Tuning:
OS Tuning:
Application Tuning:
This is the process of tuning your WebLogic core server with the following parameters to consider - chunk pool, chunk size, tune work manager, connection backlog buffering, etc.
There are two different modes in the WebLogic server - namely Development mode and Production mode. Differences between these modes are as follows:
Development Mode | Production Mode |
Default JDK is Sun HotSpot | Default JDK is BEA JRockit |
Usage of demo certificates for SSL is allowed | Usage of demo certificates for SSL will throw warnings. |
Auto-deployment to ADMIN server (only) is enabled by default | Auto-deployment to ADMIN server (only) is disabled by default |
On startup, server instances rotate their log files | Server log files rotate when they reach a limit of 5MB |
ADMIN server uses an automatically created boot.properties file for the login credentials. | ADMIN server prompts for credentials during startup |
Default of maximum JDBC data sources is 15 | Default of maximum JDBC data sources is 25 |
The classLoader analysis tool, Web Service test client is available | The classLoader analysis tool, Web Service test client is not available |
Node Manager login credentials are the same as Admin Server credentials | Node Manager login credentials are randomly generated |
To switch from Development mode to Production mode, you’ll have to modify the PRODUCTION_MODE parameter in the setDomainEnv.cmd file available under the $root_domain/bin folder. Set a value TRUE and save your changes and on a restart, the WebLogic server starts in Production mode.
A WebLogic cache server (also known as a Reverse Proxy) helps speed up the Web traffic. The basic understanding is that the Web traffic can be graphic intensive and there is a definite need for caching the repetitive pages. If not done, then it might slow down the Web traffic.
The need to clear the WebLogic Cache comes in when you go for a newer version deployment. That is when we need to clear the WebLogic Cache.
We can achieve this by the following means:
HTTP Tunneling is the process by which you simulate stateful socket communication between your WebLogic server and the corresponding Java Clients, where the requirements demand only the usage of the HTTP protocol. This is generally used to tunnel through an HTTP port under a security firewall. Though HTTP is a stateless protocol, the WebLogic server facilitates the HTTP tunneling feature to mask a connection to appear as if it was a T3Connection.
To enable HTTP Tunneling in the WebLogic Server, the following has to be done:
Explore WebLogic Sample Resumes Download & Edit, Get Noticed by Top Employers! |
WebLogic makes use of the T3 protocols for both internal and external communications. T3 protocol is used in WebLogic's own implementation of RMI (Remote method invocation). On the other hand, HTTP protocol is used for all communications between the browser and a Web server as per the W3C standards.
The error codes within WebLogic Server range from BEA-000001 to BEA-2163006. The types of errors that these mentions are classified as below:
1. INTERNAL_ERROR
2. ERROR
3. NOTIFICATION
4. WARNING
Our work-support plans provide precise options as per your project tasks. Whether you are a newbie or an experienced professional seeking assistance in completing project tasks, we are here with the following plans to meet your custom needs:
Name | Dates | |
---|---|---|
WebLogic Training | Nov 23 to Dec 08 | View Details |
WebLogic Training | Nov 26 to Dec 11 | View Details |
WebLogic Training | Nov 30 to Dec 15 | View Details |
WebLogic Training | Dec 03 to Dec 18 | View Details |
Ravindra Savaram is a Technical Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.