Setting system properties accessible from BPEL independent of ENV

I am implementing a BPEL Process in which I am referring to a folder in my local server.Is there any way where I can set some sytem properties such way that the folder path could be dynamically accessed independent of the server/environment.
Ex:-in dev environment I am referring to this location - 'aia/tmp/DCTM/Input'
in devtest environment I want it to refer to this location- 'tmp/DCTM/Input'
Can we have any generic settings for this requirement?
Regards,
Niva

You can try using bpel preferences. You can change the values of these preferences @ runtime using the em console and the value changes dynamically without server restart.
Ex:
In composite.xml :
<component name="sample">
<implementation.bpel src="sample.bpel"/>
<property name="bpel.preference.folderLoc">aia/tmp/DCTM/Input</property>
<property name="bpel.preference.customProp">xyz</property>
</component>
and use ora:getPreference(folderLoc) to get it from within a BPEL process
and to change the value from em :
EM>Farm_soa_domain>weblogic domain>your_domain>soa_server1>right click menu>system Mbean browser>oracle.soa.config>server:soa_server1>SCAComposite>your project>SCAComposite.SCAComponent>processName>
Click the properties attribute : you should see the folderLoc and customProp and be able to change those.
Hope this helps.

Similar Messages

  • Is contextInitialized() blocked from setting System properties?

    A certain 3rd party app we're using within a web app requires a specific System
    property be set. Since it's a local path, we'd like to shy away from hardcoding
    a -D into the startup script, and instead do it via a ServletContextListener and
    set the property within contextInitialized(). In WL7.0sp2, it seems to hit the
    line in our listener where it tries to set a System property, and nothing happens.
    It doesn't seem to throw an exception, write anything to the console, nothing.
    Is there a security setting that blocks contextInitialized() methods from setting
    System properties? Is it a WL thing, or maybe a servlet spec thing? It works
    if we use a dummy servlet set to pre-load, where we set the System property in
    the servlet's init() method, but that's a little tackier than doing it in one
    single context init listener.

    Turns out the context-param that I was trying to use as the value of the System
    property was null. When it sets a non-null value, it works. But apparently when
    the value of the System property is null, you get the weird behaviour described
    below: it's as if the tread just stops. I tried setting a breakpoint and stepping
    through, but it immediately went into weblogic security and threading classes
    and never returned. So now I'll have a new question about when context-params
    load during deployment, but I'll post that separately.
    "Mark Griffith" <[email protected]> wrote:
    I don't know of any restriction. Your saying it never sets it? The
    app
    deploys but it is not there in the system properites?
    Have you tried setting a break point and stepping?
    Very strange.
    mbg
    "dave thompson" <[email protected]> wrote in message
    news:3ecac0f8$[email protected]..
    A certain 3rd party app we're using within a web app requires a specificSystem
    property be set. Since it's a local path, we'd like to shy away fromhardcoding
    a -D into the startup script, and instead do it via aServletContextListener and
    set the property within contextInitialized(). In WL7.0sp2, it seemsto
    hit the
    line in our listener where it tries to set a System property, and nothinghappens.
    It doesn't seem to throw an exception, write anything to the console,nothing.
    Is there a security setting that blocks contextInitialized() methodsfrom
    setting
    System properties? Is it a WL thing, or maybe a servlet spec thing?It
    works
    if we use a dummy servlet set to pre-load, where we set the Systemproperty in
    the servlet's init() method, but that's a little tackier than doingit in
    one
    single context init listener.

  • How do I set System properties within WL6.0?

    I am setting WL6.0 up to have a startup class, but this class needs to
    read system properties which have not yet been set. How do I set these
    up within weblogic? I was able to get the startup class set up, but it
    needs these system properties to continue.
    gmo

    Correct on all points. The one advantage of doing this in java is that you can more easily do more
    complex things like accessing configuration information from a remote data store (like a database).
    Dimitri Rakitine wrote:
    These are not needed if you simply replace java ...lots of options... weblogic.Server with
    java ...lots of options... startmyWLS in the script which starts WebLogic, but, on the other
    hand, this solution is no different from simply adding -DmyProperty=myValue to the startup script
    (I think that the ultimate goal is the ability to deploy(and redeploy!) components,
    without any mods to the particular vendor's startup scripts of anything of that nature).
    Kumar Allamraju <[email protected]> wrote:
    Thanks to robert for a quick workaround..
    I tried to start the WLS with the following piece of code and actually i need to set
    some additional properties
    for successful server startup.
    Here it is
    import java.util.Properties;
    public class startmyWLS
    public static void main(String[] args)
    Properties props = System.getProperties();
    props.put("myProperty", "myValue");
    props.put("bea.home", "E:\\bea");
    props.put("weblogic.Domain", "mydomain");
    props.put("weblogic.Name", "myserver");
    props.put("java.security.policy",
    "E:\\bea\\wlserver6.0\\lib\\weblogic.policy");
    System.setProperties(props);
    weblogic.Server.main(args);
    Make sure you run this from E:\bea\wlserver6.0., as it tries to read config.xml
    config\[your-domain-name] from this
    directory.
    Kumar
    Robert Patrick wrote:
    import java.util.Properties;
    public class StartMyWebLogicServer
    public static void main(String[] args)
    Properties props = System.getProperties();
    props.put("myProperty", "myValue")
    System.setProperties(props);
    weblogic.Server.main(args);
    gmo wrote:
    That won't work since it has to be 'outside' of the code. It's a service, and
    services are started when weblogic is started up, not when I call a bean.
    And it has to be dynamic, since the properties will vary on evry installation.
    Robert Patrick wrote:
    You can also use System.setProperty() or a combination of
    System.getProperties() followed by a System.setProperties()...
    gmo wrote:
    They are not normal system properties. I'm using some open source code, and
    it requires settings to be system properties, but they are specific to the
    application, which means that they are not already in the system
    properties. I know how to get them, and after some more research, you can
    set them on the command line when starting up weblogic. However, is this
    the best way to set system properties?
    Robert Patrick wrote:
    What "system properties" are you trying to find?
    gmo wrote:
    I am setting WL6.0 up to have a startup class, but this class needs to
    read system properties which have not yet been set. How do I set these
    up within weblogic? I was able to get the startup class set up, but it
    needs these system properties to continue.
    gmo
    Dimitri

  • Setting system properties: difference between "-D" and "System.setProperty"

    Hi.
    I have a program that relies on the jogl library to display graphics. Internally, jogl loads a native library from disk, with a System.loadLibrary() call. In turn, loadLibrary searches the paths in the system property "java.library.path" to find the jogl DLL/SO files. So, it is my responsibility to ensure that the "java.library.path" property is correctly set.
    There are two ways that I know of to set system properties: as an argument to the JRE via the "-D" option and from within an application with the System.setProperty method. However, I have noticed that only the former gives the desired behavior. That is, if I do:
    java -Djava.library.path=lib MyProgram{code}
    the code in jogl.jar is able to successfully find and load the native libraries in lib/, but if I do:
    {code:java}System.setProperty("java.library.path", "lib");{code}
    at the beginning of main in my program (before the classes requiring jogl are loaded), I end up with an UnsatisfiedLinkError.
    Why does this happen? Why do the 2 methods produce different results? Is specifying native library paths on the command line the only way to ensure that they are found?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    See the [System Properties Tutorial|http://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html] section on "Writing System Properties" which says:
    Warning: Changing system properties is potentially dangerous and should be done with discretion. Many system properties are not reread after start-up and are there for informational purposes. Changing some properties may have unexpected side-effects.
    Also see the [setting java.library.path property in java code|http://forums.sun.com/thread.jspa?threadID=627890] thread in the JNI forum.

  • Setting system properties for IDE JVM

    I need to set system properties in order to turn tracing on for a JDBC driver being called by the IDE. Is there a way to do so?

    Thanks for the reply, but I'm still not getting where I need to get. It appears that either the IDE runs a different copy of my jar file in some obscure location, or it runs with some sort of restricted permissions.
    My driver does not seem to write to its trace file when running in the IDE. It works when I deploy things, but I need to trace the IDE since it does not appear to like something I'm doing.
    I have put a line of code in the driver that writes to a file whenever an instance of the Driver Class is created, but that doesn't seem to get the job done, either. I even put this code in a static initializer. No go.
    Any help greatly appreciated!

  • Setting System properties and classpath at boot

    Hi all,
    I'm pretty new to weblogic and I'd need to set some system properties and classpath definitions for my servers at boot. Can I set them via the Administration console or just adding them to the startWeblogic/startManagedWeblogic using the standard -cp and -D flags ?
    I've found in the Console, there's the Server Boot properties. However adding them there didn't work. Correct me if I'm wrong, this option can be used ONLY when starting the servers from the Node Manager ?
    Thanks
    Frank

    Hi Frank,
    You are right!!!!
    But you can set them with in setDomainEnv file under java_option.
    Please set under
    Unix
    JAVA_OPTION = "${JAVA_OPTION} -DXXXXX"
    In Windows
    set JAVA_OPTION = %JAVA_OPTION% -DXXXXX
    Hope this will help you.
    Regards,
    Kal

  • Setting system properties of windows using java

    Hi,
    I am doing a project in networking using java in which i need to get and set Operating system(Windows) properties .
    I am able to do the GET part but i face problem in setting the system properties permanently.
    Please help me!.
    --Amy                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Is there any way of setting the properties other than employing the useo of JNI.

  • Setting system properties while startup

    Hi all,
    How do i set a system property while Jdev is starting up? It starts with an executable which in turn calls JVM.
    TIA
    Naveen

    John,
    Thanks for the jdev.conf tip!!
    I add: local testing; in each project, Runner--> Java options add your -Dparam=value
    Production deployment; on the java startup cmd line to start OC4J
    My solaris startup script for /etc/init.d that I sym link to from /etc/rc3.d ...
    #!/sbin/sh
    # As root copy this file to file /etc/init.d/oc4j
    case "$1" in
    'start')
    # clean up the deployment directory automatically
    JBOVARS="-Djbo.logging.trace.threshold=3 -Djbo.logging.show.timing=true -Djbo.debugoutput=console -Djbo.jdbc.trace=true $JBOVARS"
    JBOVARS="-Djbo.ampool.dynamicjdbccredentials=false -Djbo.maxpoolcookieage=1800 -Djbo.dofailover=false $JBOVARS"
    JBOVARS="-Djbo.jbo.doconnectionpooling=false -Djbo.ampool.resetnontransactionalstate=false $JBOVARS"
    JBOVARS="-Djbo.ampool.dynamicjdbccredentials=false $JBOVARS"
    JBOVARS="-Djbo.pers.max.active.nodes=50 -Djbo.pers.max.rows.per.node=200 $JBOVARS"
    JBOVARS="-Djbo.ampool.minavailablesize=100 -Djbo.ampool.maxavailablesize=200 $JBOVARS"
    # hot deploy support
    JBOVARS="-Djbo.server.in-oc4j=true $JBOVARS"
    PROPERTIES="-Dorg.apache.commons.logging.simplelog.showlogname=true -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.defaultlog=all $PROPERTIES"
    PROPERTIES="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog  -Dlog4j.debug=true $PROPERTIES"
    # Set scribeFindOffenderURLEnvVar to non-null string to do Redirect to Scribe
    PROPERTIES="-Djscribe.scribeHostEnvVar=http://10.2.22.127:8080 -Djscribe.scribeFindOffenderURLEnvVar= -Djscribe.scribeHostEnvVar=http://10.2.22.130:8888 $PROPERTIES"
    # Enable setting of default userUIContext values, loser checking etc.
    PROPERTIES="-Djscribe.debug=true $PROPERTIES"
    # Give the VM 1Gb of RAM out of 2Gb total.
    JAVACMDLINE="java -server -Xrs -Xmx1024m -Xms256m $PROPERTIES $JBOVARS  -jar oc4j.jar -verbosity 9"
    echo $JAVACMDLINE > /tmp/oc4j-start-cmd.txt
    su oracle -c "cd /jdev/j2ee/home; pwd ; $JAVACMDLINE  2>&1 | /usr/local/bin/mlog -c -o /jdev/j2ee/home/log/oc4j_console.log -s 10000000 &"
    'stop')
    /usr/bin/pkill -x java
    # The above cmd will kill all instances of java including other instances of oc4j via
    # script
    echo "FYI, this cmd has just killed off all instances of java"
    #echo "including a second or other instance of Orion (oc4j2 script)"
         echo "Usage: $0 { start | stop }"
         exit 1
    esac
    exit 0

  • Reading a properties file from BPEL Process (jar)

    Hello,
    I've created a .jar in which i have various classes and a xml file where i keep certain properties.
    I have a BPEL Process in which i've embedded java code to access the classes in the jar.
    I've created a folder in <ORACLE_HOME>/MyLibrary and added the jar. After, i've included this path to the domain.xml located in <ORACLE_HOME>/soasuite/bpel/domains/default/config into the property: "bpelcClasspath".
    When i try to run the process, i get a "<BPELExecution::BPELProcess1> executing <exec> at line 251
    java.lang.NullPointerException
         at java.util.Properties.loadFromXML(Properties.java:700)
         at com.gepe.ldap.LDAPConfiguration.readConfig(LDAPConfiguration.java:26)".
    Apparently the properties file is not being found, am i correct?
    How can i solve this?
    Thank's in advance,
    César

    Put your class files and proerties files here:
    $ORACLE_HOME/bpel/system/classes
    marc
    http://orasoa.blogspot.com

  • Setting system properties

    hi,
    i want to change my JVM properties("user.dir", "os.name" etc...) using JNI.
    So the setProperty() method have 2 parameters that's why i have tried to do this :
    sys = (*env)->FindClass (env, "java/lang/System");
    meth = (*env)->GetStaticMethodID (env, sys, "setProperty", "(Ljava/lang/String;)Ljava/lang/String;","(Ljava/lang/String;)Ljava/lang/String;");
    (*env)->CallStaticObjectMethod(env, sys, meth, (*env)->NewStringUTF (env, &key),(*env)->NewStringUTF (env, &newVal));
    I don't understand why it doesn't work.
    Can anyone help me?
    Thanks by advance

    >
    I don't understand why it doesn't work.
    Can anyone help me?And what do you think that this is going to achieve?
    If you use it in your code it will have an impact. If it is used by the Java API it is likely to not have any impact. Many values in the properties are cached and will not be refreshed in the value in Properties changes.

  • J2ME system properties

    In J2ME wireless toolkit, we can add system properties on the "User Defined" tab under settings. These properties can then be accessed by the Midlet. I am using JDeveloper with JWE. From within JDeveloper, I don't see any such option to set system properties. How can I achieve this?
    Thanks for your help.

    You can manage midlet attributes from the property page of the midlet suite. This is in step 4 with ".MIDletInfo" settings.
    Kalle

  • URGENT: Passing system properties to individual thread processes

    Hi:
    I'm trying to invoke multiple java Servers from a Controller class to enable starting all the servers in a single JVM. The code is shown below:
    public class Controller {
    /** Creates new Controller */
    public Controller() {
    * @param args the command line arguments
    public static void main(String args[]) {
    (new Thread(new Runnable() {
    public void run() {
    ChatServerRMI.Server.main(null);
    })).start();
    (new Thread(new Runnable() {
    public void run() {
    LoginService.LoginServerBaseImpl.main(null);
    })).start();
    However I want to pass system properties/arguments to each main() call. Can someone please explain me how this can be done.....ur help will be appreciated with D$s!
    Thanks in advance.

    If by "system properties" you mean the system properties accessible by System.getProperty("user.dir") and the like, you don't have to do anything to make those available to the threads. They are global and any piece of code can access them.
    If you want to pass arguments to the various "main" methods as if they had been typed at the command line, you just make an array of strings with those arguments and use it as the parameter. For example:ChatServerRMI.Server.main(new String[] {"-port" "2023"});And if you don't want to pass any parameters, do it like this:String[] nothing = new String[0];
    LoginService.LoginServerBaseImpl.main(nothing);

  • Sun Application Server 8.1  (System Properties)

    When trying to access the System Properties, I get the following exception:
    <i>org.apache.jasper.JasperException: access denied (java.util.PropertyPermission * read,write)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServl etWrapper.java:384)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl et.java:301)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java :251)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:585)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil .java:249)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUt il.java:282)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(Secu rityUtil.java:165)
    root cause
    java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)
         java.security.AccessControlContext.checkPermission(AccessCon trolContext.java:264)
         java.security.AccessController.checkPermission(AccessControl ler.java:427)
         java.lang.SecurityManager.checkPermission(SecurityManager.ja va:532)
         java.lang.SecurityManager.checkPropertiesAccess(SecurityMana ger.java:1252)
         java.lang.System.getProperties(System.java:560)
         org.apache.jsp.TestXlatServices_jsp._jspService(TestXlatServ ices_jsp.java:79)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.ja va:105)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServl etWrapper.java:336)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServl et.java:301)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java :251)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:585)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil .java:249)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUt il.java:282)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(Secu rityUtil.java:165) </i>
    I don't know how to allow my java code to access/set System properties. Is this possible, and how do i do it?
    Thanks,
    Dan

    See the following documentation concerning use of the server.policy file:
    http://docs.sun.com/app/docs/doc/819-2556/6n4rap8po?a=view
    You should find additional help on the Application Server-specific forums:
    http://forum.sun.com/jive/category.jspa?categoryID=7
    Chris

  • Directly set role properties

    Hi,
    is it possible to set role properties directly from a provider
    so that they will NOT be stored in user profile ?
    I've defined a provider (extendes JSPProvider) and a channel. The channel XML defines a string property:
    <...name="key" value="abc" ...>
    The channel JSP shows this string. Within the Edit-Screen you can modify key=abc to a new value. But when the
    provider calls the setStringProperty method the portal allways create a new channel in user profile and does not
    overwrite the string in the role.
    I've tried lock=true/false, propagate=true/false, merge=...
    Any ideas ?

    Hi,
    I don't think there is a simple way to do this...
    The reason for that is the inherit relationship in channel definitions and desktop profile.
    Why do you want to overwrite the default portal behaviour?
    I am just curiuos, why do you want to allow every user to
    to overwrite an attribute in a Role and how your channel
    would know which role to overwrite(for nested Roles)?!
    Cheers,
    Alex :-)

  • How to set JVM system properties in Oracle Portal ??

    Hello Guys,
    I want to set javax.net.ssl.trustStore="path to keystore" ,JVM system properties on oracle portal,
    Like i want to configure my keystore with oracle portal so that my application can make a success full connection with back end using https.
    i read the following note from one of the Oracle tech note,which says that
    It is important that this system property is passed as a command line option to Oracle Application Server Containers for J2EE (OC4J). Setting the property in oc4j.properties will not help because the system property is read first before OC4J reads this file. Therefore, it is best to modify the <java-option> line in the OC4J_portal section of ORACLE_HOME/opmn/conf/opmn.xml.
    So, i made the required changes to OC4J_portal section of opmn.xml file as below
    added value is shown in bold
    <data id="java-options" value="-server -Xrs -Djava.security.policy=C:\oracle\OraPortal\j2ee\OC4J_Portal\config\java2.policy -Djava.awt.headless=true -Xmx256m -Djavax.net.ssl.trustStrore=C:\keystore1 -Djavax.net.ssl.trustStrorePassword=password1"/>
    Even after making these changes, my application not able to make connection using https.
    Could u guys explain me, what things are going wrong or somethings else i need to do to make it work.
    Any thoughts would be highly appreciated.
    Thanks
    <Neeraj Sidhaye/>
    http://ExtremePortal.blog.co.uk

    Hello Guys,
    I want to set javax.net.ssl.trustStore="path to
    keystore" ,JVM system properties on oracle
    portal,
    -Xmx256m -Djavax.net.ssl.trustStrore=C:\keystore1
    -Djavax.net.ssl.trustStrorePassword=password1"/>Hi,
    if the above is an exact copy of the values you inserted then it looks like you have two typos in the command line parameters.
    -Djavax.net.ssl.trustStrore -> trustStore
    -Djavax.net.ssl.trustStrorePassword -> trustStorePassword

Maybe you are looking for