Executing Instances waiting for pending manual recovery

Hi,
We are using SOA Suite 10.1.3.3.1.
As part of error handling design, we have configured the fault policy such that BPEL flows will go to manual recovery in case of PL errors. From BPEL console we can retry/abort these instances. Is it possible to do the same using BPEL client API.
Thanks

My understanding was that if I use the cancel() method all activities for this instance are cancelled too.
I don't want to manual delete this messages. I'm searching for a bugfix or an automatic workaround.
Is this a bug in the bpel engine?? see java-api-doc for this method.
void cancel()
throws ServerException
Cancels the instance. All active activities that belong to this instance will also be cancelled.
When an activity is cancelled, the performer of the activity is notified of the cancellation and is given an opportunity to rollback or cancel any work that has already been done on behalf of the activity. Since this clean-up procedure can take an indeterminate amount of time, cancelling an instance may not be instaneous and could result in new activities being activated.
Throws:
ServerException - if there is a problem in locating the instance in the process domain or if the requested action is not permitted (the instance this handle is referring to may have been changed in the meantime).
Edited by: harald.reinmueller on May 15, 2009 11:42 AM

Similar Messages

  • Can iTunes be set to stop at the end of a track and wait for a manual play.

    I am wanting to use itunes to play sound effects in a live drama but I need to have it stop at the end of each track and wait for a manual start. It needs to be done without deselecting and selecting tracks by myself and, importantly, others who may be confused by the computer.
    If iTunes can't do this is there any other app that can, I've been looking but failed to find any apart from DJ packages which are more complicated than I would like for others to use.
    Dave

    You want to have a bunch of tracks, play them in order, the first one plays then it stops and all you have to do is hit Play to continue to next track?
    This script will do it.
    Play the first track and iTunes will stop at the end and queue up the next song. Just press Play (or Spacebar) and it'll  play the second song and stop till the end of the playlist.
    No need to select any songs or do anything fancy.
    -> Stop Track!
    "This script applet runs in the background while an iTunes playlist is playing. Whenever the accompanying "STOP_TRACK_05sec.mp3" track is encountered, the script will stop iTunes and advance to the next track, which you can start manually."

  • Wait for Event Step (Urgent).

    Hi, all!
    I m unable to successfully execute my WAIT FOR EVENT step in my Workflow.
    Scenario:
    Have my own customised screen for HR approval process. In the second step after displaying to the approver when he actually presses on the <b>APPROVE</b> button my <b>APPROVED</b> event for the <b>same object</b> is triggered. Now I m waiting for this event im my workflow. Done the <b>WAIT FOR EVENT</b> in the WF .ie. from WF container selected the BOR and assigned the <b>APPROVED</b> event in the <b>WAIT FOR EVENT</b> step.
    Problem:
    My WF is unable to catch the event .ie. even in SWEL, "<b>NO RECEIVER FOUND</b>".
    Thanks and Regards,
    Sudipto

    Hi!
    Thanks.
    Actually I m facing a peculiar porblem...
    Scenario: My WF has  3 steps.
    1)The user fills in the initial screen.
    2)Then it goes to the second person who adds comments    and approves it.
    3)This triggers the <b>APPROVE</b> event for the same OBJECT.
    For which my WF has the <b>WAIT FOR EVENT</b>. After which there is just this SEND MAIL task
    Problem:
    My WF when executed by itself actually performs perfectly and the SEND MAIL is actually executed.
    But when it is initiated from my ABAP prog...It goes to the next level user in line, where he adds his comments n then it goes to my <b>WAIT FOR EVENT</b> but my SEND MAIL is not executed.
    As the 2nd step of display is done with the object key hence there shud not be any value passing prob from my prog.
    I cannot understand the prob.....
    Regards,
    Sudipto
    Message was edited by: Sudipto Barman

  • Waiting for the end of the process

    I'm executing a command using the Runtime class and I have to wait until the end of the command to get the results. But, I don't want to sleep the thread for some undeterminated time. I'd like it just to wait until the command ends.
    See in this code:
    try
    String result="";
    Process p = Runtime.getRuntime().exec("sh"); //open a new shell
    InputStream is = p.getInputStream();
    OutputStream os = p.getOutputStream();
    os.write("ifconfig -a | grep PROMISC -c\n".getBytes());
    os.flush();
    try {
    Thread.currentThread().sleep(1000);
    /*command should take some time to execute so wait for 10 secs .... I don't like this .... I would prefer waiting for the end the command ifconfig*/
    catch (InterruptedException eIE) { }
    while (is.available() > 0)
    result = result + ( (char) is.read());
    System.out.println(result);
    catch (IOException e) {
    System.out.println(e);

    AFAIK you can only detect if the shell process has finished, as sub-processes of the shell are not visible to your Java program (without resorting to OS-specific syscalls).
    You can write "exit" (or whatever terminates your shell) in the output stream as the last command - this will quit the shell as soon as all commands are finished, and that will be visible to your prog. Note that you should not run ANY of the shell commands in background then, as this could cause the shell to exit before the commands are finished (and, depending on the system, even signal the subprocesses).

  • Mark instance for manual recovery

    Is there any way I can programmatically set my instance for manual recovery without fault policy ?
    I.e
    I would like to suspend my process for a certain period of time and manually invoke from the activity where i left ..
    I do not want to use wait because, I would like to manually recover my instance. Also wait activity consumes a thread of scheduler that causes perfomance issues.
    Please let me know if you have any idea..
    Thanks,
    -Sridhar

    Hi Sridhar
    Send it to a manual task, then reissue manually from the worklist. You can put a timeout on the worklist entry too so that the instance can be restarted automatically after a period.
    Tony

  • Auto retry for the instances under manual recovery

    Hi
    I have a situation where i need to refire all the instances which are in activities tab [because of manual intervention in the fault policy] at regular intervals.
    Checked the documentation where it says in 10.1.3.4 we can configure a time frame where it will refire all the instances which are in recover tab under administration.
    Tried out that option but it is not taking the instacnes which are in activities tab
    Can some one suggest a workaround for this
    Thanks
    Vamsi

    Hi,
    When I try to recover the instance that is waiting for manual recovery, I didn't see anything happening.
    Also the the fault policy is active and working fine during the retry intervals. That means If I disable one of the webservices and enable them during the retry it is success after some failure retries.
    Any ides why the recovery not working in SOA 10.1.3.3
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How do I send instance for manual recovery at run time.

    Hi
    I have a BPEL process within which I am trying to handle a business error. I understand using the default-policies on the application server I can send a message for manual recovery. But is it possible to force an instance into the manual recovery queue in the event of a handled error?
    I have previosuly used the default policies to route remote/binding faults to the activities tab (manual recovery) tab and the users find this useful to adjust XM land retry, re-throw etc. But can we do the same for errors handled within the BPEL. So if I have a catch all within my process how would I send the instance to this manual recovery queue.
    Thanks
    Rich

    I hate it when after an hour's searching I post a question
    and then find the answer ten minutes later...
    "Current VI's Path" on the file IO palette...
    Bob

  • Python script to automate the manual recovery of BPEL instances in SOA 11g

    I have a requirement for automating the manual recovery of BPEL instances pending for recovery at a particular time. It will be called inside a cron job.
    Any help will be much appreciated.
    Thanks in advance,
    Ravi Prakash

    Hi,
    When I try to recover the instance that is waiting for manual recovery, I didn't see anything happening.
    Also the the fault policy is active and working fine during the retry intervals. That means If I disable one of the webservices and enable them during the retry it is success after some failure retries.
    Any ides why the recovery not working in SOA 10.1.3.3
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Manual Recovery of BPEL Instances -- Failed

    Hi
    I am facing some issue related to Manual Recovery Process. All my BPEL instances are sitting in the Manual Recovery Mode, when I try to Recover / Call the instances, the console if failing to deliver the Conversation ID.
    Can any one help me out..
    Regards
    Kirthi

    Hi,
    When I try to recover the instance that is waiting for manual recovery, I didn't see anything happening.
    Also the the fault policy is active and working fine during the retry intervals. That means If I disable one of the webservices and enable them during the retry it is success after some failure retries.
    Any ides why the recovery not working in SOA 10.1.3.3
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • High "CPU + Wait for CPU" event on pl/sql execute operation

    I am executing a pl/sql in 256 parallel sessions, on 11G r2 DB (RAC 2 nodes), on a 42core IBM P7 Machine.
    PL/sql function opens a cursor on a huge table with around 20M rows and does further processing.
    Work-load is equally divided into 256 parallel sessions. 256 parallel sessions are opened by a middle-ware application and each session processes data based on an identifier (there are 256 distinct identifier values).
    PL/sql function is comprised of some SQL operations, on which i am experiencing some cluster waits. But CPU + wait for CPU event on pl/sql execute operation is close to 80% of the total execution time.
    Top user events:
    Event Event Class % Event Avg Active Sessions
    CPU + Wait for CPU CPU 80.88 98.15
    gc current block 2-way Cluster 3.33 4.05
    gc cr block busy Cluster 2.01 2.44
    gc cr block 2-way Cluster 1.97 2.39
    db file sequential read User I/O 1.81 2.20
    Top SQL command type:
    SQL Command Type Distinct SQLIDs % Activity Avg Active Sessions
    PL/SQL EXECUTE 3 60.99 74.02
    SELECT 66 12.90 15.65
    INSERT 24 9.89 12.01
    UPDATE 9 6.00 7.28
    DELETE 2 1.33 1.61Rest of the SQL queries seem to be very optimum, but waits on pl/sql execute operation are causing very low tps.
    Can anybody give me some heads-up about where to and what to look for to resolve?
    Please let me know if any extra information is required.

    AWR report :
    Header
    DB      Name      DB Id           Instance      Inst num      Startup Time           Release RAC
    FCR           1304316316      fcrypp1      1                01-12ÔÂ-12 04:12      11.2.0.2.0 YES
    Host           Name Platform                     CPUs      Cores      Sockets Memory (GB)
    z4ci2011      AIX-Based Systems (64-bit)      168      42        320.00
                   Snap Id      Snap Time                     Sessions      Cursors/Session
    Begin Snap: 40650           01-12ÔÂ-12 06:40:03      1203           5.8
    End Snap:      40669           01-12ÔÂ-12 09:50:01      1122           5.3
    Elapsed:        189.96 (mins)    
    DB Time:        22,251.65 (mins)
    Load profile
    Per Second           Per Transaction      Per Exec      Per Call
    DB Time(s):           117.1                19.5                     0.00           3.89
    DB CPU(s):                16.1                2.7                     0.00           0.53
    Redo size:                12,759,186.3      2,126,361.0    
    Logical reads:           181,875.9           30,310.2    
    Block changes:           54,515.5           9,085.2    
    Physical reads:      1,340.3           223.4    
    Physical writes:      8,788.9           1,464.7    
    User calls:           30.1                5.0    
    Parses:                26.5                4.4    
    Hard parses:           0.4                0.1    
    W/A MB processed:      8.5                1.4    
    Logons:                0.1                0.0    
    Executes:                41,176.0           6,862.1    
    Rollbacks:                1.9                0.3    
    Transactions:           6.0      
    Time model statistics
    Statistic Name                                             Time (s)          % of DB Time
    sql execute elapsed time                              1,334,935.55     99.99
    PL/SQL execution elapsed time                         1,180,376.60     88.41
    DB CPU                                                       182,904.44          13.7
    repeated bind elapsed time                              292.83               0.02
    sequence load elapsed time                              279.75               0.02
    parse time elapsed                                        87.4               0.01
    hard parse elapsed time                                   22.52               0
    failed parse elapsed time                              5.12               0
    connection management call elapsed time               4.61               0
    PL/SQL compilation elapsed time                         1.91               0
    hard parse (sharing criteria) elapsed time          0.49               0
    hard parse (bind mismatch) elapsed time               0.39               0
    inbound PL/SQL rpc elapsed time                         0.1     0
    DB time                                                       1,335,099.30     
    background elapsed time                                   33,298.67     
    background cpu time                                        11,692.76     
    Operating System Statistics
    Statistic Value End Value
    AVG_BUSY_TIME 202,428  
    AVG_IDLE_TIME 936,397  
    AVG_IOWAIT_TIME 4,124  
    AVG_SYS_TIME 84,480  
    AVG_USER_TIME 117,573  
    BUSY_TIME 34,074,303  
    IDLE_TIME 157,378,825  
    IOWAIT_TIME 755,368  
    SYS_TIME 14,256,010  
    USER_TIME 19,818,293  
    LOAD 21 10
    OS_CPU_WAIT_TIME 23,770,800  
    VM_IN_BYTES 20,496  
    VM_OUT_BYTES 2,086,940,520  
    PHYSICAL_MEMORY_BYTES 343,597,383,680  
    NUM_CPUS 168  
    NUM_CPU_CORES 42  
    NUM_LCPUS 168  
    NUM_VCPUS 42  
    GLOBAL_RECEIVE_SIZE_MAX 41,943,040  
    GLOBAL_SEND_SIZE_MAX 41,943,040  
    TCP_RECEIVE_SIZE_DEFAULT 16,384  
    TCP_RECEIVE_SIZE_MAX 9,223,372,036,854,775,807  
    TCP_RECEIVE_SIZE_MIN 4,096  
    TCP_SEND_SIZE_DEFAULT 16,384  
    TCP_SEND_SIZE_MAX 9,223,372,036,854,775,807  
    TCP_SEND_SIZE_MIN 4,096
    SQL ordered by CPU Time
    CPU Time (s)      Executions       CPU per Exec (s) %Total      Elapsed Time (s)      %CPU      %IO      SQL Id SQL Module SQL Text
    180,330.13           127                1,419.92                98.59      1,326,401.03           13.60      1.08      04kt8u64udphu    BEGIN :1 := ap_ch_eod_shell_en...
    8,025.48           9,868,469           0.00                     4.39      10,809.88                74.24      9.21      arnkbsnzhha77 ch_txn_shell_115  SELECT * FROM CH_ACCT_MAST WHE...
    6,117.64           9,873,495           0.00                     3.34      8,557.64                71.49      7.14      8qcryvj294s79 ch_eod_shell_138  UPDATE CH_ACCT_MAST_PAR SET DA...
    4,614.71           3,185,313           0.00                     2.52      11,130.77                41.46      11.88      b75wwkxw34x2k ch_eod_shell_228  INSERT INTO CH_TMP_XF_GL_TXNS ...
    4,374.29           9,866,217           0.00                     2.39      5,876.00                74.44      37.88      g22p493ra2zr5 ch_eod_shell_248  UPDATE CH_ACCT_MAST SET BAL_LA...
    3,514.57           14,026,451           0.00                     1.92      6,274.60                56.01      29.55      7bwhphfnnuqpr ch_eod_shell_59  INSERT INTO CH_ACCT_INT_BREAKU...
    3,253.36           3,185,706           0.00                     1.78      3,875.42                83.95      9.20      9dq134q9btxq8 ch_eod_shell_74  INSERT INTO CH_ST_CAP_INPUT_TX...
    3,131.64           9,875,603           0.00                     1.71      5,338.43                58.66      15.55      6xhwk1b37rh1t ch_txn_shell_143  UPDATE CH_ACCT_ATTRIBUTES SET ...
    2,954.15           9,878,718           0.00                     1.62      5,692.88                51.89      13.22      b4at7uq2hw6r7 ch_sweepin_shell  SELECT TRIM(A.COD_PKG) FROM RP...
    2,572.01           9,867,277           0.00                     1.41      4,605.88                55.84      12.58      54ud0a8tuwwbc ch_txn_shell_17  SELECT * FROM CH_ACCT_ATTRIBUT...
    1,941.29           19,730,455           0.00                     1.06      5,580.38                34.79      7.02      dx5kng8qu560t ch_txn_shell_59  UPDATE CH_ACTIONS_DUE SET COD_...
    1,846.01           9,875,239           0.00                     1.01      4,737.66                38.96      12.55      af7f92f13rmy4 ch_txn_shell_85  INSERT INTO CH_ACTIONS_DUE (CO...

  • Standby media recovery waiting for inactive thread

    Hi,
    Please let me know any idea on this scenario. Thanks.
    Environment:
    Oracle 11.2.0.2
    primary: 3 node RAC
    standby: 3 node RAC
    Problem:
    there is thread 5 (not registered instance or did not show in srvctl) that generates archivelog. but the lag apply stopped because of this when the instance (of thread 5) is shutdown.
    question: somehow an instance is registered in the cluster but in srvctl only 3 instance is running. it should have 4 instance but 1 is not running. How can I remove the thread 5 so when someone startup then shutdown instance#4 it will not create archivelog that will stopped the apply of archivelog in standby.
    note: this is perf environment server so someone and "other" DBA is accessing this environment which I am not aware what are they doing with the cluster.
    looking in alert log file: - it is waiting for thread 5 sequence 510. But the instance is down so log is not shipped to standby database and this resulted to lag in other threads.
    Sat Aug 03 18:54:47 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_1_seq_13718.1544.822333555
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17665.22678.822315375
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15465.14138.822313997
    Media Recovery Waiting for thread 5 sequence 510
       THREAD# LAST_SEQ_RECEIVED LAST_SEQ_APPLIED
             1             13745            13717
             2             17728            17664
             3             15527            15464
             5               509              509
    what I did is:
    1. primary (asm copy to file system)
    2. scp primary to standby
    3. standby (file system copy to asm)
    4. rman target / -> catalog archivelog <thread 5 sequence 510)
    5. then looking into alert log file; it performed media recovery
    Sat Aug 03 23:03:13 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_1_seq_13718.1544.822333555
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17665.22678.822315375
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15465.14138.822313997
    Media Recovery Waiting for thread 5 sequence 510
    Sat Aug 03 23:15:21 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_5_seq_510
    Sat Aug 03 23:15:32 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15466.10925.822316315
    Sat Aug 03 23:17:18 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17666.853.822333143
    Sat Aug 03 23:18:39 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15467.834.822333553
    Sat Aug 03 23:20:54 2013

    in Standby, thread 4 and 5 are both UNUSED, and size is incorrect (not equal to other redo log). I want to recreate it but cannot drop redo log. I follow Doc ID 740675.1.
    any idea what are the missing steps? thanks.
    ORA-01624: needed for crash recovery of instance UNNAMED_INSTANCE_5 (thread 5)
    select group#,thread#,archived,status,bytes from v$log;
    primary DB:
        GROUP#    THREAD# ARC STATUS                BYTES
             1          1 YES INACTIVE         1073741824
             2          1 YES INACTIVE         1073741824
             3          2 NO  CURRENT          1073741824
             4          2 YES INACTIVE         1073741824
             5          3 YES INACTIVE         1073741824
             6          3 YES INACTIVE         1073741824
             7          2 YES INACTIVE         1073741824
             8          1 NO  CURRENT          1073741824
             9          3 NO  CURRENT          1073741824
            10          4 YES INACTIVE         1073741824
            11          4 NO  CURRENT          1073741824
        GROUP#    THREAD# ARC STATUS                BYTES
            12          4 YES INACTIVE         1073741824
            13          5 YES INACTIVE         1073741824
            14          5 YES INACTIVE         1073741824
            15          5 NO  CURRENT          1073741824
    standby DB:
        GROUP#    THREAD# ARC STATUS                BYTES
             1          1 YES INACTIVE         1073741824
             2          1 YES INACTIVE         1073741824
             3          2 NO  CURRENT          1073741824
             4          2 YES INACTIVE         1073741824
             5          3 YES INACTIVE         1073741824
             6          3 YES INACTIVE         1073741824
             7          2 YES INACTIVE         1073741824
             8          1 NO  CURRENT          1073741824
             9          3 NO  CURRENT          1073741824
            10          4 YES INACTIVE         1073741824
            11          4 NO  CURRENT          1073741824
        GROUP#    THREAD# ARC STATUS                BYTES
            12          4 YES INACTIVE         1073741824
            13          5 YES INACTIVE         1073741824
            14          5 YES INACTIVE         1073741824
            15          5 NO  CURRENT          1073741824

  • Wait for Event - No Entry in Instance Linkage

    I have a Wait step in a simple workflow. The step waits for a CL ZCL_XXX event. And the binding has _EVT_OBJECT-->ZCL_XXX instance in the workflow container. Note it is not a BOR event, it is CL event. And Step not in workflow log is UNCHECKED.
    The problem: in SWEL, it says "No receiver entered.". And in SWEINST, I cannot find the entry for ZCL_XXX. There is no error message in SWI2_DIAG . And the Wait step is NOT showing either even though Step not in workflow log is UNCHECKED.
    I tried deleted the step and then created it again more than once. SWU_OBUF was executed too without any luck.
    Why is there no entry in Instance Linkage? Can anyone kindly give me some hints? I feel like I read all Wait related posts in SDN already but still no clue.

    Hi Dayong
    So,
    We have an Instance of ZCL_XXX in the workflow.,
    We have done the binding from Event to Wait step _EVT_OBJECT-->ZCL_XXX.
    And I am sure you would have already checked the WF log to see if ZCL_XXX has an ACTUAL instance in the main WF container and it is not empty.
    Can we check:
    Is the KEY of the ZCL_XXX (attribute in class marked as KEY) the same in the Workflow instance as well as event which was triggered (check in SWEL details page) ......even spaces (if any)?
    Regards,
    Modak

  • Do instance id #s change on manual recovery?

    We are having instance which go to the manual recovery list, and so we recover them.
    Then on the log we see these types of messages:
    <INFO> <default.collaxa.cube.engine> <CubeEngine::expireActivity> Instance/activity not found, next expiration attempt (?/5) for activity "130130-BpInv1-BpTry2.10-1" scheduled for "November 14, 2007 8:32:43 AM GMT"
    These messages are referencing instances that don't exist on the server, maybe an instance number less(in this example 130129) or instance number more(in this example 130131) do exist, but this one doesn't.
    So we are thinking if this instance gets a new number id once it is recovered. Does anyone know about if this is true or false?

    may i know the release number of bpel engine? obversion.sh or obversion.bat should give this info.
    are there any other errors (rollback exceptions) in the log file? looks like the invoke failed due to some system exception, the transaction rolled back but the retry gets scheduled...we fixed similar issue in 10.1.3.3.

  • My iphone 4s is in recovery mode, when i plug it into my computer, itunes can find it and starts to restore and update it, but then it gets to the part where its waiting for itunes, my computer hasn't found it. how do i get my computer to find it?

    My iphone is in recovery mode, and when i connect it to my computer it makes the connected noise and itunes finds it, it starts to restore and update but it gets to the point where it says waiting for iphone. My compuer hasnt connected my iphone. i dont know how to make it conect :S Someone help! ive been trying for three hours!

    i have, its connected to my sisters computer,it starts to restore then says there was a problem downloading the software for the iphone, the network connection has timed out. what does this mean?

  • HT201263 my iphone 5 screen has gone black, and when i plug it into itunes it says we have discovered a iphone in recovery mode, then when i try to restore it it just says waiting for iphone and doesnt get anywhere else. ny clue on how i can fix this prob

    when i upgraded my iphone to the new update My iphone 5 screen went completely black and has been like it for 2 days. I have tried holding home and lock,I have tried holding lock and the volume, and I have tried holding just the volume, it still just stays black.
    When i plugged it into my Mac the apple logo comes up on the iphone screen. and then on the computer it says itunes has detected an iphone in recovery mode. you must restore this iphone before it can be used with itunes. (as in the below pictures)
    when i click ok to restore it just says waiting for iphone (as in the other photo below). i left it in for 20minutes and still said the same thing.
    after that i tried unplugging the iphone and it just went back to being a black screen again if anyone has any idea please please help me, thank you.

    I searched the iPod Touch forum for "iphone in recovery mode" and it appears there are two possible solutions:
    - Place the iPod in DFU mode and then restore it> 
    How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
    - Use this program to get it out of recovery mode:
    RecBoot: Easy Way to Put iPhone into Recovery Mode | Jaxov

Maybe you are looking for