Things in use:
Ubuntu 9.04 (jaunty)
Tomcat 6 (deb package)
Axis2
Maven
Eclipse
other
....

There is some other information:
System.getenv("ENV_VARIABLE") will return null in this case, because the
variable doesn't exist.
if we run this snippet inside some class, which is part of our web service:

Map map = System.getenv();
Set keys = map.keySet();
Iterator iterator = keys.iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
String value = (String) map.get(key);
System.out.println(key + " = " + value);

--- we will get a list of environment variables and this list is different
from that you get in command line : env
(I'm using Ubuntu)

Even if I set up my own env variable under root(for example like this:

sudo gedit /etc/environment
ENV_VARIABLE=/home/user/some_folder //put this line in /etc/environment and
save then reboot
) --- then rebuild and redeploy service(just in case) which contains class
with above snippet,  I cannot see ENV_VARIABLE in output of tomcat console
(catalina.sh run) 

So now the question is : 

***********How to set up your own environment variable, which you would like
to use(var=System.getenv(ENV_VARIABLE);) inside some class of your web
service ?*******************************   


Deepal Jayasinghe wrote:
> 
> Hmm, I am not so sure that has something to do with the class loader, if
> that is the case then problem might be due to each service has its own
> class loader and it is different from context class loader. Anyway as I
> remember correct no one asked this kind of question before, so if you
> find that answer please post that too.
> 
> Thanks,
> Deepal
> 
> artifex wrote:
>> That thing didn't work because it couldn't find path to the  desired
>> program
>> for execution.
>> I'm using environment variables in my java code("String envV =
>> System.getenv("ENV_VARIABLE");"), but it seems that   getenv() cannot
>> find
>> the variable. I'm sure it's set up correctly. So now my goal is to find
>> out
>> how we can get environmental variables if classes which try to get it are
>> inside a web service(???)... 
>>
>> ...if anyone knows please give me a hint... 
>>
>>
>> artifex wrote:
>>   
>>> I have deployed a webservice using Axis2. It works fine, but ....
>>> Here is a problem: I need to run an external program through the Client,
>>> so I've put in existing library piece of code, which contains
>>> Runtime.getRuntime(). When I run test, it works fine, but no external
>>> program is run. It seems like piece of code with  "Runtime rt =
>>> Runtime.getRuntime();"(it works when is run locally) just ignored...  
>>> Could anyone help me with this issue?
>>>
>>> This is class to be wrapped :
>>> package eu.project.samplewebservice;
>>>
>>>
>>>
>>> import java.io.BufferedReader;
>>>
>>> import java.io.InputStream;
>>>
>>> import java.io.InputStreamReader;
>>>
>>>
>>>
>>>
>>> public class SampleExistingLibrary {
>>>
>>>
>>>
>>>     /**
>>>
>>>      * Adds two input integer parameters and returns the result.
>>>
>>>      * 
>>>
>>>      * @param i1
>>>
>>>      *            An integer input
>>>
>>>      * @param i2
>>>
>>>      *            An integer input
>>>
>>>      * @return The integer result which is the sum of the two input
>>> integers
>>>
>>>      */
>>>
>>>     public int addTwoIntegers( int i1, int i2 ) { 
>>>
>>>             System.out.println( "TEST!!!!!!" );
>>>
>>>         ///!!!!!!!!!!!
>>>
>>>                     String mkcolpath = System.getenv("MKCOLPATH"); 
>>>
>>>                     String pafpath = System.getenv("PAFPATH");
>>>
>>>                     //System.out.print(mkcolpath);  
>>>
>>>                     try
>>>
>>>                 {            
>>>
>>>                     Runtime rt = Runtime.getRuntime();
>>>
>>>                     Process proc = rt.exec("supertux");
>>>  //this is a game
>>>                     //pathToCollectionF = pafpath+"/collection.mf";
>>>
>>>                     InputStream noerr = proc.getInputStream();
>>>
>>>                     InputStream stderr = proc.getErrorStream();
>>>
>>>                     InputStreamReader isr = new InputStreamReader(stderr);
>>>
>>>                     BufferedReader br = new BufferedReader(isr);
>>>
>>>                     InputStreamReader isr1 = new InputStreamReader(noerr);
>>>
>>>                     BufferedReader br1 = new BufferedReader(isr1);
>>>
>>>                     String line = null;
>>>
>>>                     //System.out.println("<OUTPUT>");
>>>
>>>                     while ( (line = br1.readLine()) != null || (line =
>>> br.readLine()) != null){
>>>
>>>                             System.out.println(line);
>>>
>>>                     }
>>>
>>>                     //System.out.println(line);
>>>
>>>                     //System.out.println("</OUTPUT>");
>>>
>>>                     int exitVal = proc.waitFor();
>>>
>>>                     //exitValCl=exitVal;
>>>
>>>                     System.out.println("Process exitValue: " + exitVal);
>>>
>>>                 } catch (Throwable t)
>>>
>>>                   {
>>>
>>>                     t.printStackTrace();
>>>
>>>                   }
>>>
>>>                
>>>
>>>             
>>>
>>>             ///!!!!!!!!!!!
>>>
>>>             
>>>
>>>             
>>>
>>>             return i1 + i2;
>>>
>>>
>>>
>>>     }
>>>
>>>
>>>
>>>     /**
>>>
>>>      * Concatenates two input string parameters and returns the result.
>>>
>>>      * 
>>>
>>>      * @param s1
>>>
>>>      *            A string input
>>>
>>>      * @param s2
>>>
>>>      *            A string input
>>>
>>>      * @return The string result which consists of two input strings,
>>> with
>>> the second input string linked to the end of
>>>
>>>      *         the first input string
>>>
>>>      */
>>>
>>>     public String concatenateTwoStrings( String s1, String s2 ) {
>>>
>>>         return s1 + s2;
>>>
>>>
>>>
>>>     }
>>>
>>> }
>>>
>>>
>>>
>>>     
>>
>>   
> 
> -- 
> Thank you!
> 
> 
> http://blogs.deepal.org
> http://deepal.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Problem-with-Runtime.getRuntime%28%29-exec-tp24064489p24095313.html
Sent from the Axis - User mailing list archive at Nabble.com.

Reply via email to