Monday, September 21, 2009

Hint for Oracle ADF Application Deployment on WebLogic Managed Server (without Oracle Enterprise Manager 11g)

I have described a hint for Oracle ADF application deployment on WebLogic Managed server in my previous post. I was describing how to enable Oracle ADF libraries (JRF files) on Managed Server using Oracle Enterprise Manager 11g Web console.

Those of you, who don't have Oracle Enterprise Manager 11g, there is another way to enable ADF libraries on Managed Server. Just go to Deployments section in WebLogic console:


And for all ADF library related deployments, enable your Managed Server target (by default it is not enabled):

15 comments:

Unknown said...

Hi,

it's worth to be noted that the JRF Libraries also can be targeted script based via WLST command:

applyJRF(target, [domainDir], [shouldUpdateDomain])

See: http://download.oracle.com/docs/cd/E12839_01/web.1111/e13813/custom_jrf.htm

Best regards,
Andreas

Andrej Baranovskij said...

Hi Andreas,

Thanks for useful update.

Andrejus

jn1234 said...

Hi Andrejus,

It is important to note after 3 months discussion with Oracle support via metalink that the way explained in this blog solves the deployment problems but not the run of the application especialy if the ADF security is on.

The use of applyJRF is the safe way to add JRF libraries because it does more than add ADF libs to the managed servers.

Best regards
Jamil

Andrej Baranovskij said...

Hi Jamil,

Please explain the difference. I dont agree with you - its the same.

I have blog entry with JRF as well - http://andrejusb.blogspot.com/2009/09/hint-for-oracle-adf-application.html

Regards,
Andrejus

jn1234 said...

Andrejus,

Since 3 months I have a problem to run my application on WL managed server. The problem is that it is working well on AdminServer and EmbeddedServer.

The deployment is working well after using your blog method to add ADF libraries to the ManagedServer.

It was a long discussion between me and Oracle support using metalink without any result.

I am using ADF security and the login page has an anonymous role which need AdfAuthenticator permission.

When running the application I have a loop on the login page and the message "[JpsAuth] Check Permission" on the server.

Yesterday after reading more documentation I decided to use applyJRF script and I was surprise that the application works after as expected after that.

I told Oracle support that I found it and they confirmed to me that with applyJRF there is more than adding the ADF libs:
"...Concerning the blog you mention….I think that using the applyJRF will do more, f.ex. by setting up theclasspath, arguments, ... correctly."

Since I have to run my application on AdminServer for 3 months until I found the solution I liked to share this info using your blog to avoid it happens for others.

N.B. I can send to you my sample project I built (customized) to show the problem I had

Best regards
Jamil

Andrej Baranovskij said...

Hi,

Yes, I believe its like this, everything possible :)

I just assume, may be you was not selecting all required libraries as Targets to your managed server.

We have application (with security enabled) in production, managed server there was enabled with ADF by selecting targets. So, you never know.

As a best practice, I recommend to enable ADF at that point, when you are creating your domain. You need to select check box for Targets, on the last domain creation screen. Installation wizard will ask you to specify targets then during installation.

Regards,
Andrejus

Jiby said...

Hi Andrejus,

Thanks for your post. I am facing a problem in my case of which your post does seem to have the hints.

1. I installed ADF 11.1.1.3 with Oracle weblogic 10.3.3. While creating the domain, I selected the JRF options in the domain creation wizard.
2. After successful domain creation, while I login to the em console http://weblogic:adminport/em, I don't see the "ApplyJRF" option.I checked with Oracle Support and confirmed I am following the correct steps. But weird thing that I am not seeing the "ApplyJRF" button on the em console.

3. But I can see all those JRF libraries in "enabled" mode for the cluster as well as the Admin Server.

4. So my question is , if I can see those ADF libraries perfectly enabled for the cluster, does it mean the ADF is configured properly ? I did see through my weblogic console=> deployments and can see all the ADF libraries you mentioned in your post.

5. I tried all my known ways ( restarted Admin server, managed server, verified startscriptenabled=true is set in nodemanager.properties, but not able to figure out why I don't see the "ApplyJRF" button in em console.

regards,
Jiby

jn1234 said...

Jiby,

Did you verify that the target inside every ADF library is checked for all servers?

Even you find it checked I prefer that you run ApplyJRF command like the below.Double check the right bin directory.

1.At the command prompt, navigate to the bin directory.
The bin directory is BEA_HOME/ oracle_common\common\bin. An example could be

C:\Oracle\Middleware2\oracle_common\common\bin

•Run command > wlst.cmd
•wls:/offline> applyJRF(target='t_ManagedServer_1', domainDir='C:\\Oracle\\Middleware\\user_projects\\domains\\t_domain', shouldUpdateDomain=true)

Jamil

Jiby said...

Thanks Jamil,

So when I ran the applyJRF with wlst.sh command offline, it showed as below. So does it mean the JRF is applied successfully ?

Here "pat" is the cluster and I applied JRF to the cluster

wls:/offline> applyJRF(target='pat', domainDir='/dev/weblogic/1033/domains/PAT', shouldUpdateDomain=true)
Read domain /dev/weblogic/1033/domains/PAT to applyJRF
Copy JRF configuration files from /dev/weblogic/1033/oracle_common/modules to /dev/weblogic/1033/domains/PAT/config/fmwconfig/servers/pat1
Copy JRF configuration files from /dev/weblogic/1033/oracle_common/modules to /dev/weblogic/1033/domains/PAT/config/fmwconfig/servers/pat2
Target JRF components to "pat"
Update JRF changes to domain /dev/weblogic/1033/domains/PAT in offline mode

jn1234 said...

As I can see yes

You can check if everything is ok from the console.
Go to deployments and verify on every ADF library the target tab

Jamil

Tim said...

I have installed the WebLogic Server 10.3.4.0 and then run JDeveloper executable to extend the created domain with ADF. I cann see the ADF libraries in the AdminConsole.
Now I try to run the applyJRF in my wls console to deploy the JRF to my managed server wm01, but without luck.

wls:/offline> applyJRF(target='wm01', domainDir='/opt/weblogic/domains/wms')
Traceback (innermost last):
File "", line 1, in ?
NameError: applyJRF

I start the WLST with /opt/weblogic/wlserver/common/bin/wlst.sh

Where is the missing point?

Anonymous said...

You should run oracle_common/common/bin/wlst.sh

Anonymous said...

Hi

Please let me know how to run applyJRF command through wlst script

java weblogic.WLST AppJRF.py

wot we need to write in AppJRF.py file?

Thanks
Anil

Andrej Baranovskij said...

Hi,

Hope this helps: http://download.oracle.com/docs/cd/E12839_01/web.1111/e13813/custom_jrf.htm

Andrejus

Gourav said...

Hi,
I have created my application in jdev 11.1.2.4.0 and in managed server we targeted all adf library to managed served server.
But after deploying my enterprise application in managed server i got an error .

An error occurred during activation of changes, please see the log for details.
Error weblogic.management.DeploymentException:
Error oracle.adf.share.weblogic.listeners.ADFApplicationLifecycleListener



Please help


Regards
Gourav Raj