Domain Portal

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Friday, 14 September 2007

Automatic Java class invocation after deployment of Oracle ADF application

Posted on 04:34 by Unknown
Recently I was implementing requirement of automatic Java class invocation right after application is deployed on Oracle Application Server. Automatic class loading possibly is required when for example job scheduling system like Quartz is used by application. This means that job scheduling should be started right after application is deployed, so main question is how to to invoke Java class automatically.

In developed sample application - DeploymentRegistration.zip, I have decided not to use any job scheduling invocation, but to implement deployment registration functionality. Implemented logic - when application is deployed, record with history data is stored in the database table. Application itself is based on standard HR schema, however some additional elements are used. You can find SQL script with statements for database table, sequence and trigger in sample application package.

Data is inserted into database table using application module that is looked up and created using a Command-Line Java Test Client for ADF BC. So, this means that ADF BC functionality is accessed from external Java class. Java class code, which is invoked automatically after deployment:

DeploymentHistory class acquires application module, creates new row and commits it into database. You are probably interested, how this code is invoked automatically, after deployment. Automatic invocation is implemented using simple servlet - AutoLoader, this servlet is loaded automatically after deployment and invokes main method in DeploymentHistory class. Servlet code:


AutoLoader servlet is declared in web.xml with load-on-startup setting equal to 1, this means that servlet will be loaded after deployment automatically and init method code will be executed. Declaration in web.xml:


Now we can test developed application. To test it we can use OC4J that comes with JDeveloper, just right-click on main.jspx and choose Run - application will be deployed on embedded OC4J and started. Developed application shows a table with information about countries and provides a button - Deployments History, which opens pop-up window with information about deployments history stored in the database.


Let's say there were several deployments, it is reflected in deployments history:


When running sample application, don't forget to add adf-faces-impl.jar and jsf-impl.jar to application's WEB-INF\lib directory.
Email ThisBlogThis!Share to XShare to Facebook
Posted in ADF | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Groovy - Multiple LOV's per Attribute in JDeveloper 11g
    I was blogging previously about multiple LOV's per attribute functionality. I was using RowImpl class for View object in order to calcu...
  • External Transaction Service in Oracle TopLink
    I have developed sample application, in order to demonstrate how to use External Transaction Service (ETS), when Oracle TopLink is used in M...
  • Workaround for Null Value Bug in ADF List Of Values 11g
    Those of you, who are using List Of Values (LOV) component in ADF 11g, most probably already have noticed bug related to Null value. Simple ...
  • Trip to US
    I'm in US this week, Connecticut. Here is the same weather as in Lithuania, it's winter with about -5 degrees in Celsius.
  • Oracle ADF - between 4GL and J2EE is only one step
    According to ADF architecture described in Oracle JDeveloper 10g (10.1.3) Developer's Guide Section 1.1.1 - Framework Architecture and S...
  • Creating new row using CreateInsert operation
    Sample application - CreateInsert.zip , demonstrates how to create editable table with 'create new row' functionality in ADF BC. We ...
  • Show Buttons based on Disclosed Tab
    In 11g it becomes quite common use case to structure application page with tabbed panels. If you develop your pages based on templates, most...
  • Multilanguage in fixed af:selectOneChoice ADF Faces component
    If someone will face a problem how to enable multilanguage support in fixed af:selectOneChoice component, or simply how to bind fixed af:sel...
  • JDeveloper 11g on Mac OS X Leopard
    I'm using Apple Mac Book Pro for about half of a year, but shame for me all this time I was running Windows OS using Apple Boot Camp so...
  • Why I'm here?
    Oracle for me is more then technology, it is a way how I think. So, I'm creating this blog in order to express my knowledge in Oracle Fu...

Categories

  • ADF
  • Apex
  • Apple
  • BPEL
  • Events
  • Forms
  • Groovy
  • JDeveloper 11g
  • Nomination
  • ODTUG Kaleidoscope
  • OFUG
  • Oracle Magazine
  • Oracle OpenWorld
  • Security
  • SOA
  • Spatial
  • TopLink
  • Traveling
  • Uncategorized
  • Vgo Software
  • Web Services
  • WebCenter
  • WebLogic
  • Workarounds

Blog Archive

  • ►  2008 (72)
    • ►  December (2)
    • ►  November (3)
    • ►  October (9)
    • ►  September (4)
    • ►  August (9)
    • ►  July (6)
    • ►  June (10)
    • ►  May (4)
    • ►  April (5)
    • ►  March (7)
    • ►  February (5)
    • ►  January (8)
  • ▼  2007 (65)
    • ►  December (6)
    • ►  November (7)
    • ►  October (6)
    • ▼  September (4)
      • Sofia - Beautiful City
      • Automatic Java class invocation after deployment o...
      • Oracle Fusion User Group and JDev/ADF Labs
      • Multi-selection and Row Data Editing in ADF Faces
    • ►  August (3)
    • ►  July (4)
    • ►  June (6)
    • ►  May (5)
    • ►  April (6)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2006 (9)
    • ►  December (9)
Powered by Blogger.

About Me

Unknown
View my complete profile