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.
gmoCorrect 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
FrankHi 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!.
--AmyIs 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
NaveenJohn,
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ésarPut your class files and proerties files here:
$ORACLE_HOME/bpel/system/classes
marc
http://orasoa.blogspot.com -
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. -
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,
DanSee 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 -
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.ukHello 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
-
How do I sort my address book by the last name, not the first name
AS I created my address book the names were added randomly to the address book. When I print out the address book the names come up with first name, Last name (all in random order alphabetically). I would like them to come up with Last name, first na
-
10.4.8 followed by wireless might mouse = no keyboard?
For everyones info, I installed 10.4.8 minutes before I installed my new wireless Mighty Mouse (sw v1.3) and then by the next reboot the (PC) keyboard that I have running though a usb hub stopped working. As with many problems I've read about before,
-
PGI check in an order related Billing
When I do an Order related Billing in VF01, TAO item category does not have any check on whether PGI is done or not? I need to establish the control on it. Any Exit? Pleasea give ur valuable suggestions. Regards, Anbu
-
Uncertain why this is happening? Each time I try to install the Oracle Client 11.2.0.3 on my laptop, I get this popup stating Error in CreateOUIProcess():5." Wny
-
What id my scratch off code doesn't allow me to redeem? Says "invalid code"
When I input my scratch off code it says "invalid code" and I've tired four times, my mom twice!