Class-loading-heirarchy - enabling "search-local-classes-first" option

Guys,
I need some assistance with regards to oc4j class-loading hierarchy. Would appreciate some feedback on this...
Let me give you a bit of context first.
Basically we have 3 war modules which we initially were deployed separately on oc4j (transparently deployed by oc4j as ear). Now all of a sudden we have come to the need of instead bundling all the wars in one ear. The problem i started seeing is with respect to the output logs for the application, which was one per war modules initially (this was not clutter everything in one single log file and instead have one per deploy-able unit). The way this was implemented is that we had a log4j.properties bundled with each war with the output-file configuration, and since these 3 wars were deployed separately, the ear class-loader for each application would find one log4j.properties within each, and hence output-logs were generated as expected.
BUT now all of a sudden as we have changed the whole deployment structure, i.e. one EAR, all the application log-outputs are going to one single log file (instead of one for each war). My immediate impression was setting the "search-local-classes-first" would resolve this issue, since then the "web-module-class-loader" (one for each war) would come into play (which i believe doesn't otherwise) and would load/search for the resources/classes first (log4j.properties in our case) from the web-module (both in WEB-INF/lib and WEB-INF/classes folder) and if not found, only then it would give the job to the parent class-loader, which would be the ear-class-loader. But it doesnt seem like its working like that, since even after enabling this option, all logs are going to one log-output file, based on whichever war-module/log4j.properties is loaded first.
Thanks in advance and Regards,
Farhan.
Edited by: FarhanS on Nov 3, 2008 12:33 PM

Guys,
I need some assistance with regards to oc4j class-loading hierarchy. Would appreciate some feedback on this...
Let me give you a bit of context first.
Basically we have 3 war modules which we initially were deployed separately on oc4j (transparently deployed by oc4j as ear). Now all of a sudden we have come to the need of instead bundling all the wars in one ear. The problem i started seeing is with respect to the output logs for the application, which was one per war modules initially (this was not clutter everything in one single log file and instead have one per deploy-able unit). The way this was implemented is that we had a log4j.properties bundled with each war with the output-file configuration, and since these 3 wars were deployed separately, the ear class-loader for each application would find one log4j.properties within each, and hence output-logs were generated as expected.
BUT now all of a sudden as we have changed the whole deployment structure, i.e. one EAR, all the application log-outputs are going to one single log file (instead of one for each war). My immediate impression was setting the "search-local-classes-first" would resolve this issue, since then the "web-module-class-loader" (one for each war) would come into play (which i believe doesn't otherwise) and would load/search for the resources/classes first (log4j.properties in our case) from the web-module (both in WEB-INF/lib and WEB-INF/classes folder) and if not found, only then it would give the job to the parent class-loader, which would be the ear-class-loader. But it doesnt seem like its working like that, since even after enabling this option, all logs are going to one log-output file, based on whichever war-module/log4j.properties is loaded first.
Thanks in advance and Regards,
Farhan.
Edited by: FarhanS on Nov 3, 2008 12:33 PM

Similar Messages

  • Oc4j class-loading-heirarchy - enabling "search-local-classes-first" option

    Guys,
    I need some assistance with regards to oc4j class-loading hierarchy. Would appreciate some feedback on this...
    Let me give you a bit of context first.
    Basically we have 3 war modules which we initially were deployed separately on oc4j (transparently deployed by oc4j as ear). Now all of a sudden we have come to the need of instead bundling all the wars in one ear. The problem i started seeing is with respect to the output logs for the application, which was one per war modules initially (this was not clutter everything in one single log file and instead have one per deploy-able unit). The way this was implemented is that we had a log4j.properties bundled with each war with the output-file configuration, and since these 3 wars were deployed separately, the ear class-loader for each application would find one log4j.properties within each, and hence output-logs were generated as expected.
    BUT now all of a sudden as we have changed the whole deployment structure, i.e. one EAR, all the application log-outputs are going to one single log file (instead of one for each war). My immediate impression was setting the "search-local-classes-first" would resolve this issue, since then the "web-module-class-loader" (one for each war) would come into play (which i believe doesn't otherwise) and would load/search for the resources/classes first (log4j.properties in our case) from the web-module (both in WEB-INF/lib and WEB-INF/classes folder) and if not found, only then it would give the job to the parent class-loader, which would be the ear-class-loader. But it doesnt seem like its working like that, since even after enabling this option, all logs are going to one log-output file, based on whichever war-module/log4j.properties is loaded first.
    Thanks in advance and Regards,
    Farhan.
    Edited by: FarhanS on Nov 3, 2008 12:36 PM

    Guys, i need some input here....
    I turned on the class-loading trace and found out as to what is going on...but still wondering as to whats the reason for this behavior...
    So basically browsing through the trace, gave me the following important segments (as below with my comments)....
    1) Firstly, as the class-loading trace below, the log4j.jar is loaded up from the ear/lib directory (and hence by the ear-class-loader) and as it says the one in the web-inf/lib is ignored....Wonder why it picks up the one from ear/lib directory WHEN i have set the search-local-classes-first to "true", isn't the very purpose of the attribute to delegate the class-loading to the parent class-loader IFF the same is not found locally...
    Code-source /oracle_apps/j2ee/portal/applications/wes-ear/wes-wicket-1.3.X-SNAPSHOT/WEB-INF/lib/log4j-1.2.15.jar (from WEB-INF/lib/ directory in /oracle_apps/j2ee/portal/applications/wes-ear/wes-wicket-1.3.X-SNAPSHOT/WEB-INF/lib)
    has been ignored. It is a copy of /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib), which is already visible in the search path of
    loader wes-ear.web.wes-wicket-1.3.X-SNAPSHOT:0.0.0. 2) Now on the other hand as you would see from the log-excerpts below, the log4j.properties resource file (with the log-output-file-name and all) is picked up from the very web-module class-loader, but as you would notice further, the log4j classes are initialized by the ear-loader itself with which the log4j classes are visible to all the other war-modules and hence don't even require re-initializing the log4j.properties...
    ====== THE RESOURCE CORRECTLY LOCATED BY THE WEB-CLASS-LOADER ======
    Resource found: log4j.properties. Loader: wes-ear.web.wes-wicket-1.3.X-SNAPSHOT:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/wes-wicket-1.3.X-SNAPSHOT/WEB-INF/classes/
    (from WEB-INF/classes/ in /oracle_apps/j2ee/portal/applications/wes-ear/wes-wicket-1.3.X-SNAPSHOT/WEB-INF/classes)
    === ALL THE Log4j CLASSES BELOW ARE BEING INITIALIZED/LOADED BY THE EAR-CLASS-LOADER =====
    Class found: java.net.URL. Initiating loader: wes-ear.root:0.0.0. Defining loader: jre.bootstrap:1.5.0_06. Source: jre bootstrap
    Class to be defined: org.apache.log4j.PropertyConfigurator (12024 bytes). Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class found: org.apache.log4j.PropertyConfigurator. Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class to be defined: org.apache.log4j.helpers.FileWatchdog (1875 bytes). Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class found: org.apache.log4j.helpers.FileWatchdog. Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class to be defined: org.apache.log4j.PropertyWatchdog (753 bytes). Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class found: org.apache.log4j.PropertyWatchdog. Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class found: java.io.InputStream. Initiating loader: wes-ear.root:0.0.0. Defining loader: jre.bootstrap:1.5.0_06. Source: jre bootstrap
    Class found: java.io.FileInputStream. Initiating loader: wes-ear.root:0.0.0. Defining loader: jre.bootstrap:1.5.0_06. Source: jre bootstrap
    Class found: java.util.Properties. Initiating loader: wes-ear.root:0.0.0. Defining loader: jre.bootstrap:1.5.0_06. Source: jre bootstrap
    Class found: java.util.StringTokenizer. Initiating loader: wes-ear.root:0.0.0. Defining loader: jre.bootstrap:1.5.0_06. Source: jre bootstrap
    Class to be defined: org.apache.log4j.Appender (676 bytes). Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class found: org.apache.log4j.Appender. Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class to be defined: org.apache.log4j.DailyRollingFileAppender (5724 bytes). Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)
    Class to be defined: org.apache.log4j.FileAppender (4764 bytes). Loader: wes-ear.root:0.0.0. Source: /oracle_apps/j2ee/portal/applications/wes-ear/lib/log4j-1.2.15.jar (from application.xml <library-directory> in /oracle_apps/j2ee/portal/applications/wes-ear/lib)Thanks in advance and Regards,
    Farhan.
    Edited by: FarhanS on Nov 4, 2008 2:43 PM
    Edited by: FarhanS on Nov 4, 2008 2:47 PM

  • Load local classes first

    Hi, how can i setup the <web-app-class-loader search-local-classes-first="true" /> directive in Jdeveloper?
    I tried modifying manually the orion-web.xml file but every time i run the project from the ide it overrides the file.
    thanks in advance,
    Jorge Burga.

    I had a similar problem and I don't know the cause of it either. After I commented out that same line I was able to use Data-Sources. The error I got was:
    JBO-30003: The application pool (myservices.appmodules.MyAppModuleLocal) failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/MyDS

  • Error "Unable to load word breaker for locale 0. Error code 8007007e." with search service application.

    I recreate the Search service application and the default Content source stayning in the 'Recovering' status.
    The log give multiple error 'Unable to load word breaker for locale 0. Error code 8007007e.'
    The default language is English and the reference in registry for word breaker dll is naturallanguage1.dll but I found only the naturallanguage6.dll.

    Hi,
    For your issue, check your current language settings and ensure that search supports the current language.
    On the SharePoint Server open Registry Editor (Start -> type “Regedit” and hit enter). 
    Point to : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OfficeServer\14.0\Search\Setup\ContentIndexCommon\LanguageResources\Default\English
    Under the registry key for each of the languages there is a value called StemmerDLLPath and WBDLLPathOverride
    Updated the registry entry with NATURA~1.dll to NATURA~2.dll
    Point to Start -> Administrative Tools -> Services, right click on SharePoint Server Search 14 and click on Restart.
    Performed a Full Crawl and wait for the Full Crawl to complete and try searching again.
    For more detailed information, refer to the following blogs:
    http://blog.ithinksharepoint.com/2008/04/20/a-word-breaker-was-not-found-for-the-given-language-error-when-crawling-content/
    http://www.sharepoint2013.me/Blog/Post/175/Word-breakers-in-SharePoint-2013
    Best Regards,
    Lisa Chen
    Lisa Chen
    TechNet Community Support

  • How could I to load my applet from local

    hI all,
    How can i to load my applet from local file system.
    Thanks

    Put it anywhere you want. Put the associated HTML file in the same directory as your .class file and double click on the HTML file. Your browser should open up and display your Applet.

  • Want to open 2nd tab and have it load the home page which the first tab opens.

    Want to open 2nd tab and have it load the home page which the first tab opens. The first tab opens Google's advance search, the second tab opens a blank window. I always want Google to be in a new page.
    == This happened ==
    Every time Firefox opened
    == always

    You can look at one of these extensions:
    NewTabURL : https://addons.mozilla.org/firefox/addon/2221
    New Tab Homepage : https://addons.mozilla.org/firefox/addon/777

  • 3.1 Bug Report: "Enable Search" in Create SQL Report wizard

    Hi,
    when "Enable Search" is set to Yes in the "Create SQL Report" wizard, the label template of the page items is set to NULL, it should be "Optional Label" (the default of the theme).
    The PX_ROWS page item is not referenced in the "Number of Rows (Item)" property of the report. That means the user can choose what he wants, it never gets used.
    BTW, it would be useful to write the PX_ROWS into a user preference when the page gets submitted and based the source type on this preference.
    Thanks for looking into it.
    Patrick
    My APEX Blog: http://www.inside-oracle-apex.com/
    The APEX Builder Plugin: http://builderplugin.oracleapex.info/ New
    The ApexLib Framework: http://apexlib.sourceforge.net/

    Hi Christina,
    just noticed that the "Reset Pagination" process which is also generated by the wizard doesn't contain the request "Reset" in the Condition Expression 1
    -> Pressing the Reset button should always set the report to the beginning.
    Thanks
    Patrick
    My APEX Blog: http://www.inside-oracle-apex.com/
    The APEX Builder Plugin: http://builderplugin.oracleapex.info/
    The ApexLib Framework: http://apexlib.sourceforge.net/

  • Not able to load page with contents to be shown on selecting first option

    I have one.jsp which has a select box whose values are got from the database..on change of option, the two.jsp is excuted (which includes one.jsp using one.jsp) and the corresponding results are shown...
    As of now i am using the select box with the first option as "select the option"..
    Now in the select box, i dont want the use
    [<option>--Select the option--</option>/code]
    ...i want to load the select box with the database values in one.jsp and load the corresponding contents to be shown for the  first option value automatically using two.jsp by default...
    can anyone help me out in this....Urgently needed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Let me try to explain this with example:
    Say The select box contain these values: Fruits and Vegetable which say are retrieved from the database.
    the onchange function retrieves the following if Fruits are selected:
    Examples of fruits: mango,apple
    Similarly if Vegetables are selected, the followin is displayed:
    Example of Vegetable: Raddish, Carrot.
    Since i was using the "Select a option" as the first option, when i clicked on fruits the examples of fruits are displayed and if i select vegetable the example of vegetables are displayed.
    Now i dont want to use the "Select a option". I just want to show the option values as fruits and vegetables and by default the examples of fruits should be displayed. If i select vegetables the examples of vegetables should be selected.
    Currently what is happening is that i am not able to show the examples of fruits by default. Secondly, I am able to show the examples of vegetables on selecting the Vegetables from the select box but if i select the Fruits again, the examples of fruits are not been displayed.
    Hope you get this better now...Any solutions...

  • How do I fix error message "unable to load sync UI Corel localized.dll"

    How do I fix an error message "Unable to load sync UI Corel localized.dll"? All of a sudden I can no longer sync my Windows PC to my iphone. I also noticed that just prior to the problem occuring there was an itunes software upgrade that occurred. It may or may not be related to the problem.

    Hi Barrlee,
    Thanks for using Apple Support Communities.  If iTunes doesn't recognize your iPhone, this article may help:
    iOS: Device not recognized in iTunes for Windows
    http://support.apple.com/kb/TS1538
    If issues persist, a thorough removal and reinstall of iTunes would be the next thing to try:
    Removing and reinstalling iTunes and other software components for Windows Vista, Windows 7, or Windows 8
    http://support.apple.com/kb/HT1923
    Cheers,
    - Ari

  • Why do I get "RUNDLL Error Loading" C:\documentsandsettings\owner\local\applicationdata\adobe\abbyy\

    Upon starting up the computer I keep receiving the below error message:
    “RUNDLL Error Loading”
    C:\documentsandsettings\owner\local\applicationdata\adobe\abbyy\fewsacqr.dll
    The specified mode could not be found”
    I found the file and deleted it but still get the mesage.
    Thanks

    You also need to delete it from your Startup list.

  • How to configure TREX to enable search in MDM?

    Hi All,
    Has anyone configured TREX to enable search in MDM before?
    Can it be done?
    Please provide help on this.
    Thanks
    Rajat.

    Hi Rajat,
    For the configuration of TREX to enable search in MDM, check the below link which gives the complete information of TREX 6.1
    Link : https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/1545e1bf-0d01-0010-a5ab-f80e574423bf
    Hope this would be helpful!!!!!!!!
    Regards,
    Parul

  • Updation of option classes and option item in already created model

    Let us say
    Model A
    Option class A1
    Option item a11
    Option item a12
    Option class A2
    Option item a11
    Option item a22
    We are selling this product to a customer with service warranty attached for a year.
    Then in a weeks time you are adding or deleting an option class/ option item.
    Will it affect the product already sold to the customer while returning for service.
    Also, the models are not created in BOM, these are Rule Based Models with out BOM
    Is there any revision no. we can assign to the changes done?
    Regards,
    Pavithara R
    Edited by: Pavithara Rathinavel on Feb 9, 2012 3:38 AM

    Typically, it is better to end-date components in ATO / option class than deleting them.
    In your case, even if you delete them, the configuration is already present on the sales order and the component is already present on the * number BOM. So you should be ok.
    It is just that if you were to copy that old sales order, you may get validation errors because the old component is not valid anymore.
    Hope this helps,
    Sandeep Gandhi

  • Is there My Content or Nokia Search (local) for s4...

    Anybody know of a s40 application that can search local content on the phone just like the Nokia Search s60?
    I have a 6500 classic and it has a pre installed nokia search but it only searches using web Yahoo..
    I have seen some screenshots that the s60 version can search content locally (sms, gallery, calendar ,etc.) but i cant find this feature on s40..
    anybody know an alternative? or a version that can do that?
    thanks

    Jailbreaking will not help you with that. It is a matter of what vendors are dealing wheat suppliers, they aggrements they have in place, and the content they can get, and where (geographically) they can provide it.  Other than iTunes, Apple has no control over that (and limited control even then).
    I've been using an app called CanIStream.It for a while. Not always 100% accuratre, but has helped to find some content. I think they have a corresponding website, but not sure.

  • Why does Firefox load to YAHOO search?

    When I load Firefox it loads as Yahoo Search.
    I don;t want Yahoo search.

    Resetting Firefox will fix it - [[Reset Firefox – easily fix most problems]]
    You can learn more about search settings here - [[Search bar - Easily choose your favorite search engine]]

  • Problems since I downloaded Adobe Creative Suite Standard 6Could not load the Enable Async I/O modul

    Could not load the Enable Async I/O module because it does not work with this version of Photoshop.
    Could not load the MMXCore Routines module because it does not work with this version of Photoshop.
    Could not load Fast Core Routines
    When I save as from Photoshop, I cannot save as a tiff – the file extension is jpf
    When I save as from Photoshop, I cannot save jpg – the file extension is cin.
    These are the messages I get and I just cannot seem to save to tiff or jpg despite changing them in the format they still save as stated and then I cannot reopen them

    You mistakenly copied plugins from a previous version of Photoshop.
    You should only copy third party plugins (and optimally, those should be reinstalled instead of copied).
    Get rid of the obsolete plugins you loaded by mistake.

Maybe you are looking for