What is Event queue problem?

HI,
I have come across JSF document, they mentioned that Event queue
Problem ins SUN's JSF implementation. what is that?

You're going to have to be a little more specific.

Similar Messages

  • JTable Awt -Event Queue problem

    Hi
    I've been looking everywhere for a solution to this, but can't seem to find one. I've got a JTable with an underlying model that is being continuously updated (every 100ms or so). Whenever I try to sort the JTable using TableRowSorter while the model is being added to I get
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.Vector.elementAt(Vector.java:430)
    at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)
    I don't understand this as in my custom table model I've added the fireTableChanged etc. in a SwingUtilities.invokeLater( ...) thread.
    Has anyone else encountered this problem and found a solution? I'd be really grateful!
    Thanks

    Hi
    Thanks for responding, I'm still a little confused. I've posted the code below for both the JTable and the TableModel. The tablemodel simply gets values from a vector which is being dynamically updated from outside the table - but whenever the vector is added to
    The problem seems to only occur when I press the column header to sort the tables during the updates. My understanding is that the method refresh() should create a threadsafe update of the table - but somehow it refreshes the binding to the tablemodel and during this time the table returns a defaulttablemodel that doesn't correspond to the actual underlying data....I thought this kind of problem would be solved by invoking all updates on the swing event thread, but it seems to still produce the effect and I'm stumped!!
    (The data is in an array called turns, and the addElement() in another class calls the refresh() method)
    many thanks, in the hope that someone has the kindness and and benevolence to wade through the following code!
    public class JContiguousTurnsListTable extends JTable {
    private JContiguousTurnsListTableModel jctltm;
    public JContiguousTurnsListTable(Conversation c) {
    super();
    jctltm = new JContiguousTurnsListTableModel(this,c);
    this.setModel(jctltm);
    setSize();
    //this.setAutoResizeMode(AUTO_RESIZE_ALL_COLUMNS);
    //this.setAutoCreateRowSorter(true);
    TableRowSorter <TableModel> sorter = new TableRowSorter <TableModel>(jctltm);
    //sorter.setSortsOnUpdates(true);
    this.setRowSorter(sorter);
    System.err.println("Setting up ");
    private void setSize(){
    TableColumn column = null;
    for (int i = 0; i <11; i++) {
    column = this.getColumnModel().getColumn(i);
    if(i==1||i==2||i==3||i==4||i==8||i==9){
    column.setPreferredWidth(50);
    else if (i==0||i==5){
    column.setPreferredWidth(180);
    else if (i == 6) {
    column.setPreferredWidth(150);
    else if(i==10){
    column.setPreferredWidth(250);
    else
    column.setPreferredWidth(100);
    //column.setPreferredWidth(100);
    //column.setMinWidth(100);
    //column.setMaxWidth(100);
    public String getColumnName(int column){
    return jctltm.getColumnName(column);
    public void refresh(){
    this.jctltm.refresh();
    ----------------And the table model:
    public class JContiguousTurnsListTableModel extends AbstractTableModel {
    private Conversation c;
    public JContiguousTurnsListTableModel(JTable jt,Conversation c) {
    super();
    this.c=c;
    public void refresh(){
    //System.out.println("Refresh");
    SwingUtilities.invokeLater(new Runnable(){public void run(){fireTableDataChanged();fireTableStructureChanged();} });
    public boolean isCellEditable(int x, int y){
    return false;
    public String getColumnName(int column){
    if(column==0){
    return "Sender";
    else if(column==1){
    return "Onset";
    else if (column==2){
    return "Enter";
    else if(column ==3){
    return "E - O";
    else if(column ==4){
    return "Speed";
    else if(column ==5){
    return "Spoof Orig.";
    else if(column ==6){
    return "Text";
    else if(column ==7){
    return "Recipients";
    else if(column ==8){
    return "Blocked";
    else if(column ==9){
    return "Dels";
    else if(column ==10){
    return "TaggedText";
    else if(column ==11){
    return "ContgNo";
    else if(column ==12){
    return "Inconcistency";
    else{
    return " ";
    public Object getValueAt(int x, int y){
    try{ 
    //System.out.println("GET VALUE AT "+x+" "+y);
    Vector turns = c.getContiguousTurns();
    if(x>=turns.size())return " ";
    ContiguousTurn t = (ContiguousTurn)turns.elementAt(x);
    if(y==0){
    return t.getSender().getUsername();
    else if(y==1){
    return t.getTypingOnset();
    else if(y==2){
    return t.getTypingReturnPressed();
    else if(y==3){
    return t.getTypingReturnPressed()-t.getTypingOnset();
    else if(y==4){
    long typingtime = t.getTypingReturnPressed()-t.getTypingOnset();
    if(typingtime<=0)return 0;
    return ((long)t.getTextString().length())/typingtime;
    else if(y==5){
    return t.getApparentSender().getUsername();
    else if(y==6){
    return t.getTextString();
    else if(y==7){
    //System.out.println("GETTINGRECIP1");
    Vector v = t.getRecipients();
    String names ="";
    // System.out.println("GETTINGRECIP3");
    for(int i=0;i<v.size();i++){
    Conversant c = (Conversant)v.elementAt(i);
    // System.out.println("GETTINGRECIP4");
    names = names+", "+c.getUsername();
    // System.out.println("GETTINGRECIP5");
    return names;
    else if (y==8){
    if (t.getTypingWasBlockedDuringTyping())return "BLOCKED";
    return "OK";
    else if(y==9){
    return t.getNumberOfDeletes();
    else if(y==10){
    String returnText="";
    Vector v = t.getWordsAsLexicalEntries();
    for(int i=0;i<v.size();i++){
    LexiconEntry lxe= (LexiconEntry)v.elementAt(i);
    returnText = returnText+lxe.getWord()+" ("+lxe.getPartOfSpeech()+") ";
    return returnText;
    else if(y==11){
    return t.getNumberOfTurns();
    else if(y==12){
    // System.out.println("CONTIGUOUS1");
    String value ="";
    boolean hasSameRecipients = t.getTurnsHaveSameRecipients();
    boolean hasSameApparentOrigin = t.getTurnsHaveSameApparentOrigin();
    if (hasSameRecipients&hasSameApparentOrigin){
    value = "OK";
    else if (hasSameRecipients&!hasSameApparentOrigin){
    value = "Diff. O";
    else if(!hasSameRecipients&hasSameApparentOrigin){
    value = "Diff. Recip";
    else {
    value = "Diff O&R";
    //System.out.println("CONTIGUOUS2");
    return value;
    return " ";
    }catch (Exception e){
    return "UI ERROR";
    public Class getColumnClass(int column) {
    Class returnValue;
    if ((column >= 0) && (column < getColumnCount())) {
    returnValue = getValueAt(0, column).getClass();
    } else {
    returnValue = Object.class;
    return returnValue;
    public int getRowCount(){
    return this.c.getContiguousTurns().size();
    public int getColumnCount(){
    return 13;
    }

  • Workflow in event queue based on a deleted object

    Hi all,
    I'm facing a problem with a workflow that goes to the event queue, meanwhile the object is deleted and then the WF is released from the event queue in Error. The WF is based on the BO BUS2032 (sales order).
    Here are the steps:
    1-Sales order created or changed --> event generated --> WF linked to that event goes to event queue
    2-Meanwhile the WF is the event queue waiting to be released, the sales order is deleted
    3-The WF is released from the event queue but in ERROR status (this is because the BO instance does not exist anymore)
    In this scenario, is there a way to end the WF with CANCELLED status instead of ERROR? is there anyy FM or exit you know ehere I can check if the BO still exists once the WF is released from the event queue?
    Thanks!!!!!

    Some questions/options:
    1) How/why does the WF go into an error exactly? Does it try to complete the first step? What if you put a condition step as a first step in the WF and check whether the object is initial and if it is, then cancel the workflow.
    2) How about deleting the event from the queue from some user-exit/badi in the sales order deletion. If I remember correctly the events when queued are in table SWEQUEUE. Probably you can find some function to delete events from the queue. Take a look for example function SWE_EVENT_QUEUE_DELETE to see the idea. Or take a look into transaction SWEAD. There you can delete events from queue. Check what it does and do the same in your code.
    3) Is this really a big problem? Are there so many sales orders deleted?
    In general I think that the whole event queue seems to many times cause lots of problems (the event queue job disappears, WFs will not get started, and whatever.). I try to avoid using it.
    Regards,
    Karri

  • Terminating Event to Event Queue due to Work Item Lock

    I have a dialog workflow task based on an asynchronous method defined with a terminating event.  When the user executes the work item, the method generates the terminating event (via a V2 change document) but the work item is enqueued (locked) by the same user (locked when they execute the work item from SBWP) and therefore the terminating event goes into error and is placed in the event queue.  The background job which processes the event queue does not redeliver the event so it stays in the event queue and the work item fails to complete.  Other than dequeing the work item lock myself with a function call how do I get around this catch 22?

    Hello Martin,
    Actually, the locking happens whether I have the task as asynchronous or synchronous.  The problem is the timing. If the user does not release the lock (by backing out of the dialog which is executed) prior to the terminating event attempting to enqueue and complete the work item then the event goes into error and is inserted into the event queue (and lingers there indefinitely, almost). Another issue with the asynchronous approach is that even if the user backs out of the dialog before the event actually attempts to complete the work item they will still see the work item in the inbox unless they click the refresh button when they get back to the inbox. 
    I have changed the task to synchronous but here is my scenario and another question.
    The process being workflowed is the approval of service entrysheets (similar to an invoice if you are not familiar with External Services).  In our process, there are a large number of documents being created and requiring approval by particular approvers.  It is a normal scenario for an approver to have, lets say 25 documents in his inbox awaiting approval. It was not practical for him to have to navigate back and forth between his inbox and the approval task screen.  Therefore, I give the users the option of (when executing a work item) having all the documents in his in-box (for this particular task) be presented in an approval list screen.  They can then do a mass approval of the 25 documents with 1 click and 1 navigation.  This list screen is also available to be executed outside workflow via a tcode.  So, when the user executes the mass approval (either from the inbox or outside workflow) the work items are terminated via the terminating event assigned to the approval task.
    A couple of issues remaining:
    1) Given my example of 25 work items (user executes 1 work item from in-box
    and I displayed all 25) being approved, when the user returns to the in-box, the 24
    items remain in his inbox until he clicks the refresh button since these were not actually "executed" from the workflow engines point of view.  However, these were terminated successfully because they were not "locked".
    <b>Question:</b> Is there a way (user exit?) to trigger the inbox refresh automatically.
    2) Now, the issue with the actual work item which the user executes from the inbox.  As I mentioned, the work item is locked as soon as the user executes it and is not released until they back out of the dialog or logoff.  So, here is what happens:  If the terminating event is sent before the lock is released the event is sent to the event queue.  If they then back out back to the in-box, its OK since I put some code in the SWO1 object type program (rememeber, its now synchronous) which will determine if they did the approval/rejection and the work item will complete and the event in the event queue will be deleted the next time the Event Queue Background job runs (it deletes any events for work items already in COMPLETED status). However, lets say they simply log off rather than backing up to the in-box or they don't do anything and are eventually logged off by timeout. In this case the code in the object type program to determine if the approval/rejection was done does not get executed (control does not return to the object type program) and the work item remains in "STARTED" status and remains in the users inbox and the event is in the event queue. So, now we have a work item that should be completed still sitting in the users in-box and the terminating event in the event queue. So the next time the user goes to their inbox the work item is still there.  The interesting thing is that though this may be confusing to the user, if they then attempt to execute the work item, they will get a message: "Work item currently being completed by event" (Message SWF_RUN 644) and the event sitting in the event queue gets redelivered and completes the work item.  To alleviate this problem I was thinking of adding a call to SAP_WAPI_WORKITEM_COMPLETE in the approval list screen after they do the approval but I'm guessing it wont work since it probably will try to enqueue the work item and it will still be locked. 
    Hopefully you haven't nodded off reading this rambling note...
    Thank you,
    Bob

  • Swing event queue, modal dialogs, event threads, etc...

    Hey all,
    So I am playing around with the focus manager, swing event thread and event queue, etc. Learned quite a bit. I am also playing around with test automation of our UI, using jfcUnit. I have written a few simple apps to play aorund with record/playback, coding tests, etc. What this thread is about though, is figuring out how modal and non-modal dialogs "take over" the event thread/queue? The reason I ask is, if I put a simple test harness like tool embeded in my app as a separate pop-up modal dialog, and from within it there is a GUI that I can use to select a "Test" to run. Now, when I run this test, jfcUnit needs to run on the main window, not within my non-modal dialog. What I am not sure of, however, is that if by using a non-modal dialog all events will go to the main event thread? I mean, I know if I mouse over my second non-modal frame (spawned from the application frame), that events will trigger for that dialog. I remember reading somewhere that modal dialogs "block" the main event queue, all left over events are given to the newly added event queue (presumably by the modal dialog) and existing left-over events get moved to the event queue. If that is the case, I am curious why events for the "old" queue are moved to the new queue if they were orginally intended for the old queue? I would think a "flush" before adding a new queue would be more appropriate so that the old queue can process all of its intended events.
    Now, I am just about to try this, but I am hoping a non-modal pop-up will not interfere with the jfcUnit running the UI of the main window. I am guessing, however, that it might. How are non-modal dialogs handled in terms of events and the event queue? Is it the same as modal dialogs? Or is there no blockage of the mainwindow event queue? If there is no blockage, than any sort of automation based on relative positions to a window may occur on the non-modal dialog, in which case it's best to hide the non-modal dialog during running of these tests.
    What are your thoughts, or better yet, knowledge of this topic? A decent explanation from a developer standpoint and not from the API's which dont give some of the more detailed info I am seeking is what I am hoping to get out of this.
    Thanks.

    Check this out. First, AWTListener has a LOT of
    different types you can register it for. I ORd all
    them together and when I ran my app, it took almost 30
    minutes for it to show up because of the huge stream
    of events being spit out via System.out. ...Yes, that doesn't surprise me in the least. There's hundreds of events that are fired around, usually unbeknownst to the user for every little thing. Lots of component and container events, in particular.
    Just make sure you OR ( using | not || ) ALL the
    "mask" values you want to watch for. That may be why
    you aren't seeing anything. When I did all that, and
    opened a menu, a ton of events came out.Maybe, I'll try that again, but I did specifically add an ActionEvent mask to get action events, and that should be all I need to get action events on buttons or menu items, and it wasn't getting them for either. It was only getting events on buttons when I used SwingEventMonitor, but not menu items.
    So I don't quite understand enough of the underlying event handling. Although, I suspect it could have something to do with the fact that these are Swing components, not AWT components (which their native peers) and it's pretty clear from AbstractButton (or was it DefaultButtonModel) how ActionEvents are fired, and they don't seem to have any connection to the code that deals with AWTListeners.
    My problem is that I kinda need a way to catch events without having a listener attached directly. Normally, I would have a listener, but there's this situation whereby an action may be triggered before I can get hold of the component to attach my listener to it. Perhaps I can get mouse press/release and just deal with it that way.
    Let me know if you did that and still didn't see what
    you were looking for. After playing with this, I am
    guessing the main reason for AWTListener is to
    register a listener for a specific type of event,
    instead of listening to them all, hence avoiding lots
    of extra overhead. Then again, the main event
    dispatcher must do a decent amount of work to fire off
    events to listeners of specific awt event types.Yes, it's definitely that. There's no point in sending events if no one is listening for it, so it does save some time.
    You are right, popup menus I think are dialogs, I
    don't know for sure, but you can access them via the
    JMenu.getPopupMenu() and JMenu.isPopupShowin().
    However, I am still not getting my test stuff working
    quite right.
    Yes, for menu popups. For a JPopupMenu on a right-click on any component (tree or whatever), I had a need to know about that from any arbitrary application (it's this GU testing app I'm working on), and since the popup menu doesn't belong to any component before it's shown, I couldn't necessarily know about it til it was displayed. I managed to use a combination of HierarchyEvents (using an AWTEventListener) and "component added" ContainerEvents. Not a simple matter, but it seems to work well.

  • How to "kill" AWT Event Queue thread without using System.exit()?

    When I run my program and the first GUI window is displayed a new thread is created - "AWT-Event Queue". When my program finishes, this thread stays alive and I think it causes some problems I have experienced lately.
    Is there any possibility to "kill" this thread without using System.exit() (I can't use it for some specific reasons)

    All threads are kept alive by the JVM session. When you use System.exit(int) you kill the current session, thus killing all threads. I'm not sure, though...
    What you could do, to make sure all threads die, is to make ever thread you start member of a thread group. When you want to exit you app, you kill all the threads in the thread group before exit.
    A small example:
    //Should be declared somewhere
    static ThreadGroup threadGroup = new ThreadGroup("My ThreadGroup");
    class MyClass extends Thread {
    super(threadGroup, "MyThread");
    Thread thread = new Thread(threadGroup, "MySecondThread");
    void exit() {
    //Deprecated, seek alternative
    threadGroup.stop();
    System.exit(0);
    }

  • Clear event queue

    Hi folks,
    This is probably very easy but I haven't found an elegant solution:
    I have some variable 'eventtrigger' change a couple of times a second. After running my program for a while - 'eventtrigger' has already been updated a couple of times - I start a subroutine which listens to 'eventtrigger' in an event structure. The problem is that all the updates of 'eventtrigger' that occurred before the subroutine was started are queued up, and so I'm not triggering on what's happening now but on outdated stuff.
    So far I clear the event queue by having a do-nothing-but-trigger event structure triggered by 'eventtrigger' in a while loop, plus a timeout event that is just a bit shorter than it takes for 'eventtrigger' to be updated. I stop that while loop when there is a timeout event.
    Surely there must be a better way to clear the events that happened before?
    Cheers,
    WEnte.
    Just a remark, I also stumbled over http://forums.ni.com/ni/board/message?board.id=130&thread.id=5544 ... Browser incompatibilities? Are we back in 1998 (this page is best viewed with...)?
    Solved!
    Go to Solution.

    I typically compare the actual value with the value from the event terminal and short out the event if they are not equal.
    Here is a quick demo.
    I am not sure how to apply it to your situation, because I don't know the details of your code. Still, maybe it can give you some ideas.
    How does the event get triggered a few times per second? Is this via signaling properties?
    LabVIEW Champion . Do more with less code and in less time .

  • Labview slider event handling problems - revisited

    This topic asked a question that was very close to a problem I am having:
    Labview slider event handling problems
    That is, how do I, using an event structure and/or other means, only read out the value of a slider control after the value change is finalized?
    The extra constraint I'd like to place on this, which I believe will invalidate the answer given in the thread above, is that my slider control also has a digital display which can also be used to change the value without ever using the mouse. I cannot look for a value change followed by a mouse-up event if the mouse was not used to change the value.
    Any ideas how this might be accomplished? FWIW, I am using LabVIEW 7.0

    Each and every incremental value-change event generated by the movement of the slider is still detected and queued up for use by the event structure and the event structure loop wades through them all before it's done.
    I have come up the attached "fix" (LV v7.0) for this problem. While it is not as clean a solution as I had hoped it would be, it's the best I can manage given what LabVIEW offers me to work with and it does work in the situation where I need to use it.
    Now, within the Finalize Slider Events subVI, I'm keeping track of the most-recent values seen by the subVI, checking to see if they have changed, and reporting out that fact. That gives me a Changed/Not-Changed bit within the event case that I can use to control what code then gets executed. If the event case is just playing catch-up to the real value of the control, I can now see that fact and ignore it.
    In this version I've also dumped the variant output and limited the VI to using DBL values. I decided it added complication to something that was too complicated already and I wanted the output terminals for other purposes anyway (reporting of the correct "OldVal" of the control).Message Edited by Warren Massey on 04-28-2005 03:56 AM
    Attachments:
    slider_events[5].llb ‏77 KB

  • Weblogic Integration WLW Message Queue Problem

    I am using BEA Weblogic Integration (BEA WLI). While testing processes, I get the following error on Weblogic Server Console:
    <Feb 27, 2006 10:56:55 AM CET> <Warning> <WLW> <000000>
    A message was unable to be delivered from a WLW Message Queue. Attempting to deliver the onAsyncFailure event
    Please can you suggest what can be the problem.

    The bridge does not do anything to the properties on the messages. It just sends the messages that it received from the WLS JMS queue to MQSeries queue.
              Have you tried to receive directly from the WLS JMS queue and see if the receiver can retrieve the String property?
              Dongbo

  • Suggestions for debugging the event queue

    Hello,
    I have an issue where an exception is thrown inside the AWT-EventQueue-0 and I can't quite figure out where it's coming from. I can replicate it relatively easily, but the action that I do to replicate it actually does all kinds of stuff behind the scenes so it's not so easy to sort out what's going on. I'm debugging with eclipse if it matters. The stack trace mentions none of my code and only mentions java library code. I tried overriding dispatchEventImpl in the components I wrote that are involved in the aforementioned action that causes it to happen, with hope of catching the exception in there and putting a breakpoint or something to give me a clue, but apparently dispatchEventImpl cannot be overridden (not sure why). Ofcourse, once the EventQueue dies from this exception so does the rest of the GUI so that's no help either. I tried adding a break on uncaught ClassCastExceptions and make the break suspend the whole VM instead of just the one thread, and then I look at the two processor threads involved with the action above and that wasn't too much help, they were sitting waiting to read something from the queue, meaning it whatever is happening in the EventQueue is delayed enough that I can't rely on catching it that way. Any and all suggestions/hints/etc are highly appreciated.
    The components in question have a panel that's a Box (vertical) that contains subpanels, each with a title and a table (and those subpanels can be expanded/contracted to show/not show the table), the tables are sorted by one of their columns, the panels are sorted by the title, and panels/table rows are added and/or removed by messages coming in from a remote server. The user can click a button to "accept" a table row (which may appear in several of the subpanel tables) at which point the server is alerted to this, and any place this row is shown is removed).
    Here is the stack trace (i hope there are no typos, I had to retype it since machine code is on can't be networked to internet):
    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException
    at javax.swing.LayoutComparator.compare(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.mergeSort(Unknown Source)
    at java.util.Arrays.sort(Unknown Source)
    at java.util.Collections.sort(Unknown Source)
    at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(Unknown Source)
    at javax.swing.SortingFocusTraversalPolicy.getFirstComponent(Unknown Source)
    at javax.swing.LayoutFocusTraversalPolicy.getFirstComponent(Unknown Source)
    at javax.swing.SortingFocusTraversalPolicy.getDefaultComponent(Unknown Source)
    at java.awt.FocusTraversalPolicy.getInitialComponent(Unknown Source)
    at java.awt.Window.getMostRecentFocusOwner(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.SequencedEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)

    I believe I maaaay have figured out what's going on, though I'm not sure how to go about fixing it, heh.
    Ok, so the Box that contains all the subpanels, I'm trying to keep sorted by title of the subpanels. For this reason (and other cross-referencing reasons) I keep a Vector of the object from which the title is constructed in the panel containing the box, as well as a Vector of the subpanels. When I wish to add a new panel I first add it to the Vector (and the title object to its Vector), then I sort those Vectors, then I do a removeAll() on the Box, then re-add the subpanels to the Box while stepping through the subpanel Vector, that way I'm guaranteed they are in order (actually it's probably unnecessary to keep the title vector in addition to the other one, I just haven't gotten around to trimming that kind of stuff out since I've been dealing with this issue). And it works fine.. seemingly.
    constructor()
      anEntry = new Vector<MySubpanel>();
      myTitlesVector = new Vector<TitleObject>();
      boxPanel = new Box(BoxLayout.Y_AXIS);
    //this function is called from a protected one that constructs the anEntry, makes sure it should be added, and does a synchronize on panelVector
    private void addEntry(MySubpanel anEntry)
      if(anEntry != null)
        try
          if(panelVector.add(anEntry))
            Collections.sort(panelVector);
            myTitlesVector.add(anEntry.title);
            Collections.sort(myTitlesVector);
            boxPanel.removeAll();
            for(int i = 0; i < panelVector.size(); i++)
              boxPanel.add(panelVector.get(i));
        catch (IllegalStateException isex)
          //couldn't add it
    }So what's the problem?
    Well, clicking the "accept" button I mentioned in the first post pops up a dialogue frame, which when the user OKs tells the server and other places in client that it was accepted. But when that dialogue box goes away the focus comes back to the main client frame. Well, that kicks off that sequence of calls in the event queue I put in the first post. If it just so happens that that topmost call is being performed on this panel containing the Box after the Box has gotten the removeAll() call, but before it's been filled back up to full, one or more of the MySubpanels will have a null for a parent, which causes the LayoutComparator to throw a ClassCastException.
    So, I guess my question would be, is there a better way to maintain order in the Box (one in which the components stay in there, but are just moved around)? I can't pass the Box itself to Collections. Is there a way to move components around what order they are in right on the Box?
    Thanks!

  • Odd messages in Console log: Event queue is full!

    Hi Everyone,
    I have been trying to use Dolly Drive for cloud Time Machine backups, and I'm pretty certain that Dolly Drive is not the culprit, but there is some underlying problem.
    I am seeing tons of these messages:
    /System/Library/CoreServices/coreservicesd[29] FMOD WATCH EVENTS DROPPED!
    mds[41] (Error) FMW: WE ARE DROPPING FMW EVENTS!
    And these:
    kernel add_fsevent: event queue is full! dropping events (num dropped events: 148; num events outstanding: 2391).
    kernel add_fsevent: kfse_list head 0x832b72c0 ; numpendingrename 1704
    kernel add_fsevent: zalloc sez: 0
    kernel add_fsevent: event_zone info: 4096 0x0
    kernel add_fsevent: watcher 0xe57d004: num dropped 0 rd 36 wr 36 q_size 1024 flags 0x0
    kernel add_fsevent: watcher 0x6d432004: num dropped 0 rd 818 wr 818 q_size 8192 flags 0xc
    kernel add_fsevent: watcher 0x6d442004: num dropped 0 rd 2165 wr 2168 q_size 8192 flags 0x5
    kernel add_fsevent: watcher 0x6d2ae004: num dropped 4775 rd 3739 wr 3738 q_size 4096 flags 0x1
    What is going on? What is the event queue and why is it full. I'm on a fairly recent fresh install of OS X 10.6 with the latest 10.6.7 update applied. All disk permissions repaired, Disk verified, Spotlight index rebuilt.
    Help please.

    Yeah, I found that one. Didn't seem helpful, at least in my case.
    Seems that there is some problems either with using Dropbox and having Spotlight index that directory. Whenever Dolly Drive/Time Machine starts up and calls mds for indexing, something goes screwy.
    This is at least my me and a Dolly Drive tech guy figured.

  • Adding another instance of Event queue in systemEventQueue

    EventQueue q = Toolkit.getDefaultToolkit().getSystemEventQueue();
              q.push(new EventQueue() {
                   protected void dispatchEvent(AWTEvent event) {
                        try {
                             super.dispatchEvent(event);
                             System.out.println("mty thread has started"+event.toString());
                        } catch (Throwable t) {
                             t.printStackTrace();
                             s_log.error("Exception occured dispatching Event " + event,
                                       t);
              });what is the use of adding an instance of the event queue to the systemEventQueue as shown in the code above.

    O.k. - I am not experienced in spite of many years of using this turkey. First of, the sync/don't sync button in preferences - forget it. iCal syncs with MobileMe no matter what the setting. Bummer - except that once the hundreds of duplicate, repeat events are transfered to MobileMe, you can delete them from the web interface - unlike the iCal application that forbids deleting unwanted events.
    Second new discovery. You can put in a repeated event on the MobileMe website with no trouble but, bummer again, the new event on MobileMe does not sync back to the iCal on the iMac.
    Final and most important discovery. I got the problem in the first place by blindly supplying the information asked for and, I kid you not, iCal 4 asks for the end date of a repeated event twice. If you answer the question twice, as I did, you get N * N events. So I hope I can avoid the problem in the future. But really, iCal needs methods to delete repeated events. Also as a former long-term Palm user, I sorely miss the option to restore a calendar from another machine. (the ability to sync or overwrite the local application).

  • Error while deleting events from the integration event queue

    I am trying to delete all the events from the integration event queue after reading it, like this (this is in Java):
            IntegrationEventWS_DeleteEvents_Input input = new IntegrationEventWS_DeleteEvents_Input();
            input.setDateTime("");
            input.setLastEventId("");
            try {
                 ((Default_Binding_IntegrationEventWS)onDemandStub).deleteEvents(input);
            } catch (Exception e) {
                 log.error("Deleting events from integration queue failed: ", e);
            }Alas, I get the following error message:
    Invalid method parameter(s): 'File Id'(SBL-ODS-50007)What does this mean? What is this mysterious "File Id" it supposedly gets? I don't see it anywhere in the SOAP message I'm sending and it isn't mentioned anywhere in the docs.
    Thanks in advance for any input.

    Dont keep this attributes null
    input.setDateTime(""); //Put a Default Time way in
    the past. Ex:"1/1/2000"
    input.setLastEventId(""); //pass the eventIdThe documentation states that those two are optional (although they are not nillable, for some reason). I tried to set the date to today, but I got the same result. Since setting a date is supposed to delete all events older than that date, I don't think setting it in the past will delete anything.

  • Flush Event Queue doesn't work with "Key up"

    Hi,
    probably just a simple thing I am missing here. See the attached VI (including SubVI). In case 1 I fetch the Key Up event for ENTER and issue a Value Change on the Stop Button. This results in a check for the string length and in case it is too short brings up a dialog telling you the ID string is too short and brings you back to the ID entry. Unfortunately - when confirming the dialog with ENTER instead of using the mouse on the button theKey Up event fired again and therefore fetched by the Event Structure.
    So I thought I just flush all events in the queue. To be sure, I put a time value on the flush function which proceeds AFTER the dialog is completed, so the ENTER Key Up should be deleted as well. Bummer is - it doesn't work. Anyone know why?
    I tried as well with the dynamic event, which I unregistered right after the Stop Event is issued in the Key Up case. I then "re"register for the Key Up event at the same time/position as the flush event queue function is positioned now in the VI below. Still no joy.
    What is my mistake? Thanks a lot.
    Solved!
    Go to Solution.
    Attachments:
    Manual_ID_Entry.llb ‏47 KB

    comrade wrote:
    I don't understand 2 things:
    a) Why is the Key up event even fired? It doesn't come from the VI where the event structure resides and to which "Instance" the event is bound (VI->Key up), but from the dialog box (which is a different VI). Unless a calling VI inherits all events from its SubVIs or something like that.
    b) Why isn't the event fired by the button in the dialog box discarded as the flush event queue function is supposed to perform?
    Because you are slow.  Not you personally.  But compared to the computer, you just don't stand a chance.  So you hit the Enter button on the dialog.  That dialog's OK button activates on the key down.  So the dialog is long gone by the time you manage to get your finger off of the Enter key.  In fact, you loop should be back around to be waiting for an event first.  So it is waiting for an event when you finally get your finger off of the button.  Hey, we have a Key Up event!
    Your current checking for the validity of the id is just flat out annoying.  Use the Key Down? event to check for a valid character being entered.  Notice the '?' in my choice of event there?  That means it is a filter event.  This means you can throw away (discard) the character being pressed before the control even sees it.  You could also discard if there are already enough characters (Greater Or Equal, not Equal).
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Error "Event Queue Overflowed​" with the "Write file to Citadel Server"

    Hello,
    I can import data from a file and I can see the data
    in the historical database without troubling.
    But I always have this error "Event Queue Overflowed", that don't perturb my data and my application (I have just this boring message).
    I have tried many things :
    - increasing the size of my input buffer (-> 1.000.000, no change) : I don't think so that it's important because I've tried with a value of 100 and anyway sometimes my application works with this small value of 100.
    - increasing the File_location tag size (-> 260). No change.
    - My write to Citadel.cfg is in the LabVIEW folder.
    Can you help me ?
    Thank you.

    Hi,
    What version of LabVIEW DSC are you using? if it is 6.1, have you applied fixes linked below.
    http://digital.ni.com/softlib.nsf/websearch/513AA4​A0BB60D10086256B48006D44B5?opendocument
    I have seen a similar issue at the link below.
    http://exchange.ni.com/servlet/ProcessRequest?RHIV​EID=101&RNAME=ViewQuestion&HOID=506500000008000000​8C640000&ECategory=LabVIEW.Datalogging+and+Supervi​sory+Control
    Please let me know if you have read it through?
    Best Regards,
    Remzi A.

Maybe you are looking for

  • Edge and Data Plan charge changes

              I'm on an existing month-to-month coming off a 2 year agreement with two lines and 10GB data per month at $80. On Feb 4 my daughter (2nd line) went to the Verizon store and moved her line to Edge Plan and the rep set the plan for the 10GB $

  • How do I transfer information from external hard drive

    I just had the (SeaGate) hard drive replaced on my daughter's Mac.  What are the on screen choices after the Welcome Screen?  I think my daughter may have clicked the wrong thing because now I seem to be having a problem getting her backed up info fr

  • App Store wont open

    Hello, Since the first of the year my phone has been unable to open the app store. When I click on the icon it just sits at loading and the icon spins. I've let it sit there overnight and it doesn't move. Here are some things I've tried: -Restarted p

  • Unable to read data from Analog Devices 6b11 module - error code 1240

    Hi everyone, I'm trying to read data from a thermocouple with an AD 6B11 module in an AD 6BP16-1 backplane using RS232 serial. I've been following this guide: http://digital.ni.com/public.nsf/allkb/8C77E5E52B4A27968625611600559421 Everything seems to

  • My page is not loading correctly after server work? Help?

    A couple of days ago I was having issues uploading files to my webserver and come to find out, they were working on something on their end.  So okay.  But now, certain pages on my website are not loading correctly.  These are not necessarily pages I