Persistent global application properties

Hi all,
i would like to provide some global persistent properties for arbitrary applications (Web Dynpro, J2EE applications, whatever), which should be changeable at runtime by the applications themselves and should be consistent for the whole cluster. I could use the database and an own service for this but since i'm lazy, i searched the NW 04 documentation and found the chapter about <a href="http://help.sap.com/saphelp_nw04/helpdata/en/0d/7fcb4974874767be388007bf9e5c2a/frameset.htm">Application Configuration Management</a>. Each application gets it's own "appcfg" part, which seems to be freely changeable by the "owner application" of the configuration.
So my questions are:
1. Is this service dedicated to be used for general purposes or should i keep my hands off?
2. Are changes propagated to all server nodes of a cluster (with some delay, as stated in the docs) to get consistent configuration data or is it restricted to the server node, where the changes have been committed?
Thanks in advance.
Regards
Stefan

Hi Stefan,
>
> So my questions are:
>
> 1. Is this service dedicated to be used for general
> purposes or should i keep my hands off?
Not at all. If j2ee-engine-application.xml is involved, this was intended to be used...
> 2. Are changes propagated to all server nodes of a
> cluster (with some delay, as stated in the docs) to
> get consistent configuration data or is it restricted
> to the server node, where the changes have been
> committed?
Definitely. If you find this working differently then this would be definitely a bug.
Regards,
Benny

Similar Messages

  • Best Practice Needed: Global Application Properties...

    Hi All,
    When developing a web-based application that reads certain configurable parameters from .properties files, I usually put the appropriate code in a static block in the appropriate Java class, storing the property in a static final constant. For example, a DBConnection class might have a static block that reads the driver, username, and password from a properties file.
    My question is, what are some "best practice" techniques for accessing and storing such parameters for use in an application? Are all global properties initialized in one class? at the same time? only when first needed?

    over all, I would say that your approach is fine. Personally, I load properties through a single class, some thing like PropertyReader, and have the different classes initialize their static fields via a get method on that class, like getProperty("db.user"). I prefer to load them via a single class because I can place all of my IO trapping in one location, it is easier to implement new security measures and, if necessary, easier to support internationalization.
    I initialize all properties once, at startup, into a Wrapper Object, typically ResourceBundle or Properties (although Hashtable or any some thing else would be suitable). I believe that it is best to initialize all properties at the same time, at startup because the costs of storing properties that may not be used is going to be less then the cost of making multiple IO calls to load properties on a need-by-need basis. In other words, you are almost always going to take a bigger performance hit by loading properties only when a request for that key is received, rather then just loading them all at once.

  • Application Properties file

    Hi,
    I have a java DC which should be able to read some application properties like
    mdm.servername
    mdm.repositoryname
    mdm.username
    I have tried using the ApplicationConfigHandler class in which I created a EAR and Web Module DC and when I run this web module dc as standalone, the properties file "sap.application.global.properties" gets loaded successfully.
    But when I call this webmodule Dc's method to load properties from a Java DC , all the properties are null.
    Is there any other way that I can load properties in java DC which can be modified without having to redeploy the java dc.
    Thanks
    MLS

    Hi
    Use [configuration services |https://help.sap.com/saphelp_nw04/helpdata/en/b8/aa343e32ff1033e10000000a114084/frameset.htm] in order to created application-specific properties that can be modified at run-time.
    Good luck,
    Ola

  • Global Application Contexts - Where to set Client Identifier?

    Hi,
    I am trying to use global application contexts as part of an implementation of fine grain access control.
    This is within an eBusiness Suite environment, specifically CRM, so is a multi-tiered environment.
    Users access both Forms based screens and OA framework screens.
    I believe I need to use global application contexts as users may have multiple database sessions.
    Also, all users will login using the same database login account.
    Provided I can set a unique identifier for a user that persists throughout all their sessions I can make use of the username and client_id parameters of set_context, below:-
    DBMS_SESSION.set_context (namespace => 'XXUOM_CONTEXTS',
    attribute => 'EXEMPT_FROM_VPD_POLICIES',
    VALUE => l_exempt,
    username => USER,
    client_id => pi_user_id);
    The difficulty I am having is finding a suitable place to set the client identifier.
    I am not sure if the value is being cleared by some other code or if the value isn't being set in all sessions.
    I am using:-
    DBMS_SESSION.set_identifier (pi_user_id)
    That I call from after insert triggers on either tables icx_sessions or fnd_logins.
    However, the client identifier is always null when I query it from within the application, via:-
    SELECT SYS_CONTEXT ('USERENV', 'CLIENT_IDENTIFIER') from dual
    If I set the value via a personalisation rule within a Form, then the value remains.
    I would greatly appreciate it if someone can advise me on where I am going wrong.
    Andy

    It's a different patch.
    The patch support have given me is 9275708, FND_GLOBAL.ORG_NAME RETURNS ENGLISH, EVEN WHEN SESSION LANGUAGE IS NOT.
    This patch has been superceded by 12875860, HR SECURITY PROFILE IS NOT SET CORRECTLY.
    So we have applied patch 12875860.
    I've tried to find out from support what happened to the original patch and why it was removed/deleted rather than superceded.
    I have not found it possible to find out what each of these patches does. There's very little documentation on them.
    I have raised an SR.
    The details are 3-4943519401: How to add DBMS_SESSION.SET_IDENTIFIER() to FND_GLOBAL.INITIALIZE.
    The results of:
         select fnd_profile.value('FND_CONNECTION_TAGGING') from dual
         gives nothing on our Release 11 environment.
    select * from fnd_profile_options where profile_option_name = 'FND_CONNECTION_TAGGING';
    gives nothing.
    On Release 12, the results are:
         select fnd_profile.value('FND_CONNECTION_TAGGING') from dual;
         ENABLED
         select * from fnd_profile_options where profile_option_name = 'FND_CONNECTION_TAGGING';
         returns a record.
    Many thanks for continuing to look into this for me.
    Andy

  • Application.Properties Loosing Content

    I am using Action.Properties to set error codes and display them as part of my validation.
    I am setting the Error in a Validate class using the following Syntax
    errors.add(ActionErrors.GLOBAL_ERROR,new ActionError("error.FirstField.invalid"));
    I am routing control back to homepage incase of an error and printing the same using
    <html:errors/>
    This Works Just FIne, Until i re-build the application.
    Once i re-Build, the content in application.Properties disappears. Just Gone!
    Have you guys had the same problem or do i have the patent this rare finding, LOL

    If you are loosing the complete application.Properties file, the reason may be that you are putting this file at wrong place. I think you are putting it in classes folder and when you re build the complete application, all the existing files are flushed by the newly genrated class files. If you are using any advanced editor like WSAD, you should put this file in a package in Java Source. So that when you rebuild the project, it will be copied as it is in the classes folder. And accordingly you need to change the path of this file into struts-config.xml.

  • Best way to manage global application data

    Hello,
    I'm looking for the best way to manage my global application data. I have a program containing about 70 application settings which are loaded from an ini file and organised as clusters and loose variables. I want to be able to use these settings across multiple vi's. The application settings can be modified during execution. Some vi's can change settings and these changes need to be visible accros all vi's.
    What is the best way to manage this. Ideally, I would have one cluster or class containing all the application settings but since the sub vi's run independend, I can't wire them through. 
    From what I've read so far, global variables ain't really well suited for this due to race conditions. The FGV might be a solution but it is not clear to me how to implement this for many variables. (One FGV or multiple FGV's, etc... Does anyone have a good example of this?)
    Are there any other good solutions? Any advice is welcome!
    Best regards,
    Wouter

    You can also create a singleton LVOOP object (maybe a few if you want to logically organize your settings). When you initialize the system you create the object and it uses a DVR internally to store your data. Since this is a singleton object you do not need to wire it through your code. Your subVIs simply call the appropriate methods and it will interact with the class data. A FGV is basically the same thing except that you only have a single VI so you are more limited with your inputs and outputs. A singleton object let's you refine the connector pains based on the methods and what they are doing.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Global Application Parameters for EJB

    Hello all, I did a search for this on these forums and there are there a TON of threads of developers wanting to implement the classic Singleton pattern so that all EJB's of an application can access "Global Application Parameters". Most of these I've been reading achieve this by workarounds that breakdown at the clustering level, since Singletons won't span multiple JVMs.
    Suppose you deploy an EAR that only has EJB jars, so you don't have access to all the convenience of the web tier (context parameters, context Initialization, etc.), so there is no way for your EJB's to detect/intercept an "Application Startup" event and load any necessary values into a Global Application parameter repository.
    This seems such a widely demanded functionality that I wonder if there now a "best practice" way to achieve equivalent of the Singleton pattern in the EJB world that works nicely in a clustered environment?

    I have the same problem
    Thanks

  • Global application context available in Real Application Clusters 11G R1?

    Does anyone know if Global application context is availble is 11G R1? We have an application that uses it and I cannot retrieve context from node two for a client_id that was created and set on node one. I thought this was availbale after 10g? Is anyone else doing this?

    found the answer. It's available in 11G R2
    http://download.oracle.com/docs/cd/E11882_01/network.112/e10574/whatsnew.htm#CJADFCBF

  • Application.properties

    Hi,
    My application is based on struts frame work.
    I am writing application.properties file to Internationalize the messages.
    Now i am strucked in between. i want to add html tags between the messages in application.properties file
    for example...
    new.message=<table>
    <tr>
    <td>
    <li>Add name</li>
    <li>Add age</li>
    </td>
    </tr>
    </table>
    But when i used this in my actual JSP page like
    <bean:message key="new.message "/>. but its showing blank page. I want to know...can i use html tags in properties file. If so how can i achive it. please help me
    Thanks in advance

    all these should be in one line...there shouldnt be any breaks...
    new.message=<table><tr><td><li>Add name</li><li>Add age</li></td></tr></table>
    regards
    shanu

  • Global Application variable

    How do I set a global application variable in a Swing application?
    Namely
    MDI display opens a new window
    new window sets a variable
    close the new window and return to the MDI window
    MDI window needs to use the variable.
    Note: the new window is is its own class object.

    What are you talking about?
    Static variables are "global".
    In some class (it does not really matter which) define
    a static variable. O.K. now you have a "global"
    variable.
    Some people may say that this is "bad" programming
    practice, but it is what you asked for.public static variables of public classes are 'global' in the sense you can refer to them if anywhere in an application. Public classes are also 'global' in this sense.
    However, we don't call them global variables, they are class variables. A global variable is generally defined to be one that is associated with the running application. It has no context other than that. It can be used anywhere at any time without any qualifications. In other words, the are terrible.
    I had to maintain an application that had 50 or so global variables. Some of these variables represented the exact same piece of information so it was cruicial during modifications to make sure that they were kept in sync. Don't use this type of design.

  • Application Properties in Webdynpro

    Hi,
    I need to use Application properties in my webdynpro application so that i can change some settings by using the Application XML.
    I add a Name and Value in the Application Properties and try to retieve the same using the following code.
    IWDApplicationPropertyInfo myCol = wdComponentAPI.getApplication().getApplicationInfo().findInApplicationProperties("TIMEIDHELP");
    wdContext.currentContextElement().setTimeID(myCol.getValue());
    I am always getting the answer as null.
    Can someone help me on this?
    Regards,
    Balaji

    Hi Stefan,
    It does work . But theproperty that i set here needs to be configured from outside the application.
    So i tried to change the value of the property in the xml file of Application properties and restart the dispatcher and my application from the admin tool and try to run the applciation but still the old value is picked up.
    Can you please help.
    The location of the xml file is
    ....\j2ee\cluster\server0\temp\webdynpro\public\local\DYNPro\webdynpro\Applications\com.test.DynApplication
    Regards,
    Balaji

  • Struts and Application.properties

              I think this has been broached before, but if someone could restate the answer, I
              would be most obliged:
              It appears that WLS 6.1 SP2 does not load properties files (like the typical Struts
              Application.properties) when it loads a webapp. This leads to an exception in my
              Struts apps (that work fine on Tomcat 4.0.3) when it can't find any of the application
              tags.
              Anybody run into this?
              

    Name it whatever you want. All that matters is the part before the .properties extension matches what you put in the struts-config.xml:
    <!-- Main resource bundle, contains errors and some generic stuff. -->
    <message-resources parameter="com.company.app.MainResources"
         null="true"/>
    <!-- Alternate resource bundle, contains some special things maybe. -->
    <message-resources parameter="com.company.app.AltResources"
         key="altResourceKey" null="true" />
    // and have the files...
    appdir/WEB-INF/classes/com/company/app/MainResources.properties
    appdir/WEB-INF/classes/com/company/app/AltResources.properties
    // and use them with the bean:message tag...
    <bean:message key="some.main.key" />
    <bean:message bundle="altResourceKey" key="some.alt.key" />The only thing that matters is that several Struts tags, like the <html:errors /> for ActionErrors will only use 1 message resource file. The html:errors tag can specify an alternate resource file, but all the error keys used for that html:errors instance must be in that same bundle. So usually I put all my error messages in the main one and if it's a large app, I put several other resource files for different areas of the app.

  • Web DynPro Application properties Help.

    Hai All,
    I need help in how to use the Help menu text in the application properties, and parameters tab in the application.
    Thanks and Regards,
    G.Sreevathsava.

    Help Menu Text -  Text that is to be displayed as a browser window heading for the help link
    Parameters tab - refer this - http://help.sap.com/saphelp_nw70/helpdata/en/7b/fb57412df8091de10000000a155106/content.htm

  • Classic planning application properties

    Hello,
    How to view created classic planning application properties as what options had selected when creating application from Classic Application Wizard, Select, Calendar, Currencies, Plan Types, etc.
    Regards.

    One of the ways:
    Take a LCM export of planning application and have a look at ApplicationDefinition.xpad file.
    Once backup is done, you can find it at: in 11.1.2.1:
    Oracle\Middleware\user_projects\epmsystem1\import_export\<user>\<Dir>\resource\Configuration\Properties
    Cheers...
    Rahul S.

  • Can LabVIEW application properties (e.g. Callees) be accessed from visual studio (C++)?

    Hello folks,
    Can LabVIEW application properties such as "Callees" be accessed from C++?
    Best Regards,
    Chris

    chassan wrote:
    Hello folks,
    Can LabVIEW application properties such as "Callees" be accessed from C++?
    Best Regards,
    Chris
    You can enable the ActiveX interface in LabVIEW and use its Automation server interface. This interface exports a subset of the VI Server interface to ActiveX. A subset becauseof security concerns. You do not want an arbitrary ActiveX client (possibly remotely) to look at your entire project and change about anything they like.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for

  • Apple logo comes on but that is all it will do-

    the connect to Itunes logo came up on the screen,but before I was able to conect, the apple logo came up and now that is all that happens even after charging?

  • Bulk collection PL/SQL table

    Hi all, 10g version 10.2.0.1 What approach can I take to accomplish the following. I need to build a collection based on the result set of two SQL statements within a loop. Example: FUNCTION( get_info )IS RETURN retrieval_pkg_public_ty PIPELINED TYPE

  • Keep Getting 'Do you want to save changes Msg'

    Hi all Have a small form, two multi-record blocks, everything works ok, have no commits or anything in it but keep getting the message 'do you want to save changes?' if I clear query or exit form, if I press yes I get frm-40400 X amount of records sa

  • What is safety delta time

    Hi Experts Can any one please explain me What is safety delta time in terms of delta data source Thanks

  • Running different safari versions

    Hi, I am looking at obtaining a Mac so that I can test my website on different versions of Safari. My requirement is that the site be accessible and usable by as many versions as possible. Can anyone on here tell me if I can install and run different