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.

Similar Messages

  • 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 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.

  • 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

  • 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.

  • I just got my stolen iPhone 5 back, the thief put find my iPhone app on and I am now blocked from setting it up with their yahoo account attached to iCloud how can I remove this?

    I have contacted the police officer to contact the theif and remove from iCloud but no response yet.  This has been the worst experience ever please help me. Verizon was able to reactivate the phone but I can't get past the log into iTunes portion to even get into the phone

    Called Activation lock, & the only way around it is to use the Apple ID/Password that was used to activate the phone. Unfortunately, Apple won't help you. If you can't get this info, the phone will be useless.
    Don't waste your time going to an Apple store, they can't/won't help you.

  • 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

  • Customize System properties via GPO

    Hi Everybody!!
    I need to customize System Properties using a GPO. I mean apart from the system properties information y need to add company information as telephone number, web site, etc.
    The Operative System of the computer client is Windows 7.
    It will be very helpful if someone give me some tips or references for starting.
    Thanks in advance.
    AG 

     follow these  steps:
    1. Type regedit in RUN dialog box or Start Menu searchbox and press Enter. It'll open Registry Editor, now go to:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
    Under this key, look for a key OEMInformation. If it doesn't exist, create it.
    2. Now select OEMInformation key and in right-side pane, create following
    String values and set their values as shown below:
    Logo - path_of_OEMlogo.bmp_file
    Manufacturer - Any_desired_name
    Model - Any_desired_name
    SupportHours - Any_desired_time_amount_like_24x7
    SupportPhone - Any_desired_phone_number
    SupportURL - Any_desired_URL
    NOTE: OEMlogo.bmp file should be 96x96 in size and can be placed at any location
    GPO
    Use Group policy to create the Reg Key and aslo distribute the files to all PC local Drive

  • PO partners is blocked from purchasing but PO is created successfully

    Dear SAP,
    We have VN(Vendor), PI(Invoice Presented by) or OA(Ordering address) partners in PO.
    If VN is blocked from purchasing, system will generate error message (Vendor is Blocked) and stop user from creating the PO.
    However, if PI and or OA is blocked from purchasing, it does not stop user from creating the PO.
    May i know is there any SAP standard functionality that we can activate for checking the PO partners?
    Please advise.
    Regards,
    William

    Sir,
       I was follow you suggestion which u provide but both msg not trigger ME022 & ME023
    i can able to create Po without any error msg.

  • 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

  • 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