Oracle Weblogic Server Tutorial for Beginners

You, Will, Learn in Weblogic Tutorial

1. Question: Why am I getting “Out of Memory” Errors?

Answer: The byte and message maximum values are quotas – not flow control. Message quotas prevent a WebLogic JMS server from filling up with messages and possibly running out of memory, causing unexpected results. Unless the “Blocking Sends” feature has been implemented, when you reach your quota, JMS prevents further sends with a ResourceAllocationException (rather than blocking). You can set quotas on individual destinations or on a server as a whole. For more information on configuring the “Blocking Sends” feature, see “Avoiding Quota Exceptions by Blocking Message Producers” in the Administration Console Online Help. 

The thresholds are also not flowed control – though they would be better suited to that application than the quotas. The thresholds are simply settings that when exceeded cause a message to be logged to the console to let you know that you are falling behind.

WebLogic JMS also has a flow control feature that enables a JMS server or destination to slow down message producers when it is becoming overloaded. Specifically, when a JMS server/destination exceeds its specified bytes or messages thresholds, it instructs producers to limit their message flow. For more information, see “Controlling the Flow of Messages on JMS Servers and Destinations” in the Administration Console Online Help.

Note: The messages maximum setting on a connection factory is not a quota. This specifies the maximum numbers of outstanding messages that can exist after they have been pushed from the server but before an asynchronous consumer has seen them; it defaults to a value of 10. 

2. Question: How Does a File Store Compare With a JDBC Store?

Answer: The are a number of similarities and differences between file stores and JDBC stores. For a complete listing,See “JMS Stores Tasks” in the Administration Console Online Help.

3. Question: Can Two JMS Servers Share the Same Persistent Store?

Answer: No. Each JMS server must have its own unique persistent store. Two file-based JMS persistent stores may share the same directory, but their messages will be stored in different files. In this case, the filenames will contain different prefixes.

Two JDBC-based JMS persistent stores may share the same database, but they must be configured to use a different Prefix Name which will be prepended to the database tables. For more information on configuring the JDBC Prefix Name, see “Using Prefixes With JMS JDBC Stores” in the Administration Console Online Help. If they are configured with the same Prefix Name, persistent messages will be corrupted and/or lost. 

4. Question: How Do I Use MBeans to Print Runtime Statistics?

Answer: BEA’s dev2dev Web site contains a “JMS Statistics View” program to print JMS statistics based on run-time MBeans. Also, there are JMS Helper methods that allow you to access run-time statistics for JMS connection, destination, consumer, and producer MBeans, as described in the JMS Helper Method Javadoc.

5. Question: How Do I Use a Temporary Destination?

Answer: You must create a template on every JMSServer where you want to be able to create temporary destinations. You can specify multiple JMSServer entries to support a Temporary Template and the system will load balance among those JMSServers to set up the temporary destination. See How do I start WebLogic Server and configure JMS? for a description about how to configure JMS. 

After the template name, you can set any queue/topic attribute you want in the template (not including a JNDI name or topic multicast settings). The template is at the outer most level; that is, it should not be nested in your JMSServer.  

Temporary destinations can only be consumed by creating a connection. Using topics, you create your temporary topic and subscribe to that temporary topic. If you want someone to publish to that temporary topic, you need to tell that someone what your topic is. You can send them a message and include your temporary topic in the JMSReplyTo field. The creator of the TemporaryTopic and the subscriber must be one and the same.

import javax.jms.TopicSession;

TemporaryTopic my topic = mySession.createTemporaryTopic();

TopicSubscriber = mySession.createSubscriber(myTopic);

Temporary topics do not get names and cannot be subscribed to by other connections. When you create a temporary topic, the JMS provider returns a javax.jms.Topic. You then need to advertise that topic to other parties (those who want to publish to the topic), putting it in your JMSReplyTo field so that they can respond. In general, no one else can subscribe to the topic. You advertise the topic any way you want. Topics are Serializable (or in our case, Externalizable), which allows you to pass them around in RMI calls, through a file, binding it to a name in JNDI, etc. In short, create the topic at the subscriber side and advertise so that others can publish. You can get multiple subscribers on the same connection and get concurrent processing using multiple sessions.

6. Question: How Do I Programmatically Get a List of Queues or Topics?

Answer: There are JMS Helper methods that allow you to locate JMS runtime and configuration JMX MBeans. There are also methods for dynamically creating and deleting JMS queue and topic destinations, as described in the JMS Helper Method Javadoc. 

7. Question: Why Do I Get an Error While Trying to Retrieve the Text For ORA-12705?

Answer: This error occurs when you have not set the ORACLE_HOME environment variable properly. In order to use WebLogic driver for Oracle, the Oracle client software needs to be installed and ORACLE_HOME must be set. 

You may also see this error message if you try to use WebLogic driver for Oracle’s internationalization capabilities with a language/codeset combination that is not installed on your system. If you get the ORA-12705 error with the correct error text, then either you have set NLS_LANG improperly, or you do not have the right codesets installed on your system.

8. Question: Why Do I Get “ResourceException: No Resource Available”?

Answer: One common reason is that you have too many consumers (connection users) for the number of configured JDBC connections (Company) in the connection pool or execute threads on the server.

Another reason may be that the refresh testing process has reserved one or more connections for testing so these connections are briefly unavailable.

9. Question: What is the “Connections Total” in the Console?

Answer: The connections total is a cumulative number that indicates how many connections were created during the existence of the pool. 

It is not the total number of connections currently in the connection pool. Connections get added when the connection pool grows or if a bad connection is replaced.

10. Question: Which is Better: All-Java (Type 4) Drivers or Native Drivers (Type 2)?

Answer: The advantages of Type 4 drivers are the same advantages of Java code, namely portability, and safety. Since Java code runs within the Java Virtual Machine, it cannot crash the process. 

The traditional advantage of Type 2 native drivers has been performance. However, with the rapid advances in Java performance, this is no longer always true. In general, JDBC driver performance is dependent on many factors, especially the SQL code used issued and the JDBC driver implementation. 

11. Question: Why Did a Client-Server Message Generate a StackOverflowException?

Answer: If you are sending a particularly large data structure using java.io.Serialization, you may exceed the per-thread size limit for either the Java or native stack. You can increase the stack size by using the following command-line options: 

-ss Stacksize to increase the native stack size or

-oss Stacksize to increase the Java stack size,

where Stacksize is expressed as an integer followed by “k” or “m” for bytes or Mbytes. For example,

$java -ss156k (native)

$java -oss600k (Java)

The default native stack size is 128k, with a minimum value of 1000 bytes. The default java stack size is 400k, with a minimum value of 1000 bytes.

12. Question: What Additional Resources Document JMS Interoperability?

Answer: For general information on WebLogic JMS see the JMS topic page. 

  • The slide presentation “Integrating Foreign JMS Providers with BEA WebLogic Server (from eWorld 2003)” contains sample JMS integration configuration and code.
  • The “Using Foreign JMS Providers with WebLogic Server” white-paper provides helpful sections including, “Creating Foreign JNDI Objects in a Startup Class”, “Configuring JMS Providers”, and “Sample Code”.
  • The “WebLogic JMS Performance Guide” white-paper.

13. Question: How Do I Use Resource References With Non-transactional Messaging?

Answer: For non-transactional cases, do not use a global transaction (XA) capable connection factory. This will impact messaging performance. If you do, the resource reference will automatically begin and commit an internal transaction for each messaging operation.

14. Question: What Advantages Do JMS Resource References Provide?

Answer: JMS resource references provide the following advantages:

  • They ensure the portability of servlet and EJB applications: they can be used to change an application’s JMS resource without recompiling the application’s source code.
  • They provide automatic pooling of JMS Connection, Session, and MessageProducer objects. 
  • They provide automatic transaction enlistment for non-WebLogic JMS providers. This requires XA support in the JMS provider. If resource references aren’t used, then enlisting a non-WebLogic JMS provider with the current transaction requires extra programmatic steps. 

15. Question: How Do I Communicate With Remote JMS Providers From a Client?

Answer: If the destination is not provided by WebLogic Server, and there is a need to include operations on the destination in a global transaction, use a server proxy to encapsulate JMS operations on the foreign vendor in an EJB. Applications running on WebLogic servers have facilities to enlist non-WebLogic JMS providers that are transaction (XA) capable of the current transaction. 

16. Question: How Do I Send Messages to a Remote JMS Provider From Within an EJB or Servlet?

Answer: Use a resource reference. It provides pooling and automatic enlistment.

17. Question: How Do I Receive Messages From a Remote a JMS Provider From Within an EJB or Servlet?

Answer: Use a message-driven EJB. Synchronous receives are not recommended because they idle a server-side. thread while the receiver blocks waiting for a message. 

18. Question: What If a Foreign JMS Provider JNDI Service Has Limited Functionality?

Answer: The preferred method for locating JMS provider connection factories and destinations is to use a standard J2EE JNDI lookup. Occasionally a non-WebLogic JMS provider’s JNDI service is hard to use or unreliable. The solution is to create a startup class or load-on-start servlet that runs on a WebLogic server that does the following:
Uses the foreign provider’s proprietary (non-JNDI) APIs to locate connection factories and JMS destinations.
Registers the JMS destinations and JMS connection factories in WebLogic JNDI.

For sample code, see “Creating Foreign JNDI Objects in a Startup Class” in Using Foreign JMS Providers with WebLogic Server white-paper available from the JMS topic page. 

19. Question: Which Security Principal Does an MDB Use to Connect to JMS?

Answer: As of WLS 6.1 SP2, an MDB uses the same principle to connect to JMS as it does to process messages. This is either the principle that is mapped to the run-as role specified for the bean, or ‘guest’ if no run-as role is provided. Prior to WLS 6.1 SP2, this behavior was not well defined.

20. Question: Can a Foreign Key Column in the Database Be Mapped to Both a CMP-field and a CMR-field?

Answer: Yes, this has been supported since WLS 6.0 SP1. Note that when the CMP-field is a primary-key field the CMR-field is read-only. In other words, the setXXX method for the CMR-field cannot be used.

The value of the primary-key should be initialized as usual in this case. Conversely, when the CMP-field is not a primary key field, then the CMP-field is read-only. The underlying column is updated via the CMR-field, and the CMP-field just provides a read-only view of the foreign-key.

21. Question: Why Can’t I Hold on to a CMR-field (Container Managed Relationship) Collection and Use it After the Transaction Commits?

Answer: This is prohibited by the EJB 2.0 specification. The reason for disallowing this is that the DBMS data backing a CMR-field collection can change in unpredictable ways once your transaction commits. Tracking these changes is difficult and can result in the contents of the CMR-field collection changing when the application doesn’t expect it. The bottom line is that developers must retrieve and access CMR-field collections within a single transaction.

22. Question: Can I Use a Join or Intermediate Table to Implement a One-Many Relationship?

Answer: This is currently not supported. One-Many relationships require that the bean on the Many sides of the relationship contain a foreign-key in one of its tables.

23. Question: Can I Map an Entity Bean to More Than One Table?

Answer: In WLS 8.1 it is possible to map an entity bean to multiple tables, however, there are some restrictions. Namely, each table must contain the same primary key columns. The columns can have different names in different tables, but they must contain the same values. When a new bean is created  a row will be inserted in each table, and when a bean is removed a row is removed from each table. The rows in each table are related via their primary key values. The rows mapped to a particular entity bean will always have the same primary key value. See Multiple Table Mapping in Programming WebLogic Enterprise JavaBeans. 

24. Question: Can an Entity Bean Be a Listener For JMS Messages?

Answer: No. Message-driven beans should be used to consume JMS messages.

25. Question: How Big Should I Make the Cache For a Stateful Session Bean?

Answer: The cache for a stateful session bean should usually be equal to the maximum number of concurrent clients of the bean. This is generally a much larger value than the number of executing threads in the server, therefore, stateful session beans will use more server resources.

26. Question: When Should I Use a Stateful Session Bean and When Should I Use a Servlet Session?

Answer: The answer to this question is very application-specific and there are situations in which either approach will work. A stateful session bean provides declarative transaction and security checking as well as failover to a secondary in a cluster. (E Learning Portal)

27. Question: What is the Difference Between the NRU and LRU Cache?

Answer: NRU cache works by avoiding passivation as much as possible. Stateful session instances are only passivated when there is memory pressure (your # of beans in the cache approaches the max-beans-in-cache size). This is the ‘NRU’ option in the WebLogic-EJB-jar.xml and the default behavior.s idle-timeout-seconds. So if your max-beans-in-cache was 1000 and you only had 10 beans in memory, it would still write the 10 beans to disk after their timeout period expired. This is the ‘LRU’ option in WebLogic-EJB-jar.xml. This was added to 5.1 and 6.x because there were some customers that wrote applications depending on the timeout behavior. The was also the default behavior in 3.1-4.5. 

28. Question: When are EjbCreate and EjbRemove Called on Stateless EJBs?

Answer: When the stateless beans are created and removed by the EJB container. Note that this does not correspond to calls to create and remove on the stateless home. Depending on your initial-beans-in-free-pool setting, beans may be created by the container during deployment at which point they are placed in the free pool. 

Aside from during deployment, beans will only be created to service requests when all of the beans in the free pool are in use and the max-beans-in-free-pool limit has not been met. Stateless beans are removed by the EJB container during undeployment. 

29. Question: Why Did I Get a LockTimedOut Exception?

Answer: When you get a LockTimedOutException while invoking a stateful session EJB, one of two things has occurred:

You have set to true in your WebLogic-EJB-jar.xml descriptor and your call timed out while waiting to be processed. The timeout used in this case is the value element of the WebLogic-EJB-jar.xml descriptor or its default value of 30 seconds. 

You do not have set to true and you attempt to invoke a stateful session bean that is already busy processing another request.

In this case, the second method call will not block and a LockTimedOutException will be thrown immediately.

30. Question: Can You Explain Passivation / Activation?

Answer: Passivation and activation are two phases of a resource management technique that reduces the number of bean instances needed to service all clients. Passivation is the process of disassociating a bean instance from its EJB object so that the instance can be reused or evicted to conserve memory. Activation is the process of associating a bean instance with an EJB object so that it can service a request. Beans are passivated when there is a lull in their use and activated when the EJB object receives a client request.

The java.ejb.SessionBean and javax.ejb.EntityBean interface includes two callback methods that notify a bean instance when it is about to passivated or activated. The ejbPassivate( ) method notifies a bean that it is about to passivated; the ejbActivate( ) method notifies a bean that it is about to activate.

The mechanisms employed in passivation and activation change depending on the bean type. Stateful beans are usually evicted, while entity beans and stateless beans are pooled. A more detailed account of how different bean types passivated and activated is found under the FAQs for that type. 

31. Question: Can I Call Remove() on a Stateless Session Bean?

Answer: I’m in the process of migrating an EJB 2 application to EJB 3 (and what a satisfying task it is to delete all those deployment descriptors!). It used to run on Weblogic and now runs on Glassfish. 

The task is going very smoothly, but one thing makes me wary: The current code takes great care to ensure that EJBObject.remove() is called on The bean when it’s done its job, and other developers have (unfortunately very vague) memories of “bad things” happening when that was not done. 

However, with EJB3, the implementation class does not implement EJBObject, so there is no remove() method to be called. And my understanding is that there isn’t any point at all in calling it on stateless session beans, since they are, well, stateless.

32. Question: When are Stateless EJBs Passivated?

Answer: Stateless ejbs are never passivated. Since stateless ejbs do not have state, there is no need to passivate them. They are put back into the free pool after each method call so they will be available to service other requests.

33. Question: What is the Difference Between the WL_HOME/config/examples/applications Folder and the WL_HOME/config/examples/stage Folder?

Answer:

  • The applications folder is intended for applications that are not yet ready for a production environment.
  • WebLogic Server dynamically deploys the contents of the applications folder.
  • The staging folder (or a folder that you create for the same purpose) is for storing copies of deployment files that are ready for deployment in a production environment 

34. Question: Can I Set the Deployment Order For Application Modules For Standalone Modules?

Answer:

  • The Load Order attribute controls the deployment order of standalone modules and applications relative to other modules and applications of the same type.
  • For example, standalone EJBs with smaller Load Order values are deployed before those with higher values.
  • Modules that are deployed as part of an Enterprise Application (EAR file or directory) are deployed in the order in which they are specified in the application.xml deployment descriptor. 

35. Question: When Should I Use the External_Stage Option?

Answer: Set -external_stage using WebLogic.Deployer if you want to stage the application yourself, and prefer to copy it to its target by your own means.

36. Question: When Should I Use the -No stage Option?

Answer:

  • Set the staging mode to -postage (using weblogic.Deployer or the Administration Console). 
  • if you don’t want to copy deployment files but want to deploy an application from its present location.
  • All target servers must be able to access the same set of deployment files.

37. Question: Can I Refresh Static Components of a Deployed Application Without Having to Redeploy the Entire Application?

Answer: Yes. You can use WebLogic. Deployer to specify a component and target a server, using the following syntax:

java WebLogic.Deployer -admin URL https://admin:7001 -name app name -targets server1,server2 -deploy jsps/*.JSP.

38. Question: How Can I Set Deployment Order For Applications?

Answer:

  • WebLogic Server 8.1 allows you to select the load order for applications.
  • See the ApplicationMBean LoadOrder attribute in Application.
  • WebLogic Server deploys server-level resources (first JDBC and then JMS) before deploying applications.
  • Applications are deployed in this order: connectors, then EJBs, then web Applications.
  • If the application is an EAR, the individual components are loaded in the order in which they are declared in the application.xml deployment descriptor.

39. Question: Are the build.cmd and the build.sh Scripts Still Being Used?

Answer: No. They have been replaced by ANT. 

40. Question: How Do Clients Handle DNS Requests to Failed Servers?

Answer: The bandwidth will be wasted if the DNS continually sends requests to the unavailable machine when the server is failed so. This problem occurs only during startup, for a client application. The unavailable servers are removed by searching the DNS entries by a WebLogic server. This prevents the accessibility of a client to a failed server.

To avoid the DNS requests those are unnecessary, with the browser-based clients, third-party load-balancers are used. These are Resonate, BigIP, Alteon, and Local Director. The masking of multiple DNS addresses into a single address is done by these third-party load-balancers. 

41. Question: Why Doesn’t My Browser Applet Connect to the Database?

Answer: If Appletviewer works and Netscape does not, it is an indication that you are violating a Netscape security restriction. In this case, the violation is that an applet cannot open a socket to a machine other than the one from which it loaded the applet. To solve this problem, you will have to serve your applet code from the same machine that hosts the DBMS. 

In addition, the IP naming format you use in the applet CODEBASE and the constructor for the T3Client must match. That is, you can’t use dot-notation in one place and a domain name in the other. 

42. Question: 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)

Where WL_HOME is the directory in which you installed WebLogic Server. For more information, see “Setting the Classpath” in the WebLogic Server Command Reference.

43. Question: 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.

We will take thread dump in following ways,

1. Linux: kill -3 PID
2. Windows (console mode) : crtl+break
3. Windows (service) : basic -dump -svc name:mydomain_myserver

44. Question: How Managed Servers Communicate With Each Other?

Answer: Managed Servers host business applications, application components, Web services, and their associated resources. To optimize performance, Managed Servers maintain a read-only copy of the domain’s configuration document. When a Managed Server starts, it connects to the domain’s Administration Server to synchronize its configuration document with the document that the Administration Server maintains.

For production environments that require increased application performance, throughput, or high availability, you can configure two or more Managed Servers to operate as a cluster. A cluster is a collection of multiple WebLogic Server instances running simultaneously and working together to provide increased scalability and reliability. In a cluster, most resources and services are deployed identically to each Managed Server (as opposed to a single Managed Server), enabling failover and load balancing. A single domain can contain multiple Oracle WebLogic Server clusters, as well as multiple Managed Servers that are not configured as clusters. The key difference between clustered and nonclustered Managed Servers is support for failover and load balancing. These features are available only in a cluster of Managed Servers. 

Oracle Fusion Middleware cluster instances communicate with each other using the following network technologies:

1. IP sockets (for peer-to-peer communication between clustered server instances)
2. IP multicast or unicast (used by server instances to broadcast the availability of services and heartbeats indicating continued availability) 
a) Using IP Multicast: Cluster Instances uses IP multicast for all one-to-many communications among server instances in a cluster. This communication includes:

  • Each server instance in a cluster uses multicast to announce the availability of clustered objects that are deployed or removed locally. Each server instance in the cluster monitors these announcements and updates its local JNDI tree to reflect current deployments of clustered objects.
  • Cluster heartbeats — 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. (Clustered server instances also monitor IP sockets as a more immediate method of determining when a server instance has failed.)
  • Clusters with many nodes — Multicast communication is the option of choice for clusters with many nodes.

b) Using IP Unicast: WebLogic Server provides an alternative to using multicast to handle cluster messaging and communications. Unicast configuration is much easier because it does not require cross-network configuration and the additional setup that multicast requires.

45. Question: How Does a Server Know When Another Server is Unavailable?

Answer: “The RPC server is unavailable” is a fairly common error in Windows that can occur in a wide variety of situations, most of them involving communication between two machines across a network. It can also occur during local operations on a machine, however. For clarity, in this article, the machine initiating RPC communication will be designated the client, and the machine with which it communicates will be the server. 

Remote Procedure Call (RPC) is a mechanism that allows Windows processes to communicate with one another, either between a client and a server across a network or within a single system. Numerous built-in Windows components utilize RPC. RPC uses dynamic ports for communication between systems, but a static port (TCP port 135) must also be used as a starting point for communication. The RPC endpoint mapper listens to this static port. 

In a typical RPC session, a client contacts a server’s endpoint mapper on TCP port 135 and requests the dynamic port number assigned to a particular service. The server responds with the IP address and port number that the service registered with RPC when it started, and the client then contacts the service on that IP address and port.

Possible causes of the “RPC server unavailable” error include the following:

Stopped RPC service: If the RPC service on the server isn’t running, the client obviously won’t be able to reach it.

Name resolution issues: The RPC server’s name may be resolving to the wrong IP address, resulting in the client contacting the wrong server or attempting to contact an IP address not currently in use. Alternatively, the server’s name may not be resolving at all.

Traffic blocked by the firewall: A firewall or other security application on the server, or a network firewall appliance between the client and server, may be preventing traffic from reaching the server on TCP port 135.

Connectivity issues: The client may be unable to reach the server at all due to a general network problem.

46. Question: What is the Difference Between the Sun JVM and BEA JRockit JVM?

Answer: As we all know, JVM is responsible for converting the java byte code into machine code (which the machine understands) ( What is the Difference Between the Sun JVM and BEA JRockit JVM)

Sun JDK and Oracle JRockit do the same thing using different mechanisms.

Sun JDK uses an interpreter (Interpreter and JIT in previous releases) — In this mechanism, the byte code is read and then translated into machine language, but these results are not saved in the memory. So every time even if the same method is run, again and again, the JVM has to translate the code into machine language. This means machine code will not be reusable as it is not saved anywhere in the memory

Oracle JRockit uses only JIT compiler (Just In Time) — JIT mechanism means, once a method is run, the byte code is translated to machine language and this is saved in the memory. This means if the method is run again, there is no need for translation and the machine code is reused.

Because of the interpreter mechanism used by sun JDK, the start-up time for the server is faster because it does not have to save the machine code in memory. Once the translation is done for a method, it moves to the other one. Whereas Oracle JRockit saves the code, which is why the startup takes longer. For the same reason, oracle JRockit uses more memory than sun JDK.

In the long run, JRockit gives a slightly better performance as compared to the sun JDK.

Oracle JRockit optimizes the code. It identifies the HOT SPOTS which means the methods that are being run more often. These methods are then queued up for optimization. This code is then optimized which improves performance. Many issues are seen because of the code optimization mechanism because it is a complex procedure. Optimization can be disabled.

JIT is also used by Sun JDK, but that was in the earlier versions. The Java Hotspot VM removes the need for a JIT compiler in most cases. 

Memory spaces in JDKs:

Sun JDK has the following memory spaces: Eden space, survivor space, tenured generation, and permanent generation. The objects move from one space to another according to their age and survival from garbage collection.

JRockit has 2 spaces, the young generation, and the old generation, it uses the same mechanism of garbage collection. There is nothing called a permanent generation in JRockit.

Memory and other JVM tunings:

JRockit gives advanced JVM tunings. From the release R26 and above, JRockit takes care of few tunings by itself. For example, if there is an out of memory occurring on the native TLA in previous releases due to insufficient TLA size which is 2k by default, in later releases the JRockit tunes these settings as per the requirement of the application. This has to be done and taken care of by the user in case of sun JDK. But then it is always better to be on a safer side it is recommended to have the tunings done by self.

JVM Crashes:

When JRockit crashes, a JRockit dump is produced which basically has the reason for the crash. JRockit uses native libraries by default. This can be disabled by disabling the NativeIO from the admin console. The most common reason for the JRockit crash is the conflict between native libraries. For example, the JDBC type 2 drivers which use native libs. It is recommended to use type 4 pure java drivers when using oracle JRockit. Another reason for the crash can be code optimization because of its complexity. The stack trace in the JRockit dump will show the exact cause. When the JVm crashes, it is important to test it again by disabling code optimization and check if the issue still persists.

A sun JDK crash produces a hs_err_pid file which has the root cause of the crash. There can be several reasons for the sun JDK crash are due to bugs in them (defects in the code of the JDK). These issues need to be reported to the sun team.

Tools for performance tracking:

Sun JDK that comes bundled with WebLogic server gives tools like JConsole which can be used for performance tracking and monitoring the memory in use of the JVM. This tool is very much necessary so that every detail about the memory being used by the application, CPU usage, memory leaks can be identified.

Oracle JRockit has a much more advanced tool JRMC (JRockit mission Control) which gives advanced tracking features. JRA recordings can be taken which gives each detail about the JVM arguments, garbage collection details, methods using the maximum memory, etc. The memory leak detector tool in JRMC is also one important and very helpful tool. These make it easy for the user and administrators to maintain a record and identify the issues with the application and the JVM. 

47. Question: What is Clustering and What is Achieved Through it?

Answer: Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense or another) to each other than to those in other groups (clusters). It is the main task of exploratory data mining, and a common technique for statistical data analysis, used in many fields, including machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression, and computer graphics.

Cluster analysis itself is not one specific algorithm, but the general task to be solved. It can be achieved by various algorithms that differ significantly in their notion of what constitutes a cluster and how to efficiently find them. Popular notions of clusters include groups with small distances among the cluster members, dense areas of the data space, intervals or particular statistical distributions. Clustering can, therefore, be formulated as a multi-objective optimization problem. The appropriate clustering algorithm and parameter settings (including values such as the distance function to use, a density threshold or the number of expected clusters) depend on the individual data set and intended use of the results. Cluster analysis as such is not an automatic task, but an iterative process of knowledge discovery or interactive multi-objective optimization that involves trial and failure. It is often necessary to modify data preprocessing and model parameters until the result achieves the desired properties.

Besides the term clustering, there are several terms with similar meanings, including automatic classification, numerical taxonomy, bryology (from Greek βότρυς “grape”) and typological analysis. The subtle differences are often in the usage of the results: while in data mining, the resulting groups are the matter of interest, in automatic classification the resulting discriminative power is of interest. 

48. Question: What Can Be the Various Reasons For a Server Crash?

Answer:
a) Native IO

b) SSL Native Libraries

c) JVM

d) Supported Configuration

e) JDBC Driver issue 

49. Question: How is it Informed When the Server is Added to the Cluster?

Answer: You can choose to add a server to a cluster immediately, or you can submit the request to the Administration Process. If you submit the request to the Administration Process, Domino creates an Add Server to Cluster request to the Administration Requests database on the server from which you initiated the Add to Cluster request. If you make the request on the administration server, the Administration Process acts immediately on the request. If you make the request from another server, that server’s Administration Requests database must replicate with the administration server before the Administration Process can process your request. The Administration Process then adds the cluster information to the Server document in the administration server’s Domino Directory to show that the server is part of the cluster. The next time the administrative server replicates with the added server, Domino replicates these changes to the added server’s Domino Directory.

Cluster membership changes do not take effect until the added server receives the changes to the Server document.

If you choose to add a server to a cluster immediately, Domino immediately makes the changes to the Server document on the server from which you initiated the Add to Cluster command.  If you initiate the request on the server you are adding, Domino updates the cluster information immediately on the server you’re adding. You do not have to wait for the Administration Process to update the Domino Directories on the cluster servers. Although this adds the server to the cluster faster, it can also lead to replication conflicts.

50. Question: What are the Steps for the Creation of Pooling Within Tomcat Server?

Answer: The first step involved in this process of creating pooling is to download 3 jar files which are the commons-dbcp-1.2 jar, commons-pool-1.3.jar, and commons-collections-3.1 jar.

The next step is to make an entry inside server.xml of the tomcat factory.

What is Oracle WebLogic Server Course?

The fundamental unit of Oracle WebLogic Administration Video Tutorials and management is the domain. A domain consists of a set of managed servers – Oracle WebLogic Server instances or processes that host applications – and an administration server that controls the configuration of all the servers within the domain. A domain contains one and only one administration server. A weblogic server administration video tutorials may comprise a single development server that combines administration server and managed server functions, or may comprise an administration server and many managed servers. Administration servers distribute Oracle WebLogic Video Tutorials information to managed servers, and protocols built on top of standard JMX are used to ensure reliable communication of configuration changes throughout the domain. There is no runtime requirement for the administration server to be available if the administration server is not available, applications deployed on managed servers will continue to provide application services uninterrupted. Managed servers running in these Oracle WebLogic Administration Video Tutorials may or may not be clustered. Oracle WebLogic Server clusters provide clients with a single logical view into applications that are distributed over multiple managed servers, and provide scalability and availability benefits for mission-critical applications.

Oracle WebLogic Course Overview

However, clusters also offer manageability benefits as well. Clustered servers are intended to be homogeneous or uniform – that is, they should run the same version of Oracle WebLogic Server, they should contain identical configurations with a few exceptions discussed in this Oracle WebLogic Administration Video Tutorials, and they should have the same applications deployed. Many management operations such as resource configuration and deployment can be targeted at clusters to improve management efficiency. The oracle weblogic video tutorial infrastructure ensures that deployment archives such as WARs, EARs, RARs and JARs are made available to managed server instances that will host the applications, and are prepared for application execution. In clustered configurations, Oracle WebLogic Administration Video Tutorials ensures that deployment is successfully completed on all servers within the cluster. Multiple staging modes for distributing deployment archives to managed servers are supported. Advanced deployment capabilities are also supported, such as production redeployment, which enables updates to application versions without interruption of application services to existing clients. The Oracle WebLogic Administration Video Tutorials is an optional component of the WebLogic Management Framework.

Job Opportunities on Oracle WebLogic Server

The node manager is a lightweight process designed to monitor and control server lifecycle operations, such as server startup and shutdown, for server instances on a given machine. The Oracle WebLogic Administration Video Tutorials for the node manager in previous releases was to share node manager instances across domains. In Oracle WebLogic Server 12.1.2, the default configuration is a node manager instance per domain on each managed server machine. The Oracle WebLogic Administration Video Tutorials can control the startup and shutdown of server instances through the node manager, and the node manager can be configured to perform certain operations like auto-restart of failed server instances. The weblogic tutorial for beginners video is a GUI and command-line tool for initial creation of Oracle WebLogic Server domains, and domains for Oracle Fusion Middleware products that are built on Oracle WebLogic Administration Video Tutorials. The Configuration Wizard creates domains based on templates. The related Domain Template Builder enables end-user creation of templates themselves such that once a domain configuration is created, it can be captured in a Configuration Wizard template for recreation of that domain on different machines.

SVR Features

These Oracle WebLogic Server Video Tutorials provides an easy to use mechanism for initial domain creation, and a powerful capability for complex domain recreation and replication across cloud environments. Oracle WebLogic Suite 12.1.2 provides two consoles for managing Oracle WebLogic Server domains at runtime. The primary console used by Oracle WebLogic Server administrators is the oracle weblogic video training. The Administration Console is a Web Application that runs on the administration server. Oracle WebLogic Administration Video Tutorials provides full functionality for managing domain configuration, starting and stopping of servers, application deployment and monitoring of the domain environment. In addition Oracle WebLogic Suite 12.1.2 includes Oracle Fusion Middleware Control, which is the strategic console for management of individual Oracle Fusion Middleware product domains. The scope of Oracle WebLogic Server management functions provided in Fusion Middleware Control is not yet equivalent to that provided by the WebLogic Administration Console, but significant areas are covered, such as server monitoring, lifecycle management, application deployment, and common configuration requirements. The Oracle WebLogic Administration Video Tutorials are a Jython-based scripting environment that can be used to automate all aspects of Oracle WebLogic Server administration.

Conclusion

This is a popular tool for automating Oracle WebLogic Administration Video Tutorials permitting, for example, modification of “empty” domains using WLST scripts to replicate a desired configuration, or executing a uniform set of management tasks across multiple domains to achieve a consistent change in the configuration of all of the target domains. As mentioned in the prior section on development, WLST scripts can be created manually, or by recording actions taken in the oracle weblogic training videos, or by authoring scripts in Oracle Enterprise pack for Eclipse. WLDF is also engineered to work with two related features of the Oracle JDK – Java Mission Control and Java Flight Recorder. Java Flight Recorder is designed to retain, in a rolling in memory buffer, diagnostic information about server process execution over the past several minutes, including event data generated by WLDF. The Flight Recorder buffer can be persisted to disk at any time for post-incident analysis using the Java Mission Control GUI, enabling analysis of what was occurring in the server leading up to the incident in Oracle WebLogic Administration Video Tutorials.

Leave a Comment

Scroll to Top