Handle long-running EDT tasks (f.i. TreeModel searching)

Note: this is a cross-post from SO
http://stackoverflow.com/questions/9378232/handle-long-running-edt-tasks-f-i-treemodel-searching
copied below, input highly appreciated :-)
Cheers
Jeanette
Trigger is a recently re-detected SwingX issue (https://java.net/jira/browse/SWINGX-1233): support deep - that is under collapsed nodes as opposed to visible nodes only, which is the current behaviour - node searching.
"Nichts leichter als das" with all my current exposure to SwingWorker: walk the TreeModel in the background thread and update the ui in process, like shown in a crude snippet below. Fest's EDT checker is happy enough, but then it only checks on repaint (which is nicely happening on the EDT here)
Only ... strictly speaking, that background thread must be the EDT as it is accessing (by reading) the model. So, the questions are:
- how to implement the search thread-correctly?
- or can we live with that risk (heavily documented, of course)
One possibility for a special case solution would be to have a second (cloned or otherwise "same"-made) model for searching and then find the corresponding matches in the "real" model. That doesn't play overly nicely with a general searching support, as that can't know anything about any particular model, that is can't create a clone even if it wanted. Plus it would have to apply all the view sorting/filtering (in future) ...
// a crude worker (match hard-coded and directly coupled to the ui)
public static class SearchWorker extends SwingWorker<Void, File> {
    private Enumeration enumer;
    private JXList list;
    private JXTree tree;
    public SearchWorker(Enumeration enumer, JXList list, JXTree tree) {
        this.enumer = enumer;
        this.list = list;
        this.tree = tree;
    @Override
    protected Void doInBackground() throws Exception {
        int count = 0;
        while (enumer.hasMoreElements()) {
            count++;
            File file = (File) enumer.nextElement();
            if (match(file)) {
                publish(file);
            if (count > 100){
                count = 0;
                Thread.sleep(50);
        return null;
    @Override
    protected void process(List<File> chunks) {
        for (File file : chunks) {
            ((DefaultListModel) list.getModel()).addElement(file);
            TreePath path = createPathToRoot(file);
            tree.addSelectionPath(path);
            tree.scrollPathToVisible(path);
    private TreePath createPathToRoot(File file) {
        boolean result = false;
        List<File> path = new LinkedList<File>();
        while(!result && file != null) {
            result = file.equals(tree.getModel().getRoot());
            path.add(0, file);
            file = file.getParentFile();
        return new TreePath(path.toArray());
    private boolean match(File file) {
        return file.getName().startsWith("c");
// its usage in terms of SwingX test support
public void interactiveDeepSearch() {
    final FileSystemModel files = new FileSystemModel(new File("."));
    final JXTree tree = new JXTree(files);
    tree.setCellRenderer(new DefaultTreeRenderer(IconValues.FILE_ICON, StringValues.FILE_NAME));
    final JXList list = new JXList(new DefaultListModel());
    list.setCellRenderer(new DefaultListRenderer(StringValues.FILE_NAME));
    list.setVisibleRowCount(20);
    JXFrame frame = wrapWithScrollingInFrame(tree, "search files");
    frame.add(new JScrollPane(list), BorderLayout.SOUTH);
    Action traverse = new AbstractAction("worker") {
        @Override
        public void actionPerformed(ActionEvent e) {
            setEnabled(false);
            Enumeration fileEnum = new PreorderModelEnumeration(files);
            SwingWorker worker = new SearchWorker(fileEnum, list, tree);
            PropertyChangeListener l = new PropertyChangeListener() {
                @Override
                public void propertyChange(PropertyChangeEvent evt) {
                    if (evt.getNewValue() == SwingWorker.StateValue.DONE) {
                        //T.imeOut("search end ");
                        setEnabled(true);
                        ((SwingWorker) evt.getSource()).removePropertyChangeListener(this);
            worker.addPropertyChangeListener(l);
            // T.imeOn("starting search ... ");
            worker.execute();
    addAction(frame, traverse);
    show(frame)
}

At the end of the day, it turned out that I asked the wrong question (or right question in a wrong context ;-): the "problem" arose by an assumed solution, the real task to solve is to support a hierarchical search algorithm (right now the AbstractSearchable is heavily skewed on linear search).
Once that will solved, the next question might be how much a framework can do to support concrete hierarchical searchables. Given the variety of custom implementations of TreeModels, that's most probably possible only for the most simple.
Some thoughts that came up in the discussions here and the other forums. In a concrete context, first measure if the traversal is slow: most in-memory models are lightning fast to traverse, nothing needs to be done except using the basic support.
Only if the traversal is the bottleneck (as f.i. in the FileSystemModel implementations of SwingX) additional work is needed:
- in a truly immutable and unmodifiable TreeModel we might get away with read-only access in a SwingWorker's background thread
- the unmodifiable precondition is violated in lazy loading/deleting scenarios
there might be a natural custom data structure which backs the model, which is effectively kind-of "detached" from the actual model which allows synchronization to that backing model (in both traversal and view model)
- pass the actual search back to the database
- use an wrapper on top of a given TreeModel which guarantees to access the underlying model on the EDT
- "fake" background searching: actually do so in small-enough blocks on the EDT (f.i. in a Timer) so that the user doesn't notice any delay
Whatever the technical option to a slow search, there's the same usability problem to solve: how to present the delay to the end user? And that's an entirely different story, probably even more context/requirement dependent :-)
Thanks for all the valuable input!
Jeanette

Similar Messages

  • How to Handle Long running alerts in process chain...Urgent!!!

    Hi All,
    I am trying to find ways for handling long running alerts in process chains.
    I need to be sending out mails if the processes are running for longer than a threshold value.
    I did check this post:
    Re: email notification in process chain
    Appreciate if anyone can forward the code from this post or suggest me other ways of handling these long running alerts.
    My email id is [email protected]
    Thanks and Regards
    Pavana.

    Hi Ravi,
    Thanks for your reply. I do know that i will need a custom program.
    I need to be sending out mails when there is a failure and also when process are running longer than a threshold.
    Please do forward any code you have for such a custom program.
    Expecting some help from the ever giving SDN forum.
    Thanks and Regards
    Pavana
    Message was edited by:
            pav ana

  • Handling long running processes in APEX

    Hello Experts,
    I need your help!
    I would like to call a long running PL-Proc from an Apex-App. So I build a page for the parameters with the wizzard - all fine.
    Pressing the button starts the pl-proc - thats also fine.
    Problem: While the PL-Proc is running, there is no activity signaled in the browser. There is no way to see, that something is running in the background.
    After the pl-proc is finished, the branch to an other site took place - so the "after process" action is working as desired.
    I tried "javascript:html_Submit_Progress(this);" - but this is not a solution because there is only a very short time to reload the page itself. The PL-Proc need much more time.
    Is there a way to show the user, that background action is running?
    Any Ideas?
    Thanks for your help!
    Kind regards,
    Frank

    A few things to keep in mind. The animated gif solutions don't show a true progress bar indicator, it's just an animation on a loop. If the process takes too long, you will hit the session timeout value defined for Oracle HTTP Server.
    Another thought is this. In the code that is the long running process, make calls to [dbms_application_info.set_session_longops|http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_appinf.htm#i996999] that indicate the real progress in the code. Then have a page that queries v$session_longops and refreshes every x (say 5 seconds). That page could even have an animated gif on it to indicate there is still activity.
    Tyler Muth
    http://tylermuth.wordpress.com
    [Applied Oracle Security: Developing Secure Database and Middleware Environments|http://www.amazon.com/gp/product/0071613706?ie=UTF8&tag=tylsblo-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0071613706]

  • How to handle long running Processes in J2EE

    Hi all,
    we want to design something like a process engine on our application server. It should be possible to start processes asynchronous, so we think what we need is a message driven bean to start processes.
    The problem is that there are different states while running the process and it should be possibe to request the current state at the running process. But how we get access to the process after its once started over the stateless message driven bean?
    I hope you can understand the problem and maybe have a solution.
    Thanks & regards
    Rene G.

    You are totally right, but i think my problem is not to design a good software application, my problem is to design this in j2ee. I have not so much j2ee experience in this way. Normally to solve this problem i would think about something like a container which contains one thread for each process. But i read that it is forbidden in j2ee to have your own thread management, so this seems to be a bad solution in j2ee, not at all.
    I hope you understand me a little better now and i hope you don't think that i only want to utilize your knowledge to have less work by myself. I think this is a kind of j2ee specific question, which can be ask in a forum like this, isn't it?
    Thanks & regards
    Rene G.

  • Need SSIS event handler for long running event

    Hi,
    I have a long running table load task that I would like to monitor using an event handler. I have tried the progress and information events but neither generates a message during the actual table load. Is there a way to invoke an
    event during the SSIS data flow task when it 1%, 2% done?
    thanks
    oldmandba

    Do you now how many rows the source table have ? You can run SELECT statement on the destination to find out how many data has been inserted.
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • How to get running Daqmx task handles

    HI,
    We are creating a TestStand module using CVI 8.5, in that module we have to close all the running Daqmx tasks, please provide help on how to get running Daqmx task handles. We could not find any API function which can return list of running Daqmx task handles so that we can close one by one.
    Thanks in advance for the help

    I just had a similar issue.  Stumbled on this forum in the hopes of getting an answer and found no reply to the original message.  I think this is what we are both looking for DAQmxGetSysTasks.  
    I havent used it yet.  Still in the excited I found something stage.

  • Long Running Task ...

    I have a requirement where a user kicks off a long running task ( usually 2
    to 5 minutes). I want to show a 'In Progress' message while the task is
    procesing. The long running process needs to be passed an ArrayList. To
    achieve this , I use a ServerSessionPool and a QueueListener.
    In the servlet I assign a unique ID to the task , send a JMS message ( with
    the serialized ArrayList) on the queue. The servlet returns to the
    user saying 'In progress' message . When the user hits refresh , I want to
    know if the message has been consumed ( or the process is over ) and
    I need get the 'processed' ArrayList back in the servlet. How do I achieve
    this ?
    Thanks in advance
    ~ J

    instead of asking the user to hit refresh, you can have the browser
    automatically refresh the page every X seconds by putting in a header
    parameter.
    I forgot the actual parameter, but this is pure HTML so look it up in that
    spec
    Filip
    ~
    Namaste - I bow to the divine in you
    ~
    Filip Hanik
    Software Architect
    [email protected]
    www.filip.net
    "Cameron Purdy" <[email protected]> wrote in message
    news:[email protected]..
    http://dima.dhs.org/misc/LongRunningTask.jsp
    Peace,
    Cameron Purdy
    Tangosol Inc.
    << Tangosol Server: How Weblogic applications are customized >>
    << Download now from http://www.tangosol.com/registration.jsp >>
    "John Doe" <[email protected]> wrote in message
    news:[email protected]..
    I have a requirement where a user kicks off a long running task
    usually
    2
    to 5 minutes). I want to show a 'In Progress' message while the task is
    procesing. The long running process needs to be passed an ArrayList. To
    achieve this , I use a ServerSessionPool and a QueueListener.
    In the servlet I assign a unique ID to the task , send a JMS message (with
    the serialized ArrayList) on the queue. The servlet returns to the
    user saying 'In progress' message . When the user hits refresh , I want
    to
    know if the message has been consumed ( or the process is over ) and
    I need get the 'processed' ArrayList back in the servlet. How do Iachieve
    this ?
    Thanks in advance
    ~ J

  • Long running task - what do you show?

    There are a lot of discussions about long running tasks. But what do you show in the GUI while these tasks are running? The obvious choice is the standard hour-glass cursor, or a JProgressBar. I'm sure though that there must be other creative alternatives, like a Java2D animation for example.
    Would people like to share what they show during long running tasks?

    I have both Fusion and Parallels on all my machines.  For Windows7, I have found that
    the most recent version of Parallels is much faster and efficient than Fusion.  With
    XP, either one seems just fine.  Also, if Linux is a future consideration, Fusion seems
    to be the better bet.  Parallels has some USB issues when running Linux.
    I have tried Virtual Box, but for my uses, hardware and firmware engineering, it has
    been problematic.
    Since you mentioned Autocad, I would not recommend VirtualBox.  Either of Fusion
    or Parallels should serve you well.  However, graphics performance does seem a
    bit snappier with Parallels than with Fusion.

  • NiDAQ 6008 -- Long running task stability

    I have a small C program using nidaqmxbase, based on the example code provided.
    This runs with a usb connected 6008 on a Red Hat Linux machine. The task is simple, read the analog voltage (differential, reference source 2.5v range) from one channel at 1000hz in blocks of 50 samples. The results are placed into network messages to send to another program for analysis.
    This program works fine, but has a long run-time stability issue when left running for more than about 24 hours continuously (and, for my application I need to capture in realtime 24/7 indefinitly). The symptom observed is that the 6008 stops returning data -- and "lsdaq" shows that the device is no longer seen by the system. Sometimes the green LED stops blinking as well. Has the DAQ crashed? Did some counter overflow and cause the driver to malfunction? I am able to restore function only by physically disconnecting and re-connecting the 6008.
    Thank you
    Andy.

    Hi aws-
    It sounds like the problem you are seeing could be related to bus powering or resource conflicts on your system.  The fact that the failure results in total loss of connectivity with your device certainly seems to indicate a hardware problem.
    You said your code is based on the example code; please verify if an unmodified shipping example fails similarly.  If so, please let us know which program fails and I will attempt to replicate the issue here.  Do you see this problem on multiple computers and/or with multiple USB-6008 devices? 
    Thanks-
    Tom W
    National Instruments

  • Handling long tasks

    Hi,
    I wanted to know what's the best way to handle long tasks in
    Flex.
    In my application, I have a heavy function that processes
    lots of data from an XML file. When this function is called, the
    whole app freezes. Even the busyCursor freezes and stop turning,
    and I get the OS cursor for non-responsive application (on MacOSX a
    multi-colored turning wheel).
    Is there a way to prevent such problems ?

    there was a Interesting Topic about it here, and guys cam eup
    with some interesting Ideas, one of them was to let other swf do it
    for you with LocalConnection basically utilizing Browsers multi
    threading capabilities.
    take a look at this :
    thread
    1
    and
    this
    thread
    2

  • How to delay a long running tasks start until display is updated?

    I am having a problem in that a progress bar I want to use to show progress of a long running background process is not showing up for a long time (up to 10 seconds) after the long running process is started. This is in an AIR application and the background process is an external native process, so once it is launched the UI thread is free to run, but the launch of the process can take time.
    Below is the current state of the relevant code.
    In addition to the current format I have also tried using the CREATION_COMPLETE, EXIT_FRAME and RENDER events with the same results.
    If I up the value in setTimeout to 500ms the progress bar displays quickly, but I would prefer to not delay the launch of the background process for no reason.
    If I comment out the loadPorject call the progress bar is displayed instantly.
    Any help is appreciated.
    private function continueLoad(evt:Event):void
         // We are about to start some potentially long running process
         CursorManager.setBusyCursor();
         curPopup = new SyncProgress();
         curPopup.addEventListener(Event.ENTER_FRAME, popupLoadedHandler);
         PopUpManager.addPopUp(curPopup, parentView, true);
         PopUpManager.centerPopUp(curPopup);
         curPopup.stage.invalidate();
    private function popupLoadedHandler(event:Event):void
         curPopup.removeEventListener(Event.ENTER_FRAME, popupLoadedHandler);
         setTimeout(function():void{syncManager.loadProject(mainViewModel.selectedUserItem.id,proj ectFile.nativePath,overwrite);},0);

    DBMS_SCHEDULER is very powerful and can be a bit unwieldy. I tend to use DBMS_SCHEDULER for jobs which are purely 'in the database' i.e. not specifically APEX-related - in addition, I find it's better for stuff that needs to be run regularly without human intervention (some sort of refresh process, daily cleanup etc).
    If you are intending to run this process from APEX as a pseudo "on demand" process (i.e. generated by a user request) and have quite simple requirements (e.g. there's no dependencies on other jobs), it might be worth checking out the apex scheduling API - namely the package APEX_PLSQL_JOB:
    http://download.oracle.com/docs/cd/E14373_01/apirefs.32/e13369/apex_plsql_job.htm#BGBCJIJI
    It generates a unique job number which you can use to reference its progress - plus it's much simpler to use.
    p.s. using DBMS_SCHEDULER, yes the job name has to be unique but you can generate one by either using a sequence or data not likely to be repeated, like the current timestamp.

  • SQL Developer Locking up/Unable to Cancel long Running tasks

    I have had the same problem with a number of versions of SQL Developer (and version 3.2.09). It occurs when trying to cancel a long-running PL-SQL Function or procedure that has been started by 'Run' in SQL Developer.
    Select Terminate in Run Manager does not stop the job. Nor does trying to exit SQLDeveloper; it asks whether I want to kill the job; then doesn't kill it and doesn't exit either.
    Trying to save modifications to anything the process depends on results in SQL Developer locking for ~20 minutes.
    I have to resort to getting a DBA to manually kill the process at the server.
    Is there any possiblity of a workaround or a way of making the PL/SQL not lock so it can be terminated please?
    Thanks

    I have had the same problem with a number of versions of SQL Developer (and version 3.2.09). It occurs when trying to cancel a long-running PL-SQL Function or procedure that has been started by 'Run' in SQL Developer.
    Select Terminate in Run Manager does not stop the job. Nor does trying to exit SQLDeveloper; it asks whether I want to kill the job; then doesn't kill it and doesn't exit either.
    Trying to save modifications to anything the process depends on results in SQL Developer locking for ~20 minutes.
    I have to resort to getting a DBA to manually kill the process at the server.
    Is there any possiblity of a workaround or a way of making the PL/SQL not lock so it can be terminated please?
    Thanks

  • Does win8/8.1/10 kill long-running programs automatically as stated in specs? reasons why?

    does win8/8.1/10 kill/end-task long-running programs automatically as stated in specs? how specifically does it detect a locked-up process?
    has this been put into windows 7 at any time to make it similar to windows 8?
    Please supply accurate answers. thank you.
    My understanding the reason for this change was to handle locked-up programs.
    I do have a number of long-running processes. some examples of mine and scenarios for other users:
    simulations on a Workstation or HPC Server
    doing a directory tree walk on a hard disk with >=1TB of data
    reference articles I have found on the subject:
    windows 7
    http://windows.microsoft.com/en-us/windows/exit-program-not-responding#1TC=windows-7
    windows 8
    From some of what I understand, you can also get the "Program Not Responding" or similarly titled dialog box when:
    bug in the source code of the program in question. for instance, while(1){} such as forever loops (win7)
    similar program bug when declaring a function one way but defining it a different way and then calling it (mismatch in function signature) (win7)
    similar to above with DLLs in using MSVCRT*.DLL or other
    (?) can't remember for sure on this, but I think some badly formed calls or it was invalid values or data type mismatch to Win32 API can do this from buggy code. (win7)
    for (x=0; x < 16777216; x++) {your code here...} in other words, large values for loop termination (win7)
    this is a repost of http://answers.microsoft.com/en-us/windows/forum/windows_8-performance/does-win88110-kill-long-running-programs/d35c3c9e-c6f4-4bbf-846a-2041bf2167a0?tm=1427518759476
    here due to a request to do so.

    does win8/8.1/10 kill/end-task long-running programs automatically as stated in specs? how specifically does it detect a locked-up process?
    has this been put into windows 7 at any time to make it similar to windows 8?
    Please supply accurate answers. thank you.
    My understanding the reason for this change was to handle locked-up programs.
    Hi Jim,
    First, I have to admit that I'm not fully understanding the question, If a program is not responding, it means the program is interacting more slowly than usual with Windows, typically could be a confliction of software or hardware resources between
    two programs, lack of system resources, or a bug in the software or drivers. In that case, we can choose to wait or end the program. This design is similiar in Windows 7, Windows 8 and other OS.
    For deeper analysis, system determines whether the system considers that a specified application is not responding using a "IsHungAppWindow function",
    https://msdn.microsoft.com/en-us/library/ms633526.aspx
    And this link also give some explanation: Preventing Hangs in Windows Applicationshttps://msdn.microsoft.com/en-us/library/windows/desktop/dd744765%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
    While I'm not a developer, to better understand this, I recommend you contact members in the MSDN Forum:
    https://social.msdn.microsoft.com/Forums/en-US/home
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • WIJ 20002 error on long running reports

    When trying to run a long running report, an error message is received .
    Quote:
    *"The Web Intelligence Java Report Panel cannot connect to the server. Close
    the report panel and try to connect again or see your BusinessObjects
    administrator. (Error: WIJ 20002)"*
    What happens next is you are advised to "close" (twice) and are then advised to close this window.
    If you select Details on the first error message:
    Server: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet?
    java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 502 for URL: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
         at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:437)
         at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
         at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
         at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
         at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
         at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
         at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
         at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
         at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
         at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
         at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
         at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
         at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
         at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
         at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:441)
         at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
         at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
         at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
         at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
         at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
         at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
         at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
         at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
         at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
         at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
         at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
         at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
         at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
         at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
         at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at javax.swing.JComponent.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    Please let me know what the solution is.

    Matt,
    A namesake of yours is my client for this issue.
    Coming to the problem, the customer says there is proxy configured between HTTP server and WebSphere. This proxy server times out for long running reports. If the HTTPServer is bypassed, things work fine.
    A colleague of mine opened a case with BOBJ. I can get you the case# if you need it. We got this reply:
    From: Takano, Hitomi
    Sent: Tuesday, November 04, 2008 10:26 AM
    Hi Matt,
    I was away for the last two days, so I couldn't reply to you sooner.
    Extending the timeout setting from Webi and Infoview in BOXI R2 will not
    make the long running reports work as your proxy setting at the lower
    layer than BOXI just allows 5 minutes and after that the connection will
    be cancelled by the proxy. I'm not sure why this setting was effective
    for https only or timeout out after 2 min. This is out of scope of BOXI
    R2 and your network admin would be the best person to handle. You were
    getting 502 error in Java Report Panel. I googled with "502 error and
    ProxyTimeout", and I got the some articles returned which say  when
    backend doesn't answer on requests(because it timed out), it returns to
    a client an error 502.
    I'll close this thread as the n/w admin at the client are working things out.
    Thanks for your support.

  • Long running DBAdapter partnerlink activities (transactions)

    Hello,
    I try to use nonBlockingInvoke = true for long running DBAdapter partnerlink activities,
    but i'm not succesfull.
    In BPELConsole the activity seems to be running, but there is an entry
    in Manual Recovery > Activity TAB and OraBPEL~OC4J_BPEL~default_island~1
    log says:
    <2006-02-10 09:32:05,130> <INFO> <test.collaxa.cube.ws> <AdapterFramework::Outbound> file:/ora/app/oracle/product/bpel/integration/orabpel
    /domains/test/tmp/.bpel_ZalozeniObjednavky_1.2.jar/ZapisObjednavky.wsdl [ ZapisObjednavky_ptt::ZapisObjednavky(InputParameters) ] - Using
    JCA Connection Pool - max size = <unbounded>
    <2006-02-10 09:32:05,390> <ERROR> <test.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube engine": Callback in
    vocation failed.
    An attempt to invoke the method "handleCallback" on the performer "bpel.p0.BPEL_BIN$$BPELC_BpInv0" failed. The reported exception is: "".
    Please ensure that the signature of the method "handleCallback" is: ( IWorkItem, ICubeContext ).
    <2006-02-10 09:32:05,406> <ERROR> <test.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ...
    exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.CallbackInvokerMessage";
    the exception is: Callback invocation failed.
    An attempt to invoke the method "handleCallback" on the performer "bpel.p0.BPEL_BIN$$BPELC_BpInv0" failed. The reported exception is: "".
    Please ensure that the signature of the method "handleCallback" is: ( IWorkItem, ICubeContext ).
    Does anybody succeed with nonBlockingInvoke = true on DBAdapter partnerlink?
    I use BPEL 10.1.2 patch02
    Thank you
    Karel

    Hi Jon,
    <br><br>
    <br>
    You can set the maxConnections which represents the Maximum number of connections in the pool in oc4j-ra.xml.
    Please refer to the section Oracle Application Server Adapter for Databases in Oracle® BPEL Process Manager Developer's Guide
    for more information.
    <br><br>
    <br>
    Aruna

Maybe you are looking for

  • Ok, this is possibly the strangest problem I have ever had...

    My ipod will not turn off. I have tried holding the play/pause button, and tried restarting it by holding play/pause and the center button, and nothing has worked. When I leave it idle it does not turn off. It still works just fine, still accepting a

  • Disabling onboard sound on K8T Neo?

    Hello, I'm probably being really stupid here but I just can't seem to find the BIOS setting to disable the onboard sound. Can't find it on any of the BIOS pages, can't find it in the manual and there doesn't seem to be a dipswitch on the board itself

  • CP5: Can't capture remotely with a VM

    We've had a couple of experiences where we haven't been able to capture remotely if the client is using a Virtual Machine.  This is a real problem, since we are often working in an application in pre-release stages, and the client is using a VM to bu

  • Warrenty on Nokia phones!

    Hi all.. I have a Nokia 6270 which my insurance company sent me because they couldn't supply me with a SonyEricsson K750i which developed a fault. Anyway I can't get on with this phone and my dad said he will take it and give me his W800i in exchange

  • Second TM copy on second drive

    I have now 2 Seagate FreeAgent 1TB drives specifically for Time Machine use. The one is the TM-designated drive, and what the TM app uses for its backups. The question comes for the second 1TB FreeAgent. I want to take the TM backups from the TM-desi