Thanks!!! It really helped me a lot! Problem is solved.

Andreas Veithen-2 wrote:
> 
> The way to set up environment variables for Tomcat depends on how you
> start Tomcat. If you use the standard Ubuntu package, probably the
> best way is to add the following line to /etc/default/tomcatX.X:
> 
> export ENV_VARIABLE=...
> 
> Note that (on Linux) /etc/environment is only read by pam_env during
> interactive logins. This means that variables defined there will not
> be available to processes started by the SysV init scripts.
> 
> Andreas
> 
> On Fri, Jun 19, 2009 at 00:22, artifex<[email protected]> wrote:
>>
>> Thank you, Andreas
>> I've checked environ:
>> sudo netstat -anp | grep 8080  // got PID by this comand
>> sudo cat /proc/<PID>/environ
>> The ouput is the same as I received by the webservice (...that snippet,
>> which prints all env variables). So it's just another way to check(not to
>> add or edit) what env variables are avaliable in runtime for your
>> webservice, but the problem isn't solved...still the same question:
>>
>> ***********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 ?*******************************
>>
>> Thanks for help
>>
>>
>> Andreas Veithen-2 wrote:
>>>
>>> If System.getenv returns null, then this means that the environment
>>> variable is not set on the process. This has nothing to do with class
>>> loaders or the fact that you look up the variable from within a
>>> service. You can check that by looking at /proc/<pid>/environ, where
>>> <pid> is Tomcat's process ID.
>>>
>>> Andreas
>>>
>>> On Thu, Jun 18, 2009 at 18:38, artifex<[email protected]> wrote:
>>>>
>>>> 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.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Problem-with-Runtime.getRuntime%28%29-exec-tp24064489p24099683.html
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>>
> 
> 
:-):-)
-- 
View this message in context: 
http://www.nabble.com/Problem-with-Runtime.getRuntime%28%29-exec-tp24064489p24109938.html
Sent from the Axis - User mailing list archive at Nabble.com.

Reply via email to