Difference between .out and .log files http://middlewareadminsroles.blogspot.in/

.out will print all logs related to your java application deployed whereas .log file will print all logs related to weblogic server like startup.stop,deployment etc....

.out will have standard shell output where the instance was started and it will have mostly Notice and above log level will be written on it. .log will have the server logs along with all sub system logs too.

Java application will write logs on .out only if the app code redirects .logs to standard output, there are many logging mechanism are available like loc4j which can be used to write the java application logs to different/ separate files.

HTTP Error codes in weblogic http://middlewareadminsroles.blogspot.in/

Basically, the error codes in the 400 and 500 range are the codes that are most common to the end user: 
The 400 codes are intended for cases in which the client (Mosaic, Netscape, etc) seems to have caused some sort of problem when asking the server for a html document. 
The 500 codes are intended for instances when the Server software (NCSA HTTPD, Netsite, etc.) running on the site that you are contacting is having a problem sending you the html document. 


Bad request 400:
This is a fairly common error and basically means that the requested document could not be sent because of syntax error in the URL (site address). 



Unauthorized 401:
This is one of the most common error messages and usually means that the Server is expecting some sort of encryption id from the browser (Mosaic, Netscape, etc) and when it does not recieve it, the server issues an error message. 



Forbidden 403:
The document you are requesting is "forbidden" meaning that you do not have read privlidges or are not allowed to have the page sent to you. 



Not found 404:
This is the most common and is similar to the 400 error. Basically this means that the document you have requested no longer exsists or that the URL (site address) is incorrect. 



Internal Error 500:
The server was unable to send the html document to you due to an internal (server software) error. 



Not implemented 501:
This error occurs when for example, you have pressed the submit button on a form. The server replys with this error message because it dosen't support the feature that you have requested. This is not a real common error, but typically occurs when new features or forms are implemented. 



Service temporarily overloaded 502:
The server cannot process the request due to a high load (whether HTTP servicing or other requests from users). Basically, this is the "if at first you don't suceed..." error. The solution is to try back later at a time when net load or server traffic is lower. Gateway 



timeout 503:
This error is caused by the connection timing out, either due to server problems, net problems or client problems. Basically, the request for information stops because the pathway to the web server has been closed. 


400 – Bad Request – You probably typed in a URL wrong, the server has no clue what you’re looking for, or you aren’t allowed to have access. Usually, it’s a matter of the URL being typing in wrong. Maybe you mixed upper and lowercase letters or something.

401 – Unauthorized Request – you tried to get to something on the web server you’re not allowed to play with. In other words, you ain’t on the party list.



403 – Forbidden – You can’t access the page. You may not have access (it may require a password), or it may be blocked from your domain.


404 – Not Found – The page you were trying to look at was not found on the server. This is probably the most commonerror you’ll come across. What has probably happened is that the web page you were going to has been removed or re-named.


500 – Internal error – Usually caused by a CGI error. You fill out a form, but the script used to process it is not working properly.
503 – Service Unavailable – The server may be overloaded, down, or have other similar problems. Try later. 


Code   
Title
Description
100
Continue

101
Switching Protocols

200
OK
The request was successful
201
Created
The request was successful and a new resource was created
202
Accepted
The request was accepted for processing, but the processing is not yet complete
203
Non-Authoritative Information

204
No Content
The server has processed the request but there is no new information to be returned
205
Reset Content

206
Partial Content

300
Multiple Choices
The requested resource is available at one or more locations
301
Moved Permanently
The requested resource has been assigned a new URL and any further references should use this new URL
302
Moved Temporarily
The requested resource resides at a different location, but will return to this location in the future
303
See Other

304
Not Modified
The requested resource has not been modified since the date specified in the If-Modified_Since header
305
Use Proxy

400
Bad Request
The server could not properly interpret the request. Normally means that either address hasn’t been entered correctly or the page no longer exists.
401
Unauthorised
The site being accessed is protected and you either entered the incorrect password or the host does not want users coming from your domain to enter.
402
Payment Required

403
Forbidden
You are not permitted to access this document. It is either password-protected or the host does not want your domain to enter.
404
Not Found
The host server can’t find the HTML document at the URL you’ve entered. Either you have mistyped the URL, the document no longer exists, or you’ve been given the wrong URL.
405
Method Not Allowed

406
Not Acceptable

407
Proxy Authentication Required 

408
Request Time-Out

409
Conflict

410
Gone

411
Length Required

412
Precondition Failed

413
Request Entity Too Large

414
Request-URL Too Large

415
Unsupported Media Type

500
Internal Server Error
The server could not satisfy the request due to an internal error condition.
501
Not Implemented

502
Bad Gateway
The server received an invalid response from the server from which it was trying to retrieve information.
503
Out of Resources

504
Gateway Time-Out

505
HTTP Version not supported


Bad File Request
The form you’re trying to access is not supported by your browser or there is an error in the form.

Cannot Add Form Submission Result to Bookmark List
Occurs when you’ve submitted a search request and then try to save the result as a bookmark. Even though it may look like a valid address, the resulting page does not have a URL that can be reused so it can’t be added to your bookmark list.

Connection Refused by Host
You’re not permitted to access this document either because it’s password-protected or the host doesn’t permit your domain to enter.

Failed DNS Lookup
The URL you requested could not be translated into a valid Internet address by the domain name system. This is either a result of a mistake in the system or you could have mistakenly entered an incorrect URL

File Contains no Data
The site you accessed doesn’t contain any Web pages on it.

Helper Application not Found
You’re trying to load a file of a type that your browser doesn’t recognise

Host Unavailable
The server computer that hosts this site could not be reached. The server may be offline or down for maintenance

Host Unknown
The server you’re trying to reach is not connected, or you have lost your own connection. You may have also entered the URL incorrectly.

Network Connection was Refused by the Server
Some servers have limits on the number of people or request they can handle at a time. If you get this message, the server is probably too busy to handle one more user.

NNTP Server Error
This error occurs when you are trying to log on to a Usenet newsgroup. An NNTP server is part of your Internet service provider’s software, so if this error occurs the software may be malfunctioning or the newsgroup does not exist.

Permission Denied
When connecting to an FTP site, can signify that you cannot upload to the site, download a certain file, or access a certain directory.

Too Many Connections - Try Again Later
The limit to the number of people who can use the site at one time has been exceeded.

Too Many Users
To avoid slow uploading and downloading rates, site administrators set a maximum number of users that can access the site at one time. Your request is one too many.

Unable to Locate Host
The server is either down for maintenance or you may have lost your connection.

Unable to Locate the Server
The server indicated in the URL you typed or clicked from either no longer exists or was entered incorrectly.

Viewer not Found
Your browser doesn’t recognise files of this type.

You Can’t Log on as an Anonymous User
You must have a valid username and password to log onto this FTP site.

Thread dump in weblogic http://middlewareadminsroles.blogspot.in/

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 WebLogic1THRED_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.

Weblogic Thread Monitoring Tips IN http://middlewareadminsroles.blogspot.in/

Weblogic Thread Monitoring Tips  IN http://middlewareadminsroles.blogspot.in/


If you are working as a middleware administrator or application support individual, you may have realized by now how crucial it is to have proper knowledge of the JVM along with a good understanding of the Java concurrency principles (yes you have to learn how to analyze thread dumps).

There is one principle I’m sure about: it is never too late to improve our knowledge and troubleshooting skills. Reaching a skill “plateau” is quite common and typically not due to our ability to learn but because of our fear and lack of willingness to embrace the challenges.

One of such challenges is possibly your ability to understand and assess the health of the JVM &middleware threads of the Java EE container you are responsible for such as Oracle Weblogic Server. If this is your situation then this post is for you.

Question:

How can you monitor the JVM threads in an efficient manner using the Weblogic admin console? Also, please elaborate how you can differentiate between healthy threads vs. slow running threads. Finally, what other tools can help you achieve this task?

Answer:

Please note that Weblogic Server 10.3.5 was used for the following example.

* An Oracle Weblogic 12c Thread Monitoring YouTube video is now available.
Oracle Weblogic Server is always installed with an admin console that provides you with out-of-the-box monitoring functions of the various Java EE resources exposed via the JMX API. Weblogic threads (created and assigned by the WLS kernel to the default self-tuning thread pool) are also fully exposed.



This monitoring page allows you to:

  • Monitor the full list of all Java threads under Weblogic control.
  • Correlate any slow running thread with your application, request and assigned Work Manager, if any.
  • Generate a JVM Thread Dump of the Weblogic managed server directly from the page via the Dump Thread Stacks button.

Thread states - summary view

This section provides a summary of all different Weblogic threads and states.

Thread states - detailed view

The detailed view is much more interesting. This is where you will be spending most of your analysis time. Make sure that you add all proper columns including the associated Work Manager, application name etc.



The live Weblogic thread monitoring analysis process I usually follow is as per below. This approach is very useful for production environments when you are trying to determine the source of a performance slowdown or just to give you an idea of the health of the Weblogic threads.

  • Refresh the page every 3-5 seconds.
  • In between the refresh actions, identify the threads that are still executing the same request (slow running threads). This can be determined if you see the same Weblogic thread “Name” executing the same “Current Request” with the same “Total requests” value. Other criteria’s would be if Weblogic “promote” the affected thread(s) to Hogger or STUCK.
  • Continue until you are done with your monitoring activity.
  • As soon as one or a few slow running threads are found, identify the affected request(s) and application(s).
  • Immediately after, generate a JVM Thread Dump using the Dump Thread Stacks button and copy/paste the output to a text editor for live or future analysis.


I also recommend that you use other tools to monitor the JVM and threads such as JVisualVM. JVisualVM will give a full view of all the threads, including GC related threads. It will also allow you to monitor the Java heap and correlate any finding with the health of the activity of the garbage collector.

Finally, if you suspect that you are dealing with a deeper thread concurrency problem such as thread lock contention or Java-level deadlock, you will need to generate a native thread dump (JVisualVM, kill -3 PID, jstack etc.) which will allow you to review the different monitor locks andlocked ownable synchronizers.

Deploying Applications In SOA Admin

Deployment is the process of packaging application files as an archive file and transferring them to a target application server. This chapter describes how to deploy Java EE applications to Oracle Fusion Middleware.


Overview of Deploying Applications

Oracle WebLogic Server provides a Java EE-compliant infrastructure for deploying, undeploying, and redeploying Java EE-compliant applications and modules.
You can deploy the following into Oracle WebLogic Server:
  • A complete Java EE application packaged as an Enterprise Archive (EAR) file.
  • Standalone modules packaged as Java Archive files (JARs) containing Web Services, Enterprise JavaBeans (EJBs), application clients (CARs), or resource adapters (RARs).
  • An ADF application. Oracle Application Development Framework (Oracle ADF) is an end-to-end application framework that builds on Java Platform, Enterprise Edition (Java EE) standards and open-source technologies to simplify and accelerate implementing service-oriented applications.
  • An Oracle SOA Suite composite application. A SOA composite application is a single unit of deployment that greatly simplifies the management and lifecycle of SOA applications.
  • An Oracle WebCenter application. WebCenter applications differ from traditional Java EE applications in that they support run-time customization, including the application's pages, the portlets contained within these pages, and document libraries.
Metadata Archive (MAR) is a compressed archive of selected metadata, such as the application-level deployment profile, for an application. A MAR is used to deploy metadata content to the metadata service (MDS) repository. The following application types use a MAR as a container for content that is deployed to the MDS repository: ADF applications, SOA composite applications, and Oracle WebCenter applications.
You can use Fusion Middleware Control, Oracle WebLogic Server Administration Console, Oracle JDeveloper, or the command line to deploy, undeploy, or redeploy an application. Which method you use depends on the type of application, as described in Table 4-1. This chapter describes how to deploy an application using Fusion Middleware Control.
Table 4-1 Tools to Deploy Applications
Type of ApplicationTools to Use
Pure Java EE application
Oracle WebLogic Server Administration Console
Fusion Middleware Control: Deployment Wizard
Oracle JDeveloper
WLST command line
ADF application
Fusion Middleware Control: Deployment Wizard
Oracle JDeveloper
WLST command line
SOA Composite application
Fusion Middleware Control: SOA Composite Deployment Wizard
Oracle JDeveloper
WLST command line
WebCenter application
Fusion Middleware Control: Deployment Wizard
Oracle JDeveloper
WLST command line

4.2 Understanding Data Sources

data source is a Java object that application components use to obtain connections to a relational database. Specific connection information, such as URL or user name and password, are set on a data source object as properties and do not need to be explicitly defined in an application's code. This abstraction allows applications to be built in a portable manner, because the application is not tied to a specific back-end database. The database can change without affecting the application code.
Applications use the Java Naming and Directory Interface (JNDI) API to access a data source object. The application uses a JNDI name that is bound to the data source object. The JNDI name is logical and can be mapped to any data source object. Like data source properties, using JNDI provides a level of abstraction, since the underlying data source object can change without any changes required in the application code. The end result is the details of accessing a database are transparent to the application.
When you configure certain Oracle Fusion Middleware components, such as Oracle SOA Suite or Oracle WebCenter, using the Oracle WebLogic Server Configuration Wizard, you specify the data source connection information. If the components use the MDS Repository, the Configuration Wizard prepends "mds-" to the data source name to indicate that the data source is a system data source used by MDS Repository.
See Also:
Oracle Fusion Middleware Creating Domains Using the Configuration Wizard for information about specifying data sources with the Configuration Wizard
To create an MDS data source, you should use Fusion Middleware Control or WLST to set the correct attributes for the data source. The MDS data source is displayed in the navigation pane in Fusion Middleware Control and in the domain structure in the Administration Console. If your application uses an MDS Repository, you must register the repository with the Oracle WebLogic Server domain before you deploy your application.
If you are using RAC or Oracle Fusion Middleware Cold Failover Cluster, you must configure multi data sources. To do so, you must use the Oracle WebLogic Server Administration Console. Note that if you create a multi data source and you add an existing MDS data source to it, the data source you added is no longer considered a valid MDS repository. The repository is not displayed in Fusion Middleware Control or Oracle WebLogic Server Administration Console. For example, the MDS repository is not listed in the Fusion Middleware Control navigation pane and is not displayed as a choice for a target metadata repository when you deploy an application.
See Also:
Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server for more information about configuring multiple data sources

4.3 Deploying and Undeploying Java EE Applications

The following topics describe using Fusion Middleware Control to deploy, undeploy, or redeploy a Java EE application:
See Also:
Oracle Fusion Middleware Deploying Applications to Oracle WebLogic Server for information about deploying using Oracle WebLogic Server Administration Console and for more information about using the WLST command line

4.3.1 Deploying Java EE Applications

You can deploy an application to a Managed Server or a cluster. This section describes how to deploy an application to a Managed Server.
To deploy a Java EE application to a Managed Server:
  1. From the navigation pane, expand the farm, then WebLogic Domain, and then the domain.
  2. Select the server in which you want to deploy the application.
    The server home page is displayed.
  3. From the WebLogic Server menu, select Application Deployment, then Deploy.
    The Deployment Wizard, Select Archive page is displayed, as shown in the following figure:
    Description of j2ee_deploy.gif follows
    Description of the illustration j2ee_deploy.gif
  4. In the Archive or Exploded Directory section, you can select one of the following:
    • Archive is on the machine where this browser is running. Enter the location of the archive or click Browse to find the archive file.
    • Archive or exploded directory is on the server where Enterprise Manager is running. Enter the location of the archive or click Browse to find the archive file.
  5. In the Deployment Plan section, you can select one of the following:
    • Create a new deployment plan when deployment configuration is done.
    • Deployment plan is on the machine where this web browser is running. If you select this option, enter the path to the plan.
    • Deployment plan is on the server where Enterprise Manager is running. If you select this option, enter the path to the plan.
  6. Click Next.
    The Select Target page is displayed.
  7. Select the target to which you want to deploy the application. The Administration Server, Managed Servers, and clusters are listed. You can select a cluster, one or more Managed Server in the cluster, or a Managed Server that is not in a cluster. Although the Administration Server is shown in the list of targets, you should not deploy an application to it. The Administration Server is intended only for administrative applications such as the Oracle WebLogic Server Administration Console.
  8. Click Next.
    The Application Attributes page is displayed.
  9. In the Application Attributes section, for Application Name, enter the application name.
  10. In the Context Root of Web Modules section, specify the context root for your application if you have not specified it in application.xml. The context root is the URI for the web module. Each web module or EJB module that contains web services may have a context root.
  11. If the application's adf-config.xml file archive contains MDS configuration, the Target Metadata Repository section is displayed. It allows you to choose the repository and partition for this application:
    • To change the repository, click the icon next to the Repository Name. In the Metadata Repositories dialog box, select the repository and clickOK.
    • To change the partition, enter the partition name in Partition Name.
  12. If the application's adf-config.xml file archive contains MDS configuration for an MDS shared repository, the Shared Metadata Repository section is displayed. It allows you to choose the repository and partition for this application.
  13. In the Distribution section, you can select one of the following:
    • Distribute and start application (servicing all requests)
    • Distribute and start application in admin mode (servicing only admin requests)
    • Distribute only
  14. Click Next.
    The Deployment Wizard, Deployment Settings page is displayed.
  15. On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. Depending on the type of application, you can:
    • Configure Web modules: Click Go to Task in the Configure Web Modules row. The Configure Web Modules page is displayed. Click Configure General Properties to view and edit the general configuration for the Web Module or Map Resource References to map the resource references.
      For example, you can change the session invalidation interval or the maximum age of session cookies.
    • Configure application security. Click Go to Task in the Configure Application Security row. Depending on what type of security is used, different pages are displayed.
      If the application contains jazn-data.xml or cwallet.sso, the Configure Application Security page displays the following sections:
      • If it contains jazn-data.xml, the page displays the Application Policy Migration section.
      • If it contains cwallet.sso, the page displays the Application Credential Migration section.
      • If it contains both, the page displays both sections.
      If the application contains neither of these files, the Configure Application Security page displays the following options:
      • DD Only: Use only roles and policies that are defined in the deployment descriptors.
      • Custom Roles: Use roles that are defined in the Administration Console; use policies that are defined in the deployment descriptor.
      • Custom Roles and Policies: Use only roles and policies that are defined in the Administration Console.
      • Advanced: Use a custom model that you have configured on the realm's configuration page.
    • Configure EJB modules: Click Go to Task in the Configure EJB modules row. The Configure EJB Modules page is displayed. Click Configure EJB Properties to view and edit the general configuration for the EJBs or Map Resource References to map the resource preferences.
      For example, you can configure the maximum number of beans in the free pool or the network access point.
    • Configure ADF Connections. To modify the ADF connections, click Go to Task in the Configure ADF Connections row. The Configure ADF Connections page is displayed, showing the current connection information. To modify a connection type, click the Edit icon for a particular row. For example, to modify the connection information for an external application. For more information about ADF connections, see Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework
    For a simple Java EE application, only the first three options may be displayed.
  16. Expand Deployment Plan.
    You can edit and save the deployment plan, if you choose. If you edit the deployment plan and change descriptor values, those changes are saved to the deployment plan. In addition, the following configurations are saved to the deployment plan:
    • Application attributes
    • Web module configuration
    • EJB configuration
    Application attributes related to MDS are stored in the file adf-config.xml. Application security attributes are stored in weblogic-application.xml.
    Fusion Middleware Control updates the relevant files and repackages the .ear file.
  17. Click Deploy.
    Fusion Middleware Control displays processing messages.
  18. When the deployment is completed, click Close.
To deploy an application to multiple servers at the same time, navigate to the domain. Then, from the WebLogic Domain menu, select Application Deployment, then Deploy. The deployment wizard displays a page where you can select the servers.
To deploy an application to a cluster, select the cluster. Then, from the Cluster menu, select Application Deployment, then Deploy.
WLST Command:
deploy(app_name,path, [targets] [stageMode], [planPath], [options])

4.3.2 Undeploying Java EE Applications

You can undeploy an application from a Managed Server or a cluster. This section describes how to undeploy an application from a Managed Server. If an application has been deployed to multiple servers, when you undeploy it using Fusion Middleware Control, the application is undeployed from all the servers.
To undeploy a Java EE application from a Managed Server:
  1. From the navigation pane, expand Application Deployments, then the application to undeploy.
    The application home page is displayed.
  2. From the Application Deployment menu, select Application Deployment, then Undeploy.
    The confirmation page is displayed.
  3. Click Undeploy.
    Processing messages are displayed.
  4. When the operation completes, click Close.
Alternatively, you can navigate to the domain, Managed Server, or cluster, then, from the target's menu, choose Application Deployment, thenUndeploy. In the Select Application page, select the application you want to undeploy.
WLST Command:
undeploy(app_name,path, [targets] [options])

4.3.3 Redeploying Java EE Applications

You can redeploy an application to a Managed Server or a cluster. This section describes how to redeploy an application to a Managed Server.
To redeploy a Java EE application to a Managed Server:
  1. From the navigation pane, expand the farm, then Application Deployments.
  2. Select the application.
    The application home page is displayed.
  3. From the Application Deployment menu, choose Application Deployment, and then Redeploy.
    The Select Application page is displayed.
  4. Click Next.
  5. In the Archive or Exploded Directory section, you can select one of the following:
    • Archive is on the machine where this browser is running. Then, enter the location of the archive or click Browse to find the archive file.
    • Archive or exploded directory is on the server where Enterprise Manager is running. Then, enter the location of the archive or click Browseto find the archive file.
  6. In the Deployment Plan section, you can select one of the following:
    • Create a new deployment plan when deployment configuration is done.
    • Deployment plan is on the machine where this web browser is running. If you select this option, enter the path to the plan.
    • Deployment plan is on the server where Enterprise Manager is running. If you select this option, enter the path to the plan.
  7. Click Next.
    The Application Attributes page is displayed.
  8. Click Next.
    The Deployment Wizard, Deployment Settings page is displayed.
  9. On this page, you can perform common tasks before deploying your application or you can edit the deployment plan or save it to a disk. Depending on the type of application, you can:
    • Configure Web modules
    • Configure application security
    • Configure EJB modules
    • Configure ADF connections
    For a simple Java EE application, only the first three options are displayed.
  10. Expand Deployment Plan.
    You can edit and save the deployment plan, if you choose. If you edit the deployment plan and change descriptor values, those changes are saved to the deployment plan. In addition, the following configurations are saved to the deployment plan:
    • Application attributes
    • Web module configuration
    • EJB configuration
    Application attributes related to MDS are stored in the file adf-config.xml. Application security attributes are stored in weblogic-application.xml.
    Fusion Middleware Control updates the relevant files and repackages the .ear file.
  11. Click Redeploy.
    Processing messages are displayed.
  12. When the operation completes, click Close.
To redeploy an application to a cluster, select the cluster. Then, from the target's menu, select Application Deployment, then Redeploy.
WLST Command:
redeploy(app_name,planpath,  [options])

4.4 Managing Deployment Plans

deployment plan is a client-side aggregation of all the configuration data needed to deploy an archive into Oracle WebLogic Server. Once created, you can save a deployment plan as a file. Then, you can reuse it for redeploying the application or for deploying other applications. If an existing deployment plan is not applied to an application at the time of deployment, a new plan is created by default.
You can create a deployment plan when you deploy an application, as described in Section 4.3.1.
You can edit it on the Deployment Settings page of the Application Deployment wizard.