Wednesday, July 15, 2020

DataSource and Connection Pooling

DataSource and Connection Pooling


Thread Dump

Thread Dump


Thread dump provides a snapshot of the current active live threads. It provides the stack trace of all the java threads in the JVM. It is used when the server is hung and we want to see the threads executing and take their dump.

There are different ways to take thread dump.

1.Command line:  use the below command when you know the port number. just run the same command 3 times in 5 sec intervel of gaps.
kill -3 PID

2.WebLogic.Admin utility:  javaWebLogic.Admin adminurl -username WebLogic -password WebLogic1 THRED_DUMP

3.Admin console: 
Step1: login to the admin console
Step2: Click on server
Step3: Navigate to servers
Step4: Click monitor tab
Step5: Click on tread
Step6: Click on the dumpthread stack.

Location of the Thread Dump:  
/DOMAIN_NAME/servers/logs/KK_stdout.log

======================================================

Thread Dump:

  1. What is Thread dump?
  2. When we will take Thread dump? (Scenarios)
  3. How  Many  ways take Thread Dumps
  4. Thread Dump Generating Procedure
  5. What can I Analysis with Thread Dump?
  6. How can I analysis thread dump?
  7. Actions taken for Issue resolving
  8. References


Coming to step by step learning:
--------------------------------

What is Thread dump?

Thread Dump is a textual dump of all active threads and monitors of Java apps running in a Virtual Machine.

When we will take Thread dump? (Scenarios)

1.  Scenario 1: when server is hang Position, i.e. that time server will not respond to coming requests.

2.  Scenario 2: While sever is taking more time to restart

3.  Scenario 3: When we are Getting exception like “java.lang.OutOfMemoryException”

4.  Scenario 4: Process running out of File descriptors. Server cannot accept further requests because sockets cannot be created

5.  Scenario 5: Infinite Looping in the code


How many ways take Thread Dumps?

Many types we have to take a Thread dumps. As per your flexibility you can choose one Procedure. For analyzing take dumps some Intervals (like every 10mins, 10mins etc.).



Generating Dump Talking Procedures

1. Take Thread dump from Console by Using of below command
    $kill -3 PID
   (For Getting PID, Use this Command ps –ef | grep “java”)
Here The Output of the Thread Dump will be generated in the Server STDOUT.
(Note: If a process is not responding to kill -3 then it’s a JVM bug.)


2. Generation Thread Dump via Admin Console

a.  login to Admin Console(with Admin Username/Password)
b.  Click on Server, after choose your server
c.  Goto Monitoring TAB
d.  Goto Threads TAB, after click on “Dump Thread Stack” Button
e.  Now you can view the all the Threads in Same page
f.  Copy and paste in a txt file.

3.  We can Collect Thread Dump Using “WebLogic.Admin” which is deprecated, but still available or may be available in near future as well As i think because it is one of the best debugging utility for Admins.

  java WebLogic.Admin -url t3://hostname: port -username Weblogic -password Weblogic THREAD_DUMP


This Thread Dumps will be generated in Servers STDOUT file


4. Getting Thread Dumps by using Jstack Utility

    a.jstack –m  (to connect to a live java process)

    b. jstack –m [server_id@]
                (to connect to a remote debug server)
    (-m Means print both java and native frames (mixed mode)) 

5. By Using WLST Script, can contain extension of (.py)

connect(‘weblogic’,'weblogic’,'t3://hostname:port′) cd (”Servers’) ls() cd (‘AdminServer’) ls() threadDump()

 Execute this Script in console. 

What can I Analysis with Thread Dumps?
We need to analyze the thread dumps for analyzing running threads and their states to identifying.

How can I analysis thread dumps?

For analyze thread dumps we have lots of tools to understand easily thread states

1.  samurai tool :

    In this tool you can identify all the Thread states by     identifying colors. We need to take care about Deadlocks and waiting state threads.

   More Details:

    $ java -jar samurai.jar

     After running we will get a Screen like below



     Goto Thread dump tab
    When Samurai detects a thread dump in your log, a tab named "Thread Dump" will appear.



You can just click "Thread dumps" tab to see the analysis result. Samurai colors idle threads in gray, blocked threds in red and running threds in green. There are three result views and Samurai shows "Table view" by default. In many case you are just interested in the table view and the sequence view. Use the table view to decide which thread needs be inspected, the sequence view to understand the thread's behavior. You should takecare especially threds always in red.
  


2.  TDA Tool :

 Actions taken for Issue resolving

1.  Classic Dead Locks : Look for the threads waiting for monitor entry

For Example :

"ExecuteThread: '95' for queue: 'default'" daemon prio=5 tid=0x411cf8 nid=0x6c waiting for monitor entry [0xd0f80000..0xd0f819d8]
    at weblogic.common.internal.ResourceAllocator.release(ResourceAllocator.java:766)
    at weblogic.jdbc.common.internal.ConnectionEnv.destroy(ConnectionEnv.java:590)
Reason: The above thread is waiting to acquire lock on Resource Allocator object. The next step is to identify the thread that is holding the Resource Allocator object
"ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x41b978 nid=0x77 waiting for monitor entry [0xd0480000..0xd04819d8]
    at weblogic.jdbc.common.internal.ConnectionEnv.getPrepStmtCacheHits(ConnectionEnv.java:174)
    at weblogic.common.internal.ResourceAllocator.getPrepStmtCacheHitCount   (ResourceAllocator.java:1525)
Reason: This thread is holding lock on source Allocator object, but is waiting for Connection Env object. This is a classic deadlock.

     

2.  Threads in wait() state:
   A sample dump:

"ExecuteThread: '10' for queue: 'SERV_EJB_QUEUE'" daemon prio=5 tid=0x005607f0 nid=0x30 in Object.wait() [83300000..83301998]
  at java.lang.Object.wait(Native Method)
  - waiting on <0xc357bf18> (a weblogic.ejb20.pool.StatelessSessionPool)
at weblogic.ejb20.pool.StatelessSessionPool.waitForBean(StatelessSessionPool.java:222)

Reason: The above thread would come out of wait() under two conditions
 (Depending on application logic)
1) One of the thread available in the execute queue pool would call notify() on this object when an instance is available. (If the wait() is indefinite).
  This can cause the thread to hang for ever if server never does a notify() to this object.

2) If the timeout exceeds, the thread would throw an exception and back to execute queue thread pool.

Configure Apache with Weblogic Server

Configure Apache with Weblogic Server


Steps to configure Apache plugin 2.2 with Weblogic Server :


- Download the latest plugin from the link below :
Link : http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html
- Now unzip the file that you have downloaded. ( Eg : WLSPlugin1.1.zip ).
- Now copy all the files present under ” WLSPlugin1.1\Apache_2.2\lib ” to ” /bin ” folder.
( Note : Do not copy ” libapr-1.dll ” ).
Copy ” mod_wl.so ” from  ” WLSPlugin1.1\Apache_2.2\lib ” to ” APACHE_HOME/modules ” folder
- Take a backup of httpd.conf file present in ” APACHE_HOME\conf\ ” folder.
- Edit the httpd.conf file and make the following changes 
# for a single server


LoadModule weblogic_module modules/mod_wl.so

<IfModule mod_weblogic.c> 
WebLogicHost 127.0.0.1 
WebLogicport 7001
MatchExpression *
Debug ON
WLLogFile c:/global_proxy1.1.log
DebugConfigInfo On 
</IfModule&gt


<Location > 
SetHandler weblogic-handler 
</Location >

 Now start the Apache server and weblogic server.
- Access http://localhost:7001/console

****************************************************************************** Configure Apache with Weblogic Server

Step 1) Make sure the Apache server runs on port 8080.
(This is because sometimes IIS, or some antivirus softwarew runs on that port).
This can be done by modifying the httpd.conf present at,
\Apache2\conf\httpd.conf

Modify the Listen port to 8080

Step 2) Copy the mod_wl_20.so from \wlserver_10.3\server\plugin\win\32 to
\Apache2\modules
Step 3) Add these lines in the httpd.conf file
 LoadModule weblogic_module modules/mod_wl_20.so

<Location />
SetHandler weblogic-handler
</Location>

<IfModule mod_weblogic.c>
      WebLogicCluster localhost:7003 ,localhost:7005
     Debug ON
     WLLogFile c:/temp/wlproxy.log
     WLTempDir c:/temp
</IfModule>


Step 4) Restart Apache and access the application deployed on the Cluster using
http://localhost:8080/YourApp

This will forward the request to the Weblogic Cluster
You can check the headers sent and received to WLS in wlproxy.log file.

Node Manager

Node Manager


Node Manager in Oracle Weblogic Server















Node Manageris Weblogic Server utility to start, stop and restart Admin and Managed Server Instances from remote location.
1. Node Manager Process is associated with a Machine and NOT with specific Weblogic Domain (i.e. Use one node manager for multiple domains on same machine)
2. There are two versions of Node Manager - Java-based and Script-based
Java-based node manager - runs with in JVM (Java Virtual Machine) Process and more secure than script-based node manager. Configuration for java-based node manager are stored in nodemanager.properties
Script-based node manager - is available for Linux and Unix systems only and is based on shell script.
3. There are multiple ways to access Node Manager
- From Administration Console : Environments -> Machines -> Configuration -> Node Manager
- JMX utilities (Java Management eXtension) 
- WLST commands (WebLogic Scripting Tool)
4.Default port on which node manager listen for requests is localhost:5556, When you configure Node Manager to accept commands from remote systems, you must uninstall the default Node Manager service, then reinstall it to listen on a non-localhost (IP’s other than 127.0.0.1) listen address.
5. Any domain created before creation of Node Manager Service will not be accessible via node Manager(even after restarting node manager), solution is to run the WLST command “nmEnroll” to enroll that domain with the Node Manager.
6. Any domains created after the Node Manager service has been installed should not have to be enrolled against the Node Manager. The Node Manager should automatically be ‘reachable‘ by the domain.

How to Configure Node Manager ?
1.Configure each computer (on which you wish to use Node Manager) as a Machine in WebLogic Server
Environments -> Machines -> New (Add Machine)
Environments -> Machines -> Machine Name (created above) -> Configuration -> Node Manager

2. Assign each server instance to Machine.
Environments -> Machines -> Machine Name (created above) -> Configuration -> Servers -> Add (Add Server running on this node which you would like to monitor using Node Manager)

3. Enroll domain (created before installation of Node Manager) to Node Manager
Unix /Linux
cd $BEA_HOME/user_projects/domains//bin/
setDomainEnv.sh
java weblogic.WLST
wls> connect(’weblogic’,'weblogic’, ‘t3://mymachine.mydomain:7001′)
wls> nmEnroll(’$BEA_HOME/user_projects/domains/’, ‘$BEA_HOME/wlserver_/common/nodemanager’)
where “mymachine.mydomain:7001″ is the reference to the Admin Server of the domain to which the server and machine definition belongs

How to start Node Manager ?
$WL_HOME\server\bin\startNodeManager.sh (startNodeManager.cmd on Windows)

Important Configuration files
– $WL_HOME/common/nodemanager/ nodemanager.properties, nodemanager.domains, nm_data.properties
–$DOMAIN_HOME/config/nodemanager/nm_password.properties

–$DOMAIN_HOME/servers//data/nodemanager/ boot.properties, startup.properties, server_name.addr, server_name.lck, server_name.pid, server_name.state

Node Manager Log Files
$WL_HOME/common/nodemanager/nodemanager.log

Difference between web server and application server

Difference between web server and application server:




Webserver

                  Application Server

1)  Webserver handles the HTTP protocol. When the Web server receives an HTTP request, it responds with an HTTP resp, such as sending back an HTML page.
1)      It serves business logic to application programs through any number of protocols.
2)  Contains Web-container.
2)Contains web container and EJB Container.
3)  Web Server serves static HTML pages or gifs, jpegs, etc., and can also run code written in CGI, JSP etc.

3) Application server is more capable of dynamic behavior than webserver. We can also configure application server to work as a webserver. Simply application server is a superset of webserver.
4)   Web Server only supports Servlets and JSP.

4) Application Server supports distributed transaction and EJB.
5)      Ex: Apache
5)Ex: Weblogic, Websphere
6)      No Multi-threading
6)Supports Multi-threading
7)     In WL 8.x licence.beafile is present to update the licence,
 7) Where as in WL 9&10 there is no licence.bea file. If we want we can import from oracle site.

Weblogic Interview Questions



1. What is Weblogic?
Answer: WebLogic is a J2EE application server and also an HTTP web server by Oracle, for Unix, Linux, Microsoft Windows, and other platforms. WebLogic supports Oracle, DB2, Microsoft SQL Server, and other JDBC-compliant databases.

2. What is SSL in WebLogic?
Answer: Secure Sockets Layer (SSL) provides secure connections by allowing two applications
connecting over a network connection to authenticate the other’s identity and by encrypting the data
exchanged between the applications. Authentication allows a server and optionally a client to verify the
identity of the application on the other end of a network connection. Encryption makes data transmitted
over the network intelligible only to the intended recipient

3. How many ways to start and stop WebLogic servers?
Answer:
There are many ways to start & stop WebLogic Admin and managed servers:

You can start and stop Admin Server using :
1) Script
2) “Java Weblogic.server “command(The WebLogic.Server class is the main class for a WebLogic Server
instance)
3) From startup option on windows
4) WLST with or without node manager

You can start managed servers using:
1) scripts
2) admin console
3) using WLST
4) using node manager
5) java WebLogic.server command( The WebLogic.Server class is the main class for a WebLogic
Server instance )

4. What is the difference between T3 and HTTP protocol?
Answer: WebLogic uses the T3 protocols for internal and external connections to the servers. The T3 protocol often is used in WebLogic implementation of RMI. Proprietary of WebLogic Server.
Http protocols are used primarily for HTTP communication between the browser and the webserver. Standard follows the W3C (World Wide Web Consortium).
Note: All of these protocols are, by default, multiplexed over the same connection to the server’s address and port. So you can access a web page hosted by the server using a URL such as An external client can set up an initial JNDI context to a server using the URL t3://host: port/. All that has changed is the protocol over which the client must communicate with the server.

5. What are the States of the Weblogic Server?
Answer:
There are 9 states of the server which are given below

    Shutdown
    Starting
    Standby
    Resuming
    Running
    Suspending
    Shutting down
    Failed

6. How Administration Server And Managed Servers Will Interact?
Answer: The Administration Server stores the master copy of the domain configuration, including the configuration for all Managed Servers in the domain. Each Managed Server stores a local copy of the domain configuration file. When a Managed Server starts, it connects to the Administration Server to synchronize the configuration. When the configuration is changed, the Administration Server sends the changed configuration to the Managed Servers.

7. What Is Boot?properties File In Weblogic Server?
Answer: boot.properties is the file used by admin or managed server during startup for username and password. it exist under your domain/servers/server_name/security folder.

8. What Is Config.xml?
Answer: config.xml is the central configuration repository for a domain. every resource you have configured from the admin console or by command line or by any other tool registered under this file.WLS 9.x onwards, this file contains references to other xml configuration files also those are under your domain/config folder ( further subfolder under it for respective resources ).

9. What Is Multicast And Unicast In Weblogic?
Answer: Multicast: Multicast is easier to explain over Unicast. Multicast is a broadcast UDP option for sending a packet/announcement over to a group that is listening on a specific multicast address and port over which the announcement is sent. There is a defined range for valid Multicast address (224.0.0.1 to 239.255.255.255). Everyone listening on the given address hears the announcement just like following a Twitter post. Some limitations with Multicast is the TTL (time to live) across machines/subnets/routers needs to be adjusted and the routers configured to retransmit the multicast packet across subnets
Unicast: Unicast is more of a point to point UDP option to send the packet to a specific member and not everyone. That way, unicast is more of a private conversation between two individuals while multicast is more of a shout to a group or room. Both are UDP based, so there can be losses, unlike TCP that handles retransmissions on message loss. But Unicast can span across routers and does not have to worry about TTL without the everyone hearing the announcement. So, Network Admins, in general, prefer to go with Unicast over Multicast for these reasons.

10. Explain The Methods For Providing User Credentials For Starting The Server?
Answer: At the time of the creation of domain, the wizard for setting configuration asks for the details like user name, password, etc. from the user who is logging in for the first time as an administrator. If the domain is created in development mode, the configuration wizard saves the encrypted password as well as the username inside an identity file. This file is available for reference during the time of booting so that in the absence of this file, the system can prompt the user for the purpose of entering credentials. A new boot – identity file can be created if you want to change the user credentials or else if you are having the requirement of creating a domain in the production model.

11. What is the easiest way to set the classpath?
Answer: WebLogic Server installs the following script that you can use to set the classpath that a server requires:
WL_HOME\server\bin\setWLSEnv.cmd (on Windows)
WL_HOME/server/bin/setWLSEnv.sh (on UNIX)

12. How many types do you configure managed server in WebLogic server?
Answer:
Three types
1)Domain Configuration Wizard
2)Administration Console
3)Weblogic Scripting Tool

13. How do you set the classpath?
Answer: WebLogic Server installs the following script that you can use to set the
classpath that a server requires:
WL_HOME\server\bin\setWLSEnv.cmd (on Windows)
WL_HOME/server/bin/setWLSEnv.sh (on UNIX)

14. How does a server know when another server is unavailable?
Answer: WebLogic Server uses two mechanisms to determine if a given server instance is unavailable. Each
WebLogic Server instance in a cluster uses multicast to broadcast regular “heartbeat” messages that
advertise its availability. By monitoring heartbeat messages, server instances in a cluster determine when
a server instance has failed. The other server instances will drop a server instance from the cluster if
they do not receive three consecutive heartbeats from that server instance
WebLogic Server also monitors socket errors to determine the availability of a server instance. For
example, if server instance A has an open socket to server instance B, and the socket unexpectedly closes,
server A assumes that server B is offline

15. How Can Port Number Be Checked?
Answer: Port number can be checked by using netstat-na|grep connected.

16. What Are The Various Types Of Weblogic Installations?
Answer:
The WebLogic installation usually occurs in three different modes which are:

    Graphical mode
    Console mode
    Silent mode.

17. Explain The Term Clustering?
Answer: Clustering is the process of grouping the servers together for accomplishing high percentage of scalability and availability.

18. What Is The Purpose Of Clustering?
Answer: The major goal of performing the process of clustering is to make high scalability as well as the availability of the servers possible. This process also helps in balancing the load in a proper manner and also accomplishes failover.

19. How Can Cluster Communication Occur?
Answer: The communication through cluster is made possible by the multicast IP as well as a port by the process of sending periodic messages which are normally called as heartbeat messages.

20. We often see BSU when using WebLogic. What is the meaning of BSU?
Answer: Oracle bought Weblogic from BEA. BSU Stands for Bea Smart Update. This utility is used to apply the WebLogic Server Patches. In simple terms, it is the first letter of the name of founders Bill Coleman, Ed Scott, and Alfred Chuang.

21. Is There Any Possibility For Starting Managed Server During The Absence Of Administrator Server?
Answer: The usual process is that in case of any difficulty for the management server to get connected to any administration server at the time of start-up, there is an option for the managed server to retrieve the configuration related to it from the configuration files as well as other files involved. The information thus retrieved cannot be altered and it is possible only when the administration server is really available. When the administration server is unavailable, then the managed server enters into its independence mode for carrying out its operations.

22. What are the modes of operation for Weblogic server domains?
Answer:
There are two modes
Development mode:
You use development mode while you are developing your applications. Development mode uses a relaxed security configuration and enables you to auto-deploy applications.
Production mode:
You use production mode when your application is running in its final form. A production domain uses full security and may use clusters or other advanced features.

23. What is Horizontal and vertical clustering?
Answer: There are two methods of clustering Horizontal and Vertical.
Horizontal clustering: involves running multiple Java application servers that are run on two or more
separate physical machines.
Horizontal scaling is more reliable than vertical scaling since there are multiple machines involved in the
cluster environment, as compared to only one machine
Vertical clustering: however, consists of multiple Java application servers on a single physical machine.
With vertical scaling, the machine’s processing power, CPU usage, and JVM heap memory configurations
are the main factors in deciding how many server instances should be run on one machine.

24. What is the Basic Components of Weblogic Server?
Answer: These are the basic WebLogic components
1)Domains
2)Admin Server
3) Managed Server
4) Node Manager
5) Weblogic Server Cluster

25. What are stating modes are available in Weblogic Server?
Answer:
There are three starting modes are available:
1) Stage mode: Administration Server copies the deployment files from their original location on the
Administration Server machine to the staging directories of each target server
2) External Stage: target servers deploy using local copies of the deployment files, here the
Administration Server does not automatically copy the deployment files to targeted servers in
external_stage mode; instead, you must copy the files to the staging directory of each target server before
deployment.
3) No Stage: The Administration Server does not copy deployment unit files; instead, all servers deploy
using the same physical copy of the deployment files, which must be directly accessible by the
Administration Server and target servers

26. What is a Thread dump? How will you take in Unix/Linux and windows?
Answer:
A Java thread dump is a way of finding out what every thread in the JVM is doing at a particular
point in time. This is especially useful if your Java application sometimes seems to hang when running
under load, as an analysis of the dump will show where the threads are stuck.
1) Linux : kill -3 2) Windows (console mode): crtl+break
3) Windows (service): basic -dump -svc name:mydomain_myserver

27. What are the supported installation modes for WebLogic Server?
Answer:
Graphical mode, console mode, and silent mode.

28. What is the function of T3 in WebLogic Server?
Answer:
The enhancements support for WebLogic Server messages is provided by T3. These enhancements include object replacement, which works in WebLogic Server clusters’ context and HTTP. Java Object Serialization, RMI predation is done by T3. T3 is a superset of java Object. Serialization and RMI can be done over T3.
Between WebLogic Servers, and between programmatic clients & a WebLogic Server cluster, T3 is mandated. To communicate between processes and WebLogic Server, the protocols HTTP and IIOP can be used and optional. The HTTP is used to communicate between a browser and a WebLogic Server. The IIOP is used to communicate between an Object Request Broker and WebLogic Server

29. How do stubs work in a WebLogic Server cluster?
Answer: The enhancements support for WebLogic Server messages is provided by T3. These enhancements include object replacement, which works in WebLogic Server clusters’ context and HTTP. Java Object Serialization, RMI predation is done by T3. T3 is a superset of java Object. Serialization and RMI can be done over T3.
Between WebLogic Servers, and between programmatic clients & a WebLogic Server cluster, T3 is mandated. To communicate between processes and WebLogic Server, the protocols HTTP and IIOP can be used and optional. The HTTP is used to communicate between a browser and a WebLogic Server. The IIOP is used to communicate between an Object Request Broker and WebLogic Server.

30. Can We Start A Managed Server If The Administration Server Is Unavailable?
Answer: By default, if a Managed Server is unable to connect to the specified Administration Server during startup, it can retrieve its configuration by reading a configuration file and other files directly. You cannot change the server’s configuration until the Administration Server is available. A Managed Server that starts in this way is running in Managed Server Independence mode.

31. What Is A Weblogic Server Cluster?
Answer: A WebLogic Server cluster consists of multiple WebLogic Server server instances running simultaneously and working together to provide increased scalability and reliability.
A cluster appears to clients to be a single WebLogic Server instance. The server instances that constitute a cluster can run on the same machine, or be located on different machines.
You can increase a cluster’s capacity by adding additional server instances to the cluster on an existing machine, or you can add machines to the cluster to host the incremental server instances.
Each server instance in a cluster must run the same version of WebLogic Server.

32. Explain about WebSphere MQ Real-time transport?
Answer:
WebSphere MQ Real-time Transport is a lightweight protocol optimized for use with nonpersistent messaging.
It is used by JMS clients and provides high levels of scalability and message throughput.
WebSphere MQ Real-time Transport is ideal for applications where large numbers of messages need to be sent or where messages need to be sent to large numbers of client applications.
The WebSphere MQ Real-time Transport does not provide any facilities for persistent messaging or durable subscriptions.

33. Explain the concepts and capabilities of ANT?
Answer: Open: Ant is an open source project available under the Apache license. Therefore, its source code can be downloaded and modified. Additionally, Ant uses XML build files which make its development easy.
Cross-Platform: Use of XML along with Java makes Ant the perfect solution for developing programs designed to run or be built across a range of different operating systems.
Extensible: New tasks are used to extend the capabilities of the build process, while build listeners are used to helping hook into the build process to add extra error tracking functionality.
Integration: As Ant is extensible and open, it can be integrated with any editor or development environment easily.

34. What is C-HTML?
Answer: Compact-HTML (a subset of HTML for small information devices) was created by Japan-based Access Company and was accepted by the W3CM in 1998.
Devices like cellular phones have several hardware restrictions like small memory, low power CPUs, small mono-color display screens and restricted input methods.
CHTML does not support JPEG images, tables, image maps, multiple fonts and styles of fonts, background colors and images, frames, style sheets and more than two colors, typically black and white.
The basic operations can be done by a combination of four buttons:
cursor forward
cursor backward
select
back/stop

35. What is the difference in the web.xml and weblogic.xml?
Answer: An application-specific XML-based deployment descriptor file named web.xml, which lists your application’s J2EE components and their configurations as J2EE modules. Each J2EE module is a collection of one or more J2EE components of the same container type (Web or EJB) that are represented by one component deployment descriptor for that type in the web.xml file.
A WebLogic-specific deployment descriptor file named weblogic.xml, which defines how named resources in the web.xml file are mapped to WebLogic Server resources. Examples of weblogic.xml attributes include HTTP session parameters, HTTP cookie parameters, JSP parameters, resource references, security role assignments, and container attributes.

36. How to change from default JVM to others?
Answer: When you upgrade a domain to WebLogic Server 8.1, consider upgrading your JVM to JRockit. WebLogic JRockit is a JVM designed for running server-side applications in Windows and Linux running on Intel architectures. For server-side applications, JRockit has these advantages over other virtual machines:
It employs adaptive optimization, which detects and removes bottlenecks in the deployed application.
It is designed specifically for the special requirements of server-side applications, which tend to be parallel and thread-intensive, to run for longer periods of time, and not to use graphical interfaces.
You can monitor JRockit using the WebLogic Server Administration Console.
Steps to change:
In the server start scripts, set JAVA_HOME (or equivalent) shell variables to point to the JRockit root directory. For example, change:
@rem Set user-defined variables.
set JAVA_HOME=WL_HOME\jdk131
where WL_HOME is the WebLogic Server 7.0 installation directory, to
@rem Set user-defined variables.
set JAVA_HOME=WL_HOME\jrockit81_141_02
where WL_HOME is the WebLogic Server 8.1 installation directory.
Change the domain’s config.xml to use the JRockit javac.exe. For example, change
JavaCompiler=”WL_HOME\jdk131\bin\javac”
where WL_HOME is the WebLogic Server 7.0 installation directory, to
JavaCompiler=WL_HOME\jrockit81_141_02\bin\javac”
where WL_HOME is the WebLogic Server 8.1 installation directory.
Remove from server start scripts any switches specific to the Sun JVM. For example, from the start command:
echo on “%JAVA_HOME%\bin\java” -hotspot …. WebLogic.Server delete “-hotspot”

37. How to make a managed server?
Answer: v Backup the configuration by rename config.xml with config.xml_date
v Configure the changes in the start managedWebLogic.sh /cmd with WebLogic home and java home and give the admin servers URL updated
v Go to WebLogic admins console and add a managed server and give the IP and port of the managed server. all the changes confirmed then start the server using start managedWebLogic.sh script present in the domain bin.

38. What is a license file?
Answer: now you need to register with Oracle Support ID to get updated license xml file.

39. How to configure a DB connection pool?
Answer:
Choose the DB type (Oracle, Sybase, Mysql, etc…)
Then choose the driver type for the DB.
Give the connection pool name.
Give the DB Service ID, schema name and password.
Then it will ask for testing the connection pool/DataSource.
After a successful connection, it will ask you to create and deploy the connection pool target to server or cluster. After creating a new connection pool always point the JDBC store to the connection pool created. This is required because A JMS JDBC store will be used for persistent messaging.
After each JDBC connection, we have to restart the server if there are startup classes dependancy exists otherwise no restart required in WebLogic 9.x and higher versions.

40. What is JNDI?
Answer: Java Naming and Directory Interface
Applications use naming services to locate objects data sources, EJBs, JMS, MailSessions, and so on within the WebLogic domain. A naming service associates names with objects and finds objects t3 protocol will be used. (The RMI registry is a good example of a naming service.)
JNDI provides a common-denominator interface to many existing naming services, such as LDAP (Lightweight Directory Access Protocol) and DNS (Domain Name System). These naming services maintain a set of bindings, which relate names to objects and provide the ability to look up objects by name. JNDI allows the components in distributed applications to locate each other.
The WebLogic Server implementation of JNDI supplies methods that:
Give clients access to the WebLogic Server naming services
Make objects available in the WebLogic namespace
Retrieve objects from the WebLogic namespace

41. What Is The Advantage Of Clustering?
Answer:
WebLogic clustering offers three important benefits:
1. Scalability: The capacity of an application deployed on a WebLogic Server cluster can be increased dynamically to meet demand. You can add server instances to a cluster without interruption of service — the application continues to run without impact to clients and end-users.
2. Load balancing: The ability to distribute requests across all members of the cluster, according to the workload on each server.
3. High availability: A mix of features that ensure applications and services are available even if a server or machine fails. Clients can continue to work with little or no disruption ina highly available environment. WebLogic achieves high availability using a combination of features: replication, failover, and migratable services.

42. What is extended deployment in WebSphere?
Answer:
WebSphere Extended Deployment delivers enhanced Qualities of Service with features for optimizing IT resources.
The suite comprises of 3 products:
WebSphere Virtual Enterprise:
It increases flexibility and agility to ensure business process integrity, improve service, application performance, and better manage health.
It provides application infrastructure virtualization capabilities that lower costs required to create, manage, and run enterprise applications and an SOA environment.
WebSphere eXtreme Scale:
It is an essential IBM software technology for conducting extreme transaction processing.
It allows business applications to process exceptionally large volumes of transactions with extreme efficiency and linear scalability.
It provides transactional integrity and transparent failover to ensure high availability, high reliability, and constant response times.
It operates as an in-memory data grid that dynamically caches, partitions, replicates, and manages application data and business logic across multiple servers.
Compute Grid:
Enables the scheduling, execution, and monitoring of batch type jobs with enhanced service policy and workload management.