9
ADF Troubleshooting Step by Step Guide Vinod Krishnan 3/24/2012

Step by Step Guide

Embed Size (px)

DESCRIPTION

Step by Step Guide

Citation preview

Page 1: Step by Step Guide

ADF Troubleshooting Step by Step Guide

Vinod Krishnan 3/24/2012

Page 2: Step by Step Guide
Page 3: Step by Step Guide

Initial Stage

Debugging the Issue:

Debugging the problem is the important step in finding the problem in ADF Application. If you

are able to debug the application flow then there is a possible chance of pointing out the problem

in the first place. Debugging help us to understand where and when the problem arises.

In ADF Application you can debug the issue by placing the breakpoints in Java class file and

also in Task Flows. To know more about debugging follow this link

If we are able to identify the problem and fix it then its good. Otherwise note down the problem

and move to next step

Look for Errors:

After debugging the issues we are sure that the outcome will result in

What is the problem?

Where is the problem occurring?

When is the problem occurring?

Most of the time we have the exception thrown to the user or in the console. Its easy foe

advanced user to identify the cause of the issue when the exception or the error is thrown. Also

the exceptions that occur will be self explanatory but it’s hard for newbie to spot the root cause.

Its always advised to find the exception or error for the clear understanding of the problem. So

we have to find a way to get these exceptions thrown. These are the qualified places to look for

errors and exceptions

Page 4: Step by Step Guide

JDeveloper Console – For integrated server

Weblogic Console – if its a standalone deployment

This link will help you to find the errors and also some standard practice to look for exceptions

by preparing the application to log the application events using a Logger file.

After seeing the Exceptions

Search for Errors online

By this time you would have got the exception or the error in your hand. So doesn’t waste time

start searching for the error in

To Search in Google efficiently follow this link

OTN Forum link is here

Documentation (11.1.1.6) link is here

Oracle Support link is here

Page 5: Step by Step Guide
Page 6: Step by Step Guide

Eg. If this is the error that you are getting

0

1

oracle.adf.controller.internal.AdfcIllegalStateException:

oracle.adf.controller.ControllerException: ADFC-12003: The page flow scope

stack is empty.

0

2

at

oracle.adfinternal.controller.state.PageFlowStackEntry.getPageFlowScope(Pag

eFlowStackEntry.java:271)

0

3

at

oracle.adfinternal.controller.state.ViewPortContextImpl.getCurrentStateInsta

nce(ViewPortContextImpl.java:594)

0

4

at

oracle.adfinternal.controller.state.RequestState.setCurrentViewPortContext(

RequestState.java:200)

0

5

at

oracle.adfinternal.controller.state.ControllerState.setRequestState(Control

lerState.java:948)

0

6

at

oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart1(C

ontrollerState.java:360)

0

7

at

oracle.adfinternal.controller.application.SyncNavigationStateListener.before

Phase(SyncNavigationStateListener.java:127)

0

8

at

oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWr

apper.beforePhase(ADFLifecycleImpl.java:551)

0

9

at

oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBefore

Event(LifecycleImpl.java:100)

Page 7: Step by Step Guide

1

0

at

oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchBeforePagePhas

eEvent(LifecycleImpl.java:147)

1

1

at

oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerI

mpl.dispatchBeforePagePhaseEvent(ADFPhaseListener.java:112)

1

2

at

oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.beforePhase(

ADFPhaseListener.java:59)

13 ...

Options to search

1. oracle.adf.controller.internal.AdfcIllegalStateException (common search term)

2. oracle.adf.controller.ControllerException (common search term)

3. ADFC-12003: The page flow scope stack is empty (common search term)

4. ADFC-12003 – you are widening the scope of the search if the above search term is not

helping you

5. oracle.adfinternal.controller.state.PageFlowStackEntry.getPageFlowScope – this

will help you to identify when this problem arises

6. PageFlowStackEntry.java:271 – strike the hammer at the point

Note: If you want to find issues similar to this in otn then give like ‘ADFC-12003 + OTN’

Analysis Stage

You will come to this stage if you are not success with the above approach to identify the issue.

Are you trying some new Feature?

Check if Jdeveloper/ADF release supports the feature – check known issues

Is this a Connection Problem?

Check the connection, and make sure if you are able to connect to the DB properly.

Make sure that you have configured the Data Source properly.

Is the Databindings.cpx points to the correct application module configuration

Is it a common Java Issue?

Class path issue – Check if the libraries are there in the class path and if you have added

the libraries to the project.

Did you add the correct libraries to the project

make sure that you ‘Deploy by Default‘ the libaries that you add

Common Exceptions – NullPointerException, ArithmeticException,

NumberFormatingException etc

Page 8: Step by Step Guide

If these errors are shown inside the framework then check if you are doing what is

expected and you are sure to check how it works.

Is this a common JEE Issue?

Deployment issue – this can be related to configurations in web.xml, weblogic.xml or

weblogic-application.xml. Check if this can be solved using the parameters, filters or

servlet mapping in web.xml

Session related issue – This can be again related to web.xml and session handling

Transaction issue – configurations related to adfc-config.xml

Configuration Issue?

All configuration parameters are here

Page Refresh Issue?

Check iterator refresh condition property

Check the changeeventpolicy in iterator

is the partialsubmit or the autosubmit is working as expected

cross check with the immediate property

Check the partial triggers property

Security Issue?

May be related to jazn-data.xml, is the system-data.xml getting updated with the User and

Roles

the configurations are done in web.xml, weblogic.xml

Check security settings in weblogic server.

Check security setting for the folders also, sometimes the server needs full permission for

some updates. This may also cause some problem

Intermittent Issue?

This may be related to Clustering. Cross check with clustering of ADF Application

adf-config.xml has some property for clustering. check that

Memory Issue?

Increase the Heap size for the application and try

make your application more performance to overcome any memory issues

Data Issue?

Check if the DB data is proper

Run the query in the back end to make sure that you get the proper result

Page 9: Step by Step Guide

Change not reflecting?

Do a clean build and try to run again. make sure you generate the classes again

remove drs folder in system folder or remove the DefaultDomain folder or remove the

complete system folder and try from scratch

Not sure about the problem?

Cross check our logic,never assume that your logic is correct, try to alter the logic ,ask

your peer to review the logic (others will have an extra eye on the problem and the

approach)

Read the Documentation again to check how the component works and make sure that

you completely understand it

Note: Most of the issues listed above are common issues, you will get all related issues when you

search online or in Oracle Forums. I believe that Only 5% of the issues can be considered as

never experienced by others. So most of the issues that the user experience will be already

discussed in the future. So do search the Oracle forums or Google to get your issues solved.

Submission Stage

Post a Forum Question

This stage is like you are asking for help from the experts who has some expertise in the

area.

Wait for the answers, if you are not getting an answer ask for it again one or two times

If someone post for your question then try to validate that. Don’t ignore if someone who

is not an expert replied to our post. It’s better to try all possible ways.

If you get an answer, try that and update the post about your findings even if the issue is

fixed. This will help some other person who is facing similar issue like you

Raise for help from Oracle

If you have tried all possible options above then you have to wait for Oracle to help you.

Raise an SR