Skip to main content

Posts

Showing posts from July, 2013

Using Java EE APIs for asynchronously invoking Application Module methods

The JDeveloper 12C release comes with WLS 12C version which is fully compatible with JavaEE 6 stack. In this post I'm talking about leveraging Java EE APIs for enhancing your ADF application.

Straight to the point: JavaEE 6 has simplified the asynchronous method invocation in EJBs to a great extent. You just need to annotate the target class or method as @Asynchronous to enable asynchronous invocations. More details can be seen here: http://docs.oracle.com/javaee/6/tutorial/doc/gkidz.html
Today's post talks about leveraging this feature for invoking application module methods asynchronously. This approach can be used when you need to invoke heavy operations such as some batch job or bulk data update from UI without caring the result of  the operation(which can be monitored using some other page). Implementation is simple, we are simply wrapping application method call in an asynchronous EJB method. Client calls asynchronous EJB method which in turn invokes application module …

QOW #2: What is wrong in my action binding setting?

See the answer for last QOW#1 here

QOW#2 (14 July 2013):
This time it's easy:)
I've exposed a method from AM that takes two parameters,  public void findEmps(String firstName, String email). Exposed it through data control for use by client and then dropped it as methodAction to a JSF page, binding to a af:commandButton. While dropping the method, I used the following setting in the editor. Do you see anything wrong here?



Answer (Updated on 21 July 2013)
Both Thanvir  Parthan and Sharath Ram has done a great job in answering this query, and in fact nothing is left to me in answering this one except sharing link to one of my old post.  Read this post - http://www.jobinesh.com/2009/06/detailed-look-at-binding-model.html
To summarize the answer, while defining parameters for an action binding, better do not set any value for Option type.  If you specify Option as Mandatory, you are telling framework that do not consider the EL or literal value specified in the binding definition, …

MDS setting for testing PDef business components using AM tester

In case if you want to test the ADF Model project containing PDef  business components outside of the container using AM tester, you can use the following MDS setting in adf-config.xml. See metadata-path  entry in the below snippet, this entry sets MDS repository path to D:\my_mds_repo. Note that, when you deploy this app as web app, container will not use this path. If you don't know what a PDef object is, see this post http://www.jobinesh.com/2011/08/long-living-dynamic-business-components.html

<adf-mds-configxmlns="http://xmlns.oracle.com/adf/mds/config"><mds-configversion="11.1.1.000"xmlns="http://xmlns.oracle.com/mds/config"><persistence-config><metadata-namespaces><namespacepath="/sessiondef"metadata-store-usage="mdsRepos"/><namespacepath="/persdef"metadata-store-usage="mdsRepos"/><namespacepath="/xliffBundles"metadata-store-usage="mdsRepos"/>&…

Question of the Week (QOW #1) : How long a shared Application Module will stay in memory?

I'm starting a new thread here. This category is primarily for sharing some interesting questions that I'm seeing while working with ADF developers. Questions will be posted in my blog on every Sunday. You can post your answers as Comments for the corresponding post. At the end of  each week I'll update the post with right answer.

Question of this week (QOW #1):

How long a Shared Application Module(shared at application level) will stay in memory (in other words, when would a shared AM be eligible for garbage collection)?   Post your answers as comments for this post.

Answer(Updated on 14 July 2014):

Thanks all for your answers and interests. I didn't find anything wrong in any answers, great job folks. Let me give you more detailed answer with right set of AM config property names that you may need to be aware of.

Before getting in to the answer, let me answer one related question, What exactly is the concept behind application level shared AM ?

An application scoped s…