Recently we built a killer ADF Fusion application for one of our customers. The solution was built on time using JDeveloper 11g build 5536 (version important). We tested deployment on the integrated WebLogic server on one our Windows XP Pro laptops, deployed test WebLogic 10.3 server on Windows 2003 machine, installed matching ADF Runtime libraries and were in eager anticipation to see our creation run in a production-like environment.
Little did we know…
The first crises happened when during deployment WebLogic could not find class oracle.adf.share.weblogic.listeners.ADFApplicationLifecycleListener. Thanks to this note we realized that we need to open EAR and comment the listener. And then listeners JpsAppVersionLifecycleListener and JpsApplicationLifecycleListener met the same finale thanks to the note . And finally, listener WLLifecycleListener was removed from EAR. With all those removals, the application was tested on the integrated WebLogic Server.
Finally, WebLogic deployer said that application is successfully deployed. Phew… If you think this is it, then listen to this.
We try to access the application. Application, definitely, fails complaining that we provided NULL password for the database. That was a surprise. You cannot define a data source without specifying password to the database schema. We found a note that we need to add certain parameters to JAVA_PROPERTIES in the setDomainEnv.cmd file. It worked on Windows XP, and did not work on Windows 2003. So, the solution was to change how Application Modules reference the database connection. We switched from JDBC URL to JDBC Data Source.
We access the first page of our application which contains both charts and non-graphical elements. Non-graphical elements rendered ok. BINGO!!!! But all charts failed… The log files provided a very interesting error. It was looking for a data source with name jdbc.NAMEDS instead of jdbc/NAMEDS. So, we had to create an additional data source with JNDI name jdbc.NAMEDS.
Finally it worked. It took us a week to figure out all these steps to understand how to deploy the application. I still do not feel comfortable with removal of the listeners. There must be a way to plug in libraries into the setDomainEnd.cmd file for the libraries to be seen.
Our next task is to connect to our applciation via an OCI driver. Stay tuned.
0 comments ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment