External commad execution using Runtime

hi,
in the following code i have a problem. While I try execute with big query?
1. Runtime run = Runtim.getRuntim();
2. Process p =run.exex("c:\\script.bat");
script.bat contains mysql command line operation for eg:
mysql -u root databasename -e "select * from testTable"; >> c:\\test.txt
the above simple query not make a problem. I got the file test.txt
But when I try to add more colums and n no..of joins and some where conditions. The program executed fine but i didn't get the file test.txt.
Any iead.

1. I used a thirdparty tool for accessing the database.
2. it construct the select quey based on my input, the query contains base table, sub table and all joins where clause, having & group by clauses.
3. Main reason is, i have huge data.

Similar Messages

  • Error on 11g 2 during external job execution using credential

    Hi,
    I need a help from you.
    I am getting below error on 11g 2 during external job execution using credentials -
    EXTERNAL_LOG_ID="job_805812_412409",
    ORA-27369: job of type EXECUTABLE failed with exit code: Arg list too long
    STANDARD_ERROR="Launching external job failed: Invalid username or password"
    Find credentials creation & other required details -
    EXECUTE DBMS_SCHEDULER.create_credential(credential_name =>'SYS.SCRIPTS',username =>'scripts',password => 'u5342222');
    BEGIN
    DBMS_SCHEDULER.CREATE_JOB(
    job_name => 'AUTOLOAD_JOB',
    job_type => 'EXECUTABLE',
    job_action => '/qpshell/dev/scripts/autoload.sh',
    repeat_interval => 'freq=MINUTELY;interval=5;byhour=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22;',
    enabled => true,
    auto_drop => false,
    credential_name => 'SYS.SCRIPTS');
    end;
    -rw-r--r-- 1 root oinstall 1571 Nov 11 14:42 /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/externaljob.ora
    content of externaljob.ora -
    run_user = nobody
    run_group = nobody
    run_user=scripts
    run_group=qvcscript
    -rwsr-x--- 1 root oinstall 3068424 Nov 11 13:13 extjob
    -rwxr-xr-x 1 oracle oinstall 3068424 Nov 11 13:13 extjobo
    root@knudwdbs2:/u01/app/oracle/product/11.2.0/dbhome_1/bin> ls -ltr extjob*
    -rwx------ 1 oracle oinstall 3068424 Nov 11 12:45 extjoboO
    -rwsr-x--- 1 root oinstall 3068424 Nov 11 12:45 extjobO
    -rwxr-xr-x 1 oracle oinstall 3068424 Nov 11 13:13 extjobo
    -rwsr-x--- 1 root oinstall 3068424 Nov 11 13:13 extjob
    Kindly suggest how it can be fixed. Early response much appreciated.
    Thanks
    Ajay
    --

    Hi,
    When you are logged in to the OS, can you do an "su" to the "scripts" user using this exact password (passwords are case-sensitive) ?
    Also make sure that you have libpam.so located somewhere in $LD_LIBRARY_PATH and that it points to a real file.
    external jobs with credentials use jssu, but I don't think permissions on jssu are the problem here (it should be setuid to root).
    Hope this helps,
    Ravi.

  • Execute an external program using Runtime class

    How to execute an external java program using Runtime class?
    I have used ,
    Process p=Runtime.getRuntime().exec("c:/j2sdk1.4.0/bin/helloworld.java ");
    But it throws a runtime IOException error:2 or error:123.
    Help me with the code. Thanks in advance.

    Create Runtime Object and attach to system process.Try this code
    import java.io.*;
    public class ExecuteExternalApp {
      public static void main(String args[]) {
                try {
                    Runtime rt = Runtime.getRuntime();
                    //Process pr = rt.exec("cmd /c dir");
                    Process pr = rt.exec("c:\\ yamessenger.exe"); //give a valid exe file
                    BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
                    String val=null;
                    while((val=input.readLine()) != null) {
                        System.out.println(val);
                    int exit = pr.waitFor();
                    System.out.println("Exited with error code "+exit);
                } catch(Exception e) {
                    System.out.println(e.toString());
                    e.printStackTrace();
    }Edited by: anishtomas on Feb 3, 2009 9:34 PM
    Edited by: anishtomas on Feb 3, 2009 9:37 PM

  • Unable to unload external swf which is using runtime sharing

    Unable to unload external swf which is using runtime sharing of some symbols and classes.
    Due to this problem i am unable to load another swf or the same for the second time and getting errors at runtime.
    It works fine when the swf is opened in IE.
    Can anyone please help me in solving the issue.

    thank you
    i have tried to use   this.parent.Click_To_Close  but it gives compilation error
    i checked the tutorial about custom events i think its little complex for me now to understand the typeriter app.
    also i cheked the similer thread and tried to test that code myself..i found that the last block of main movie does not works and does not unload the loader2. however  all the trace are showing in the output windows that i added to check the code but last trace from the main movie is not showig...   
    trace("child removed from Main Movie") 
    so if this can work somehow i will use this method of event dispatch in my application that i am working...
    Thank you
    -----main movie ---------
    var loader1:Loader = new Loader();
    var loader2:Loader = new Loader();
    loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, assignMovie1Listener);
    loader1.load(new URLRequest("movie_1.swf"));
    loader2.load(new URLRequest("movie_2.swf"));
    addChild(loader1);
    addChild(loader2);
    function assignMovie1Listener(evt:Event):void {
          MovieClip(evt.currentTarget.content).addEventListener("eventTriggered", removeLoader2);
                trace("listner is listning..")
    function removeLoader2(evt:Event):void {
          loader2.unloadAndStop();
          removeChild(loader2);
             loader2 = null;
                trace("child removed from Main Movie")
    //------------- movie_1.swf code:
    removeMovie2_btn.addEventListener(MouseEvent.CLICK , removeMovie2);
    function removeMovie2(event:MouseEvent):void
          dispatchEvent(new Event("eventTriggered"));
                trace("event triggered form Child Movie-1");
    as u can see when i click close button its triggering the trace from movie-1 but its not unloadign the movie2

  • Trying to run external script using Runtime.exec

    Hey,
    I am trying to use Runtime.exec(cmd, evnp, dir) to execute a fortran program and get back its output, however it seems to always be hanging. Here is my code snippet :
                Process process = Runtime.getRuntime().exec(
                      "./fortranCodeName > inputFile.txt" , null, new File("/home/myRunDir/"));
                InputStream stream = new InputStream(process.getInputStream());
                InputStream error = new InputStreamr(process.getErrorStream());
                BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stream));
                BufferedReader erroutReader = new BufferedReader(new InputStreamReader(error));
                System.out.println(stream.available());  //returns 0
                System.out.println(error.available());     //returns 0
                while (true) {
                    String line1 = stdoutReader.readLine();  //hangs here
                    String line2 = erroutReader.readLine();
                    if (line1 == null) {
                        break;
                    System.out.println(line1);
                    System.out.println(line2);
                }I know for a fact that this fortran code prints out stuff when run it in terminal, but I don't know if I have even set up my Runtime.exec statement properly. I think I am clearing out my error and input streams with the whole reader.readLine bit I have above, but I am not sure. If you replace the command with something like "echo helloWorld" or "pwd", it prints out everything properly. I also am fairly confident that I have no environmental variables that are used in the fortran code, as I received it from another computer and haven't set up any in my bash profile.
    Any Ideas?

    Okay, so I implemented the changes from that website (thanks by the way for that link, it helps me understand this a little better). However, my problem is still occuring. Here is my new code:
                class StreamThread extends Thread {
                InputStream is;
                String type;
                StreamThread(InputStream is, String type)
                    this.is = is;
                    this.type = type;
                public void run()
                    try
                        InputStreamReader isr = new InputStreamReader(is); //never gets called
                        BufferedReader br = new BufferedReader(isr);
                        String line=null;
                        while ( (line = br.readLine()) != null)
                            System.out.println(type  +">"+  line);
                        } catch (IOException ioe)
                            ioe.printStackTrace();
            try {
                Process process = Runtime.getRuntime().exec(
                      "./fortranCodeName" , null, new File("/home/myRunDir/"));
                StreamThread stream = new StreamThread(process.getInputStream(), "OUTPUT");
                StreamThread errorStream = new StreamThread(process.getInputStream(), "ERROR");
                stream.start();
                errorStream.start();
                int exitVal = process.waitFor(); //hangs here
                System.out.println("ExitValue: " + exitVal);

  • Issue regarding creating a process using Runtime in Windows 2003.

    Hi all..
    I need to resolve a small issue related to execute an external program using runtime execution method. But when i deploy the code in websphere application server 6.1V in windows 2003 server operating system, it is starting a process with min priority and not executing even i specified waitfor method.
    The code is like below.
    try{
    Process p = Runtime.getRuntime().exec("C:\\CopyImages.exe "+toWrite);
    int ep = p.waitFor();
    System.out.println("process "+ep);
    catch(Exception e)
    e.printStackTrace();
    Please help me in resolving this issue. The above code is working in my IDE which is in Window XP but when i port it in application server in windows2003 i'm getting this issue.

    hi..
    it is a typo error. i've given the slashes with that.
    but still getting the problem.

  • Ejbmodule error while building the external service app using web service

    Hi,
    I am new to SOA. I have developed an external service application using web service. While buiding the project i am getting the ejb module error which is mentioned below and the remaining five internal projects are getting deployed successfully. Can anyone help me out in resolving this issue.
    Apr 17, 2008 3:51:45 PM /userOut/Development Component (com.sap.ide.eclipse.component.provider.listener.DevConfListener) [Thread[ModalContext,5,main]] ERROR: user_example/ejbmodule: Build failed for sap.com/user_example/ejbmodule(MyComponents) in variant "default": Compile failed; see the compiler error output for details.
    Build log -
    Development Component Build (2008-04-17 15:51:39)
      Component name: user_example/ejbmodule
      Component vendor: sap.com
      SC compartment: MyComponents
      Configuration: LocalDevelopment
      Location: local
      Source code location: mzwrxw@w2mzwrxw01
      DC root folder: D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\
      DC type: J2EE
      DC subtype: EJBModule
      Host: w2mzwrxw01
    DC Model check:
       All used DCs are available locally
       validating dependency to build plugin "sap.com/tc/bi/bp/ejbmodule"
       validating dependency to  public part "default" of DC "sap.com/ejb20"
       validating dependency to  public part "default" of DC "sap.com/jdbc20"
       validating dependency to  public part "default" of DC "sap.com/jms"
       validating dependency to  public part "default" of DC "sap.com/tc/ddic/metamodel/content"
       validating dependency to  public part "CAFRuntimeAPI" of DC "sap.com/caf/runtime/impl"
       validating dependency to  public part "compilation" of DC "sap.com/caf/runtime/api"
       validating dependency to  public part "default" of DC "sap.com/bi/mmr/core"
       validating dependency to  public part "compilation" of DC "sap.com/caf/metamodel"
       validating dependency to  public part "default" of DC "sap.com/com.sap.security.api.sda"
       validating dependency to  public part "default" of DC "sap.com/tc/logging"
       validating dependency to  public part "default" of DC "sap.com/com.sap.exception"
       validating dependency to  public part "default" of DC "sap.com/com.sap.jdo"
       validating dependency to  public part "compilation" of DC "sap.com/bi/mmr/cwm_1.0_source"
       validating dependency to  public part "jmi" of DC "sap.com/bi/mmr/jmi"
       validating dependency to  public part "ClientApi" of DC "sap.com/caf/km.proxyjava"
       validating dependency to  public part "default" of DC "sap.com/bi/mmr/db"
       validating dependency to  public part "ClientAPI" of DC "sap.com/caf/runtime/security"
       validating dependency to  public part "ClientAPI" of DC "sap.com/caf/core/services"
       validating dependency to used DC "sap.com/caf/runtime/connectivity/base"
       validating dependency to used DC "sap.com/caf/runtime/connectivity"
       validating dependency to used DC "sap.com/applocking"
       validating dependency to  public part "default" of DC "sap.com/com.sap.engine.client.lib"
       validating dependency to  public part "default" of DC "sap.com/jta"
       DC model check OK
    Start build plugin:
       using build plugin: sap.com/tc/bi/bp/ejbmodule
       starting build plugin from : C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP_BUILDT\DCs\sap.com\tc\bi\bp\ejbmodule\_comp\gen\default\public\ejb\
    Build Plugin 'EJBModulePlugin', Version 7.00 SP 9 (NW04S_09_REL, built on 2006-10-25 22:26:50 CEST)
       development component:  user_example/ejbmodule (sap.com)
          software component:  MyComponents (demo.sap.com)
                    location:  local
                        type:  J2EE, subtype EJBModule
               build variant:  default
             source location:  mzwrxw@w2mzwrxw01
           plugin start time:  2008-04-17 15:51:39 GMT+05:30 (IST)
                     Java VM:  Java HotSpot(TM) Client VM, 1.4.2_09-b05 (Sun Microsystems Inc.)
    General options:
      convert *.xlf to *.properties: yes
      include sources for debugging: yes
    Source folder src exists but is empty.
    Plugin initialized in 0.187 seconds
    Preparing data context..
    No 'default' JDK defined, will use running VM.
    Data context prepared in 0.078 seconds
    Executing macro file..
      Using macro file:     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP_BUILDT\DCs\sap.com\tc\bi\bp\ejbmodule\_comp\gen\default\public\ejb\macros\build.vm
      Creating output file: D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\gen\default\logs\build.xml
    Macro file executed in 0.141 seconds
    Starting Ant..
      Using build file:     D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\gen\default\logs\build.xml
      Using build target:   build
      Generation folder:    D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\t\0C4E7D6DF04F4534176A82AEB939F6DA
      Using Ant version:    1.6.2
    compile:
          [echo] Starting Java compiler
          [echo] Settings:
          [echo]   debug:       on
          [echo]   optimize:    off
          [echo]   deprecation: off
          [echo]   verbose:     default
          [echo]   encoding:    UTF8
          [echo]   source:      default
          [echo]   target:      default
          [echo]   source path: D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule
          [echo]   class path:
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\tc\logging\_comp\gen\default\public\default\lib\java\logging.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\tc\logging\_comp\gen\default\public\default\lib\java\logging.perf.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP_JTECHS\DCs\sap.com\tc\ddic\metamodel\content\_comp\gen\default\public\default\lib\java\SapMetamodelDictionaryContent.zip
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP_JTECHS\DCs\sap.com\com.sap.jdo\_comp\gen\default\public\default\lib\java\jdo.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP_JTECHS\DCs\sap.com\com.sap.jdo\_comp\gen\default\public\default\lib\java\sapjdoapi.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\BI_UDI\DCs\sap.com\bi\mmr\jmi\_comp\gen\default\public\jmi\lib\java\sap.combimmrjmijmi.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\BI_UDI\DCs\sap.com\bi\mmr\core\_comp\gen\default\public\default\lib\java\sap.combimmrcoredefault.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\km.proxyjava\_comp\gen\default\public\ClientApi\lib\java\sap.comcafkm.proxyjava~ClientApi.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\applocking\_comp\gen\default\public\default\lib\java\applocking.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\applocking\_comp\gen\default\public\default\lib\java\frame.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\applocking\_comp\gen\default\public\default\lib\java\jdbc.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\metamodel\_comp\gen\default\public\compilation\lib\java\sap.comcafmetamodel.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\metamodel\_comp\gen\default\public\compilation\lib\java\sap.comcafmetamodel_JMI.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\metamodel\_comp\gen\default\public\compilation\lib\java\sap.comcafmetamodel_JMI_src.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\com.sap.engine.client.lib\_comp\gen\default\public\default\lib\java\sapj2eeclient.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\runtime\connectivity\base\_comp\gen\default\public\com.sap.caf.mp.base\lib\java\sap.comcafruntimeconnectivitybase~com.sap.caf.mp.base.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\runtime\security\_comp\gen\default\public\ClientAPI\lib\java\sap.comcafruntimesecurityClientAPI.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\runtime\api\_comp\gen\default\public\compilation\lib\java\sap.comcafruntimeapicompilation.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\jdbc20\_comp\gen\default\public\default\lib\java\jdbc.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\BI_UDI\DCs\sap.com\bi\mmr\cwm_1.0_source\_comp\gen\default\public\compilation\lib\java\sap.combimmr~cwm_1.0_source.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\BI_UDI\DCs\sap.com\bi\mmr\cwm_1.0_source\_comp\gen\default\public\compilation\lib\java\sap.combimmr~cwm_1.0_source_JMI.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\BI_UDI\DCs\sap.com\bi\mmr\cwm_1.0_source\_comp\gen\default\public\compilation\lib\java\sap.combimmr~cwm_1.0_source_JMI_src.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\runtime\impl\_comp\gen\default\public\CAFRuntimeAPI\lib\java\sap.comcafruntimeimplCAFRuntimeAPI.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\ejb20\_comp\gen\default\public\default\lib\java\ejb20.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\jms\_comp\gen\default\public\default\lib\java\jms.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\com.sap.security.api.sda\_comp\gen\default\public\default\lib\java\com.sap.security.api.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\com.sap.security.api.sda\_comp\gen\default\public\default\lib\java\com.sap.security.api.perm.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\jta\_comp\gen\default\public\default\lib\java\jta.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\core\services\_comp\gen\default\public\ClientAPI\lib\java\sap.comcafcoreservicesClientAPI.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\SAP-JEE\DCs\sap.com\com.sap.exception\_comp\gen\default\public\default\lib\java\exception.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\CAF\DCs\sap.com\caf\runtime\connectivity\_comp\gen\default\public\com.sap.caf.mp.core.api\lib\java\sap.comcafruntimeconnectivitycom.sap.caf.mp.core.api.jar
          [echo]     C:\Program Files\SAP\IDE\IDE70\eclipse\plugins\com.sap.tc.ap_2.0.0\comp\BI_UDI\DCs\sap.com\bi\mmr\db\_comp\gen\default\public\default\lib\java\sap.combimmrdbdefault.jar
          [echo]   output dir:  D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\t\0C4E7D6DF04F4534176A82AEB939F6DA\classes
         [javac] Compiling 23 source files to D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\t\0C4E7D6DF04F4534176A82AEB939F6DA\classes
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:51: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]         com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:81: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]             com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                   ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:92: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]             com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                   ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:96: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]         com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:105: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                        ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:115: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:126: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:131: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                       ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:139: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                        ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:154: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:159: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                       ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:165: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                        ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:186: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                    com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                                ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:200: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                    com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                                ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:206: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                       ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:213: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                        ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:233: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]             com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                   ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:244: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]             com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                   ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:254: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]         com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:261: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]         com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:270: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                       ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:281: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                  com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:288: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]          com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:295: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]         com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:300: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                       ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:308: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, new java.lang.Object[] , com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                        ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:370: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:462: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.entering(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                        ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:477: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]                com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                               ^
         [javac] D:\Documents and Settings\mzwrxw\.dtc\LocalDevelopment\DCs\sap.com\user_example\ejbmodule\_comp\ejbModule\com\sap\user_example\besrv\user\userServiceBean.java:482: cannot resolve symbol
         [javac] symbol  : variable JARM_REQUEST
         [javac] location: class java.lang.String
         [javac]           com.sap.caf.rt.util.CAFPublicLogger.exiting(user, user.JARM_REQUEST, method, userServiceBean.location, com.sap.caf.rt.util.CAFPublicLogger.LEVEL_MEDIUM);
         [javac]                                                                       ^
         [javac] 30 errors
    Ant runtime 4.984 seconds
    Ant build finished with ERRORS
    Compile failed; see the compiler error output for details.
    Error: Build stopped due to an error: Compile failed; see the compiler error output for details.
    Build plugin finished at 2008-04-17 15:51:45 GMT+05:30 (IST)
    Total build plugin runtime: 5.515 seconds
    Build finished with ERROR
    Thanks,
    Madhavi

    HI
    i used the below line of code to log the info
    com.sap.caf.rt.util.CAFPublicLogger.entering(CAF_user, WTCServiceBean.JARM_REQUEST, CAF_methodHeader, WTCServiceBean.location, CAF_parameters);
    But , can anyone suggest ,where can i seee this log msg.
    Any pointers would be highly appreciated.
    Thanks

  • Monitoring a Process using Runtime.exce()

    Hi,
    In my Program, I'm using the
    new BufferedReader(new InputStreamReader(Runtime.getRuntime()                         .exec("ps -ef | grep xmlfeed").getInputStream()));
    The above statement is not returning any inputstream to the BuffredReader.
    When I gave the command as "PWD", it's returning the lines as expected.
    But it's not working even for "PS" command also.I'm running this in AIX machine.
    Any Ideas,Please help....
    Edited by: haijdp on Dec 21, 2007 1:11 AM

    Hello! And sorry I didn't reply earlier. I hope the Original Poster will find revisit this thread and it helps him.
    From your post I assumed that you were not a student trying to create some homework. That's why I felt free to simply code a solution and submit the code here. But first some remarks:
    I don't think that your code can work. Runtime.exec expects an array of type String, where the first element is the command and subsequent elements are a command line option each. I don't think you can use the pipe and call several commands using Runtime.exec, but that's just a kind of guess. YMMV.
    Running external Processes in Java is a bit complicated. Basically,
    * It's good to run the process in it's own thread. That way the main program can continue without getting stuck.
    * To extract stdout and stderr of your target process you must run two threads, one for stderr and one for stdout. Both threads extract the characters of their respective streams in a loop that runs inside the thread. Again, that way we avoid deadlocks, program getting stuck etc.
    This explanation is terrible, I know - I think a slice of source code speaks louder than words. I have attached five java files which together make a little process runner which extracts stdout and stderr in a safe manner. To run:
    * Cut'n paste them into five text files, one per class.
    * Save the each text file as {contained-class-name}.java
    * Compile the stuff
    * Run RunnerDemo (When I ran it, I got a directory listing printed on the console)
    Explanation sounds a bit sloppy, but I did it under the assumption that you are a seasoned java pro, so it should not pose any problems. Since you seem to be a different OS than I (AIX, I run Linux), the command may or may not work. Try other commands. For example, in the RunnerDemo class you could set the cmd field to this:
            String [] cmd =
                "ps",
                "-A",
                "-H"
            };This would give you a process listing (works on Linux).
    By the way, commands are passed as array. See Java documentation for java.lang.Runtime.exec (String []) for explanation of this array.
    One problem I see in your command is that the output of ps is piped to some other program. Sorry, I don't know whether my code could achieve this. All it can do is to rum one single command with command line options. But you should be able to adjust the given example, so it supports piping to another program.
    If you have any further questions, please don't hesitate to ask!
    Class: RunnerDemo
    *                           RunnerDemo.java
    *                     Demo for the process runner
    package rtimeexec;
    public class RunnerDemo
        public static void main (String [] args)
            String [] cmd =
                "ls",
                "-a",
                "-l"
            ProcessRunner   runner;
            String          stdOutStr;
            String          stdErrStr;
            runner = new ProcessRunner (cmd);
            runner.start ();
            runner.BlockUntilFinished ();
            stdOutStr = runner.GetStdOutText ();
            stdErrStr = runner.GetStdErrText ();
            System.out.println ("Process result, ls -a -l");
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println ("Stdout:");
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println (stdOutStr);
            System.out.println ();
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println ("Stderr:");
            System.out.println ("-----------------------------------------------------------------------");
            System.out.println (stdErrStr);
    Class: ProcessRunner
    package rtimeexec;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    * Runs a system process and extracts stdout and stderr of that process.
    * Process will run in its own thread, so that the caller can simply continue
    * with less of a chance to get locked down. Caller can invoke the {@link BlockUntilFinished}
    * method after starting this thread. This method blocks until the thread is finished,
    * i.e. the process has finished.
    * Unfortunately, we haven't implemented any facility to stream characters to
    * stdin of the process called. If that facility would exist we could refactor
    * the classes and realize some sort of piping facility, as it's possible in
    * Linux, for example.
    * Example on how to run a process:
    * <pre>
    * String []         cmd  = {"ps", "-AH"};
    * String            sOut;
    * String            sErr;
    * ProcessRunner     runner;
    * runner = new ProcessRunner (cmd);
    * runner.start ();
    * runner.BlockUntilFinished ();
    * sOut = runner.GetStdOutText ();
    * sErr = runner.GetStdErrText ();
    * System.out.println ("Stdout:");
    * System.out.println (sOut);
    * System.out.println ("------------------------------------------------------");
    * System.out.println ("Stderr:");
    * System.out.println (sErr);
    * </pre>
    public class ProcessRunner extends Thread
        private String []                   command;
        private int                         execResult;
        private String                      stdOutText;
        private String                      stdErrText;
        private boolean                     isFinished;
        public ProcessRunner (String [] cmd)
            command     = cmd;
            execResult  = 0;
            stdOutText  = null;
            stdErrText  = null;
            isFinished  = false;
        public int GetResult ()
            return execResult;
        public String GetStdOutText ()
            return stdOutText;
        public String GetStdErrText ()
            return stdErrText;
        public boolean IsFinished ()
            return isFinished;
        public void BlockUntilFinished ()
            while (! isFinished)
                try {Thread.sleep (250);} catch (InterruptedException e) {}
        public void run ()
            Process         proc;
            Runtime         rt;
            InputStream     stdOut;
            InputStream     stdErr;
            CharStream      stdOutEx;
            CharStream      stdErrEx;
            int             res;
            isFinished = false;
            try
                res         = 0;
                rt          = Runtime.getRuntime ;       ();
                proc        = rt.exec ;                  (command);
                stdOut      = proc.getInputStream ;      ();
                stdErr      = proc.getErrorStream ;      ();
                stdOutEx    = new CharStream            (stdOut);
                stdErrEx    = new CharStream            (stdErr);
                stdOutEx.start ();
                stdErrEx.start ();
                try {res = proc.waitFor ();} catch (InterruptedException e) {}
                // Process has finished; now wait until any buffers are empty.
                stdOutEx.BlockUntilFinished ();
                stdErrEx.BlockUntilFinished ();
                stdOutText = stdOutEx.GetResult ();
                stdErrText = stdErrEx.GetResult ();
                execResult = res;
            catch (IOException e)
                isFinished = true;
                throw new ExtractionException (e.getLocalizedMessage());
            isFinished = true;
    Class: CharStream
    package rtimeexec;
    import java.io.IOException;
    import java.io.InputStream;
    * A Character extractor. Extracts characters from a stream and puts them
    * into a String. To protect from memory overflow we put a limit in place.
    * When storage demads exceed that limit, an exception is thrown.
    public class CharStream extends Thread
        private static final int    maxChunkLen         = 8192;
        private static final int    maxStorageSize      = 512 * 1024;   // 512 KBytes
        private InputStream     sourceStream;
        private StringBuffer    extracted;
        private boolean         isFinished;
        public CharStream (InputStream istream)
            sourceStream    = istream;
            extracted       = new StringBuffer ();
            isFinished      = false;
        public String GetResult ()
            String ret;
            ret = extracted.toString ();
            return ret;
        public void BlockUntilFinished ()
            while (! isFinished)
                SleepThread (250);
        public void run ()
            byte []                 buffer;
            int                     nBytesRead;
            byte                    b;
            char                    c;
            int                     iChar;
            int                     nCharsTotal;
            boolean                 isEOF;
            isEOF       = false;
            nCharsTotal = 0;
            isFinished = false;
            while (! isEOF)
                try
                    buffer      = new byte [maxChunkLen];
                    nBytesRead  = sourceStream.read (buffer);
                    if (nBytesRead >= 1)
                    {   // much faster stream extraction method than when we use
                        // BufferedReader(new InputStreamReader(sourceStream)).
                        for (iChar = 0; iChar < nBytesRead; iChar++)
                            nCharsTotal++;
                            if (nCharsTotal > maxStorageSize)
                                throw new StoreFullException
                                    "Storage limit exceeded (" + Integer.toString (maxChunkLen) + "Bytes)"
                            b = buffer [iChar];
                            c = (char) b;
                            extracted.append (c);
                    else if (nBytesRead <= -1)
                        isEOF       = true;
                catch (IOException e)
                    isFinished = true;
                    throw new ExtractionException (e.getLocalizedMessage());
                SleepThread (250);
            isFinished  = true;
        private void SleepThread (int mSec)
            try
                Thread.sleep (mSec);
            catch (InterruptedException e)
    Class: StoreFullException
    package rtimeexec;
    * Exception that gets thrown when a storage container is full.
    public class StoreFullException extends RuntimeException
        private static final long serialVersionUID = - 4996246591135389009L;
        public StoreFullException (String message)
            super (message);
    Class: ExtractionException
    package rtimeexec;
    * Thrown when there was some problem during stream extraction.
    public class ExtractionException extends RuntimeException
        private static final long serialVersionUID = - 6124525536783450209L;
        public ExtractionException (String message)
            super (message);
    }

  • How to execute external  spawned process using  java

    Hi,
    I am executing PGP from command line using java.
    For adding the public key I use Runtime object like this
    Runtime rt = Runtime.getRuntime();
    Process process = rt.exec("pgp -ka "+"d:/Mangesh/pubkey/sandy.asc "+"C:/PROGRA~1/NETWOR~1/PGPNT/keyrings/pubring.pkr");PGP is executing this but inbetween it asked for confirmation "Do you want to add public key (y/n)"
    I am providing data to process this way:
    PrintWriter pw = new PrintWriter(new OutputStreamWriter( process.getOutputStream()));
    pw.write('y');
    pw.flush();But after this their is no execution from PGP and console remains until I closed it.
    PGP is waiting for ENTER KEY
    How can I provide ENTER KEY from java
    This is right method ??? or any other options are available??
    I am awaiting for your valuable suggestions .
    Regards
    Man479

    On Windows the "enter key" consists of two characters: carriage return and a line feed (\r\n). You may have to send both. If that doesn't work, pgp is not reading the reply through stdin, only through the console, and there's no way to pass the 'y' to it through Java.

  • IOException File not found - While using Runtime.exec

    Hey All,
    I have written a Java application which needs to start up another external application. I have executables for that external application for different platforms (Win32, PPC and Linux). When the Java application is started it detects the OS and starts up the right executable according to the OS. The executable loads up fine on Windows without any problems. But in both Linux and Max OS X I get this exception:
    java.io.IOException: java.io.IOException: "/home/vilas/Documents/Project/build/CLISP/linux/lisp.run": not found
            at java.lang.UNIXProcess.<init>(UNIXProcess.java:143)
            at java.lang.Runtime.execInternal(Native Method)
            at java.lang.Runtime.exec(Runtime.java:566)
            at java.lang.Runtime.exec(Runtime.java:428)
            at jplan.communication.lispserver.LispServer.startupServer(LispServer.java:143)
            at jplan.communication.lispserver.LispServer.run(LispServer.java:109)
            at java.lang.Thread.run(Thread.java:534)lisp.run has all the necessary permissions. If I copy the string (/home/vilas/Documents/Project/build/CLISP/linux/lisp.run) and paste it in a terminal and press enter, the application starts up fine without any problems!! Can you please tell me what could be going wrong?
    The following extra information maybe helpfull:
    1) I use the exec(String command, String[] envp, File dir) version of exec.
    2) The complete format of the command is as follows (one long string):
    "/home/vilas/Documents/Project/build/CLISP/linux/lisp.run" -B "/home/vilas/Documents/Project/build/CLISP/linux" -M "/home/vilas/Documents/Project/build/CLISP/linux/lispinit.mem" -i loader.lisp
    Thanks in advance for your time and efforts.

    I found the problem after extensively searing the forums (looking upto page 4 !! of the results). The problem was that I was using quotes to surround the paths in the command. If you copy and paste it in a terminal it will work fine but it does not work with runtime.exec. I am not sure, but I think the reason is that when a terminal is used, some pre-processing of the commands take place before they are passed onto the OS(shell). But while using runtime.exec, that pre-processing is not peformed and therefore some things will not work.
    In order to fix the problem, I use quotes only when the OS is windows. In other cases(OS X, Linux) I escape the spaces i.e. replace " " with "\ ".
    PS: The executable is a binary compiled from C code.

  • External definition and used them as Data Type Templates

    hi all
    how to Develop external definition and used them as Data Type Templates .
    Thank u
    Swari

    HI
    External Definitions: If a definition of the message structure exists in wsdl, xsd, dtd formats, we can use it in the integration repository by importing it as an external definition.
    External Definations:
    An external definition enables you to import a local WSDL, XSD, or DTD file to the Integration Repository and specify which parts of the schema to extract as the description for a message. You can use these extracted message schema as:
    Output or input messages in message interfaces
    Source or target structures for message mappings
    There is a series of standard schema for describing the message structure at runtime. WSDL (Web Service Description Language), XSD (XML Schema Definition Language), or DTDs (Document Type Definitions) are often used to describe message schema. If a description of the message structure already exists in one of the above formats, you can use it in the Integration Repository by importing it as an external definition rather than re-entering it manually using the data type editor.
    Have a look at
    http://help.sap.com/saphelp_nw04/helpdata/en/43/ce49ef1019087ae10000000a1553f6/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ba/d4c23b95c8466ce10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/26/9e97b0f525d743882936c2d6f375c7/content.htm
    cheers

  • Question about using Runtime.getRuntime();

    hi all
    i have a question about using Runtime.getRuntime(). if i use this to get a runtime reference to run an external program, is it considered as starting a new thread inside the thread that starts it?
    is it safe to do it in the Session EJB? if not, what can you recommand to do it? thanks

    hi all
    i have a question about using Runtime.getRuntime().
    if i use this to get a runtime reference to run an
    external program, is it considered as starting a new
    thread inside the thread that starts it? No. Starting a process, starts a process. Threads have nothing to do with it.
    is it safe to do it in the Session EJB? if not, what
    can you recommand to do it? thanksSo what? Run another process? If you want to run another process in java then your choices are to use Runtime.exec() or use JNI. And using JNI will probably end up doing exactly the same thing as Runtime.exec().
    "Safe" is harder. Typically to correctly use Runtime.exec() you must use threads. And as noted threads ideally should not be used. You can use them but if you do you had better understand why they didn't want you using them in the first place. You had also better be sure that you really want to wait for it to complete.
    Other than that Runtime.exec() is safe because it can't crash the VM like other interfaces can (like JNI.)

  • Executing external native processes using exec

    Hi,
    I am running an external process in the normal way (i.e using Runtime.exec to reutrn a process object, using process.waitfor() to wait for return code etc). However, what I need is for the external process to continue running after my java application has exitted. So far I have been unable to do this � it seems the external process is still somehow a child of my Java process.
    Does anyone have any idea how to do this, or even if it is possible?
    Thanks in advance!

    If you detach the child process (redirect stdin, out, err) from the starting one it should be no problem. waitfor() is of course not applicable.

  • Issue using Runtime.exec() to export a DB

    hi ,
    i'm trying to write a piece of code to export an oracle DB using Runtime.exec(). I searched the forums and came up a with a piece of code , modified it a bit .The issue is the system sometimes hangs while executing the code , it's like the proc.waitFor() never returns. However the execution is error-free if using a command like 'shutdown' instead of 'exp' .
    this is my main
    public class DBExporter
               * @param args
              public static void main(String[] args)
                        try
                                  StreamReaderThread outReaderThread = new StreamReaderThread();
                                  StreamReaderThread errReaderThread = new StreamReaderThread();
                                  //StreamReaderThread ww = new StreamReaderThread();
                                  Runtime rt = Runtime.getRuntime();
                                  outReaderThread.start();
                                  errReaderThread.start();
                                  String command = "exp beta/beta@frsp_dbS file=\"c:/shop.dmp\" full=\"N\" ";
                                  //command = "shutdown -s";
                                  Process proc = rt.exec(command);
                                  outReaderThread.setInputStream(proc.getInputStream());
                                  errReaderThread.setInputStream(proc.getErrorStream());
                                  //ww.setOutputStream(proc.getOutputStream());
                                  System.out.println(proc.waitFor());
                                  proc.getInputStream().close();
                                  proc.getErrorStream().close();
                                  proc.getOutputStream().close();
                        catch (Exception e)
                                  e.printStackTrace();
         }and this is the reader class
    import java.io.BufferedWriter;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    *@deprecated
    public class StreamReaderThread extends Thread
         private BufferedReader     br;
         private BufferedWriter     bw;
         private StringBuffer     sb;
         private String               newline;
         private String               line;
         public StreamReaderThread()
              br = null;
              sb = null;
              newline = null;
              line = null;
         public synchronized String getText()
              if( sb == null )
                   return "";
              return sb.toString();
         private boolean     flag     = false;
         public synchronized void setInputStream( InputStream is )
              br = new BufferedReader(new InputStreamReader(is));
              flag = true;
         public synchronized void setOutputStream( OutputStream is )
                   bw = new BufferedWriter(new OutputStreamWriter(is));
                   flag = true;
         public synchronized void run()
              int i = 0;
              try
                   while( !flag )
                        wait();
                   flag = false;
                   while( (line = br.readLine()) != null )
                        try
                             if( sb == null )
                                  sb = new StringBuffer();
                                  newline = System.getProperty("line.separator");
                             else
                                  sb.append(newline);
                             sb.append(line);
                        catch( Exception e )
                             e.printStackTrace();
                        i++;
                        if( br == null )
                             break;
              catch( IOException ex )
                   ex.printStackTrace();
              catch( InterruptedException ex )
                   ex.printStackTrace();
    }

    Looks like a bug in StreamReaderThread. I can't see that it ever exits the wait() call since no one is calling notify or notify all.
    Kaj

  • Using Runtime.exec to execute Java.exe

    I am trying to use Runtime.exec to spawn a thread that runs java.exe, but havn't had any luck. I have two versions of code, the first one works (example 1), but I want to eliminate the use of "cmd /c" to keep system independance. The second example (example 2) does not work. Both versions work if invoked from the command line. I'm running Win2000. Any Ideas?
    Example 1:
    aProcess = aRuntime.exec("cmd /c java.exe
    -cp "<MyClassPathHere>" <arg1> <arg2> <arg3> <arg4> <arg5>");
    Example 2:
    aProcess = aRuntime.exec("java.exe
    -cp "MyClassPathHere" <arg1> <arg2> <arg3> <arg4> <arg5>");

    I think you mix two concepts: "threads" and "processes". A "thread" is a thread of execution inside the VM, but you want to actually start a new VM in a new process, which is an OS level thing, right?
    I've tried Idea 2 also, same result: works if
    i specify cmd c/, doesn't if I don't.It should work if java.exe is in your path... are you taking care of the standard streams of your process?

Maybe you are looking for

  • Issue regarding sending E-Mail with PDF file(s) as attachment

    Hi, Can anybody provide me with code to send PDF file as E-Mail Attachment! I know we have to use F.M <b>SO_NEW_DOCUMENT_ATT_SEND_API1</b> but how we have to use it to send PDF file as attachment! I was able to send Text files as Attachments in my pr

  • How do you do a restore on the iphone?

    I have a ton of issues with this and i am up to like 5 gbs of "other" and i do not know how to do a restore to get rid of it.  HELP PLEASE!

  • GRC 10.1 custom security policy

    On GRC Java system, I am not able to create custom security policy under UME->Configuration->Security Policy. I am able to create on all other systems except GRC and NWDI system   I it related to support pack level or facility is not available on the

  • How to resend the bid

    Hi All, We have an item that we took off an existing PO because the vendor was not able to fulfill this part number. We removed (using trash can) this item off the PO so the item will go back into the sourcing cockpit. This item in now in the sourcin

  • ITunes shuts down at launch

    When launching iTunes, once the application opens, immediately the screen darkens and an announcement in several languages tells me I must restart my computer. I can't force quit as the mouse doesn't work. Whats going on?