ActionListener: Thread problem in JApplet with JButton?

Sorry for crossposting, this is my first question on this list, and I posted my question in the "Applet Development" section first. Then I discovered that there is a SWING category as well, which is closer to my problem. So please read about my problem behind this link:
http://forum.java.sun.com/thread.jspa?threadID=634757
Thank you very much
Jan

Marcin,
you pointed me in the right direction: I put the .java file in a fresh project and checked the bin folder: And there it was: The missing (second) file the VM was complaining about. I had just forgotten to put all the respective .class files in the webdirectory. Now it works (for a start) with these two files in the webdirectory. I will improve this by creating a jar and Manifest file soon.
Thanks again
Jan
PS: This was truly an (applet) newbie mistake, sorry :-(

Similar Messages

  • JNI & thread problem

    Folks,
    I am using JNI to access WIA (Windows Image Acquisition) functionality under MS Windows XP. WIA consists of a bunch of COM interfaces. I have several native functions in a single dll, with a limited number of static variables stored in the dll between calls. This all works fine as long as long as the calls occur from the same java thread, but not if a new thread is created for some of the calls. I.e., this works:
    final WIACtrl ctrler=new WIACtrl();
    ctrler.initializeWIA();
    ctrler.transferJPGNative("0001\\Root\\IMG_0087","c:\\test.jpg");
    but this does not:
    final WIACtrl ctrler=new WIACtrl();
    ctrler.initializeWIA();
    (new Thread() {
    public void run() {               
    ctrler.transferJPGNative("0001\\Root\\IMG_0087","c:\\test.jpg");
    }).start();
    Here, initializeWIA() and transferJPGNative() are the native methods. What happens in the second case is that transferJPGNative fails in one of the COM methods (not the first COM method it calls). The COM method returns an HRESULT indicating an error (509) which I can't find using any of the usual MS error look-up mechanisms. (Admittedly I am not the world's greatest Windows programmer...)
    Anyway, any suggestions would be much appreciated. I have found some issues regarding JNI and threads in this forum's archives, but none of them seem to apply to quite this situation.

    As a guess this is just a windows threading problem.
    And with COM you have to do things differently (I believe) if there is more than one thread. You might not even be allowed to do it with for that particular API.
    It could also be that you are initializing things more than once. Or you need to initialize twice (two handles.)
    At any rate you could always fix it by making the java code only allow calls for a single thread.

  • Thread problems with Samsung D500? Http or https troubles?

    Hi!
    I've got some troubles with my application installed onto my D500, and I suspect that's maybe thread problem.
    Does anyone know something about thread problems for this phone?
    I want to know, is there any trouble for connecting application by using http or https?
    I've found one problem for E720 - it escapes "backslash" character when it's used as http parameter.
    It makes parsing troubles...
    Did anyone have some similer troubles, and how have you solved this problem?
    Thanks in advance,
    Alex

    When I'm trying to connect to the net by using my application, I get two errors: "TCP open" and "interruptedIOException", and so I suspect that's some kind of thread problems.
    On the other phones (Nokia, Sony Ericsson) this application works with no problems...

  • Java Bouncing Balls Threads problem?

    Hello,
    I am working on a homework assignment to represent a java applet with some bouncing balls inside. So far so good. The balls bounce and behave as they are supposed. The only thing is that I want to make 2 buttons, Start and Stop (this is not part of the assignment, but my free will to provide some extra stuff :) ) . I am implementing Runnable for the animation and ActionListener for the buttons. I did research on threading, but somehow I am still not getting quite the result I want. The applet is not displaying my buttons (I guess I am not implementing them correctly) and I dont know whether I have synchronized the threads correctly as well. So, I am asking for some guidance how can I do this? Thanks in advance!
    As a remark, I am new to Java, as I am just starting to learn it and this is my first assignment.
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JPanel;
    public class Balls extends JApplet implements Runnable, ActionListener
         Thread runner = null;     
         Image img;
        Graphics gr;          
        BallCollision ball[];
        Balls can;
        JButton stopButton;
        JButton startButton;
        JPanel controls;
        boolean stop,start;
        //field for 10 balls
        static final int MAX=10;
         public void init()
              setSize(800,600);
              img = createImage(size().width,size().height);
              gr = img.getGraphics();     
              startButton = new JButton("Start");
              stopButton = new JButton("Stop");
              stopButton.addActionListener(this);
              startButton.addActionListener(this);
              controls = new JPanel();
              controls.setLayout(new FlowLayout());
              controls.add(startButton);
              controls.add(stopButton);
              //new Thread(this).start();
              ball = new BallCollision[MAX];
              int w=size().width;
              int h=size().height;          
              //creation of balls, which have different coordinates,
              //speed, direction and colors
              ball[0] = new BallCollision(w,h,50,20,1.5,7.5,Color.orange);
            ball[1] = new BallCollision(w,h,60,210,2.0,-3.0,Color.red);
            ball[2] = new BallCollision(w,h,15,70,-2.0,-2.5,Color.pink);
            ball[3] = new BallCollision(w,h,150,30,-2.7,-1.0,Color.cyan);
            ball[4] = new BallCollision(w,h,210,30,2.2,-12.5,Color.magenta);
              ball[5] = new BallCollision(w,h,360,170,2.2,-1.5,Color.yellow);
              ball[6] = new BallCollision(w,h,210,180,-1.2,-2.5,Color.blue);
              ball[7] = new BallCollision(w,h,330,30,-2.2,-1.8,Color.green);
              ball[8] = new BallCollision(w,h,180,220,-2.2,-1.8,Color.white);
              ball[9] = new BallCollision(w,h,330,130,-2.2,9.0,Color.gray);     
         public void actionPerformed(ActionEvent e)
              if(e.getSource() == startButton) start = true;
                   can.start();
              if(e.getSource() == stopButton) start = false;
                   can.stop();
         public void start()
              if (runner == null)
                   runner = new Thread (this);
                   runner.start();
         public void stop()
              if (runner != null)
                  runner.stop();
                    runner = null;
         public void run()
              while(true)
                   try {Thread.sleep(15);}
                     catch (Exception e) { }               
                   //move our balls around
                   for(int i=0;i<MAX;i++)
                        ball.move();
                   handleCollision();
                   repaint();     
         boolean collide(BallCollision b1, BallCollision b2)
              double wx=b1.getCenterX()-b2.getCenterX();
              double wy=b1.getCenterY()-b2.getCenterY();
              //the distance between 2 colling balls' centres is
              //calculated by the theorem of Pythagoras
              double distance=Math.sqrt(wx*wx+wy*wy);
              if(distance<b1.diameter)
                   return true;          
                   return false;     
         private void handleCollision()
              //ecah ball is checked for possible collisions
              for(int i=0;i<MAX;i++)
                   for(int j=0;j<MAX;j++)
                             if(i!=j)
                                  if(collide(ball[i], ball[j]))
                                       ball[i].hit(ball[j]);
                                       ball[j].hit(ball[i]);
         public void update(Graphics g)
              paint(g);
         public void paint(Graphics g)
              gr.setColor(Color.black);
              gr.fillRect(0,0,size().width,size().height);          
              //paint the balls
              for(int i=0;i<MAX;i++)
                        ball[i].paint(gr);          
              g.drawImage (img,0,0, this);                    
    class BallCollision
         int width, height;
         int diameter=30;
         //balls' coordinates and values to be incremented for directions
         double x, y, xIncremented, yIncremented, coll_x, coll_y;
         boolean collide;
         Color color;
         Graphics g;
         //constructor
         public BallCollision(int w, int h, int x, int y, double xInc, double yInc, Color c)
              width=w;
              height=h;
              this.x=x;
              this.y=y;
              this.xIncremented=xInc;
              this.yIncremented=yInc;          
              color=c;          
         public double getCenterX() {return x+diameter/2;}
         public double getCenterY() {return y+diameter/2;}
         public void move()
              if (collide)
                   double xvect=coll_x-getCenterX();
                   double yvect=coll_y-getCenterY();
                   if((xIncremented>0 && xvect>0) || (xIncremented<0 && xvect<0))
                        xIncremented=-xIncremented;
                   if((yIncremented>0 && yvect>0) || (yIncremented<0 && yvect<0))
                        yIncremented=-yIncremented;
                   collide=false;
              x+=xIncremented;
         y+=yIncremented;
              //if the ball reaches a wall, it bounces to the opposite direction
         if(x<1 || x>width-diameter)
              xIncremented=-xIncremented;
                   x+=xIncremented;
              if(y<1 || y>height-diameter)
                   yIncremented=-yIncremented;
                   y+=yIncremented;
         public void hit(BallCollision b)
              if(!collide)
                   coll_x=b.getCenterX();
                   coll_y=b.getCenterY();
                   collide=true;
         public void paint(Graphics graphics)
              g=graphics;
              g.setColor(color);
              //the coordinates in fillOval have to be int, so we cast
              //explicitly from double to int
              g.fillOval((int)x,(int)y,diameter,diameter);

    well i didnt arrive at this point without reading tutorials and researching.... sometimes other people can spot your mistakes a lot easier than you can, that's why I asked for help. 10x anyway for the interest!

  • Sun Java System Web Server 6.1 SP3 service-j2ee threads problem

    Hi,
    Sorry my english.
    I'm an intermediate Java programmer and a newbie in
    the Sun's web servers world.
    I'm doing an evaluation of an web applicaction
    written in Java Servlets that is
    supposed to have a leaking threads problem. We use
    SunOS 5.9 (... sun4u sparc SUNW,UltraAX-i2) and
    JVM 1.5 Update 4 (the problem is presented too
    in SunOS 5.8 and JVM 1.4.2_04).
    We have seen, thanks to 'prstat' (PROCESS/NLWP) a
    increasing thread's growing in one of the process
    that correspond to our web server instance (I'm sure I'm
    looking the right process). I have checkout the source
    code and it seems like the app doesn't have threads
    problems. I have used the Netbeans Profiler and I see a
    high number of threads called service-j2ee-x that grows
    in congestion moments and never disappear.
    Anybody could help me with suggestions?
    Thank you very much.

    Elvin,
    Thankyou, yes I am unfamiliar with debugging Java apps. I got the web server Java stack trace and I have passed this on to the developer.
    The web server finally closes the socket connection after the total connections queued exceeds 4096.
    There are several hundred entries like this... waiting for monitor entry.. could be a deadlock somewhere?
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "service-j2ee-506" prio=5 tid=0x04b62a08 nid=0x17a waiting for monitor entry [dd74e000..dd74f770]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.util.JSDispenser.getConnResource(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - waiting to lock <0xe979b2b0> (a com.verity.search.util.JSDispenser)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.getDoc(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.getDoc(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.docViewIntern(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.verity.search.DocRead.docView(Unknown Source)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at au.com.relevance.viewDoc.PdfXmlServlet.performRequest(PdfXmlServlet.java:120)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at au.com.relevance.viewDoc.PdfXmlServlet.doGet(PdfXmlServlet.java:141)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:787)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at javax.servlet.http.HttpServlet.service(HttpServlet.java:908)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:771)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:322)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:209)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:161)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebContainer.java:580)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at com.iplanet.ias.web.WebContainer.service(WebContainer.java:580)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[highlight]" daemon prio=5 tid=0x000f3530 nid=0x1e waiting on condition [e15ff000..e15ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "WebappLoader[highlight]" daemon prio=5 tid=0x000f3328 nid=0x1d waiting on condition [e16ff000..e16ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.threadSleep(WebappLoader.java:1214)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.run(WebappLoader.java:1341)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[]" daemon prio=5 tid=0x000f2b08 nid=0x1c waiting on condition [e1b7f000..e1b7fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "WebappLoader[]" daemon prio=5 tid=0x000f2900 nid=0x1b waiting on condition [e1c7f000..e1c7fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.threadSleep(WebappLoader.java:1214)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.run(WebappLoader.java:1341)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[sitesearch]" daemon prio=5 tid=0x000f1cd0 nid=0x1a waiting on condition [e23ff000..e23ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "WebappLoader[sitesearch]" daemon prio=5 tid=0x000f1ac8 nid=0x19 waiting on condition [e24ff000..e24ffc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.threadSleep(WebappLoader.java:1214)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.loader.WebappLoader.run(WebappLoader.java:1341)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "StandardManager[search]" daemon prio=5 tid=0x000f0a88 nid=0x18 waiting on condition [e317f000..e317fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.sleep(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.threadSleep(StandardManager.java:800)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at org.apache.catalina.session.StandardManager.run(StandardManager.java:859)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Thread.run(Thread.java:534)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Signal Dispatcher" daemon prio=10 tid=0x000ef840 nid=0x12 waiting on condition [0..0]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Finalizer" daemon prio=8 tid=0x000ef638 nid=0x10 in Object.wait() [fa27f000..fa27fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Object.wait(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - waiting on <0xe917fb10> (a java.lang.ref.ReferenceQueue$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - locked <0xe917fb10> (a java.lang.ref.ReferenceQueue$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Reference Handler" daemon prio=10 tid=0x000ef430 nid=0xf in Object.wait() [fa37f000..fa37fc28]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Object.wait(Native Method)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - waiting on <0xe917fb78> (a java.lang.ref.Reference$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.Object.wait(Object.java:429)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: - locked <0xe917fb78> (a java.lang.ref.Reference$Lock)
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "main" prio=5 tid=0x000ee3f0 nid=0x1 runnable [0..ffbff200]
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "VM Thread" prio=5 tid=0x004ee328 nid=0xe runnable
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "VM Periodic Task Thread" prio=10 tid=0x004ee5d0 nid=0x16 waiting on condition
    [15/May/2006:22:01:51] warning ( 3196): CORE3283: stderr: "Suspend Checker Thread" prio=10 tid=0x004ee548 nid=0x11 runnable
    [15/May/2006:22:15:10] failure ( 3196): HTTP3287: connection limit (4096) exceeded, closing socket

  • Cant syncronize! Threads problem

    Hello everybody,
    recently i posted a question(im new to threads) and it was asked immediately but now i have another
    type of problem.
    Please read here the initial post and the answer and please give me any ideas..
    Initial Post
    Hi everybody,i have this thread problem(i'm new to java and h
    ave no idea what exactly to do).
    Well,in my applet i have this action performed method
    that i imagine is in the event dispatch thread.
    This method calls as u see, two other methods of a class named CPU(.
    Note that fetch and execute are observed classes and my applet class
    is the observer.
    The problem is that during the execution of fetch() and execute(),
    inside these methods change some things and so they call notifyObservers(Object arg)
    passing to the applet the argument and so the applet updates some text components.
    But as you can immagine there is no time for the gui to update himself so i see nothing.
    So, my question is which of the methods need to be in a separate thread so to ensure
    visible results(component updating)?
    Perhaps,the update method needs to be invokedLater with SwingUtilities?
    Please give me an example code if possible.
    Here is the actionPerformed code(from the applet class) and the fetch method:
        void executeProgramButton_actionPerformed(ActionEvent e) {      
    int numInstr = this.machine.ram.segmentSize;       
    for (int i = 0; i < numInstr; i = i + 4) {           
    machine.cpu.fetch();           
    machine.cpu.execute();       
    /*The following method is in the CPU class
    fetch method:here the observedPC is the observable value
    that notifies the observer(the main applet)
    that does: pcTextField.setText(arg.toString());*/   
    public void fetchInstructionProgram() {       
    observedPC = Integer.toString(pc);       
    setChanged();       
    notifyObservers(observedPC);       
    instructions++;       
    instruction=readOperation(cache.instructionfetch,pc);       
    pc = pc + 4;    }
    Answer to initial post
    Author: stevejluke
    One way could be to put the content of the action performed method into a new thread, then use invokeLater in your Observers that cause GUI updates:
        void executeProgramButton_actionPerformed(ActionEvent e) {     
    new Thread()       {      
    public void run()        {         
    int numInstr = this.machine.ram.segmentSize;         
    for (int i = 0; i < numInstr; i = i + 4)           {           
    machine.cpu.fetch();           
    machine.cpu.execute();         
    }.start();    }
    // In your Observer    public void update(Observable o, Object arg)    {     
    SwingUtilities.invokeLater(new Runnable() {      
    public void run()        { 
    /* your GUI afecting code
    });[i]
    Or something like that.
    You might need to watch for synchronizing things
    He was right...GUI is responsive but the results...
    Well,let me describe the new problem.
    Here you cant see the method execute().
    The problem is a synchronization problem.
    Actually,what the two methods do is:fetch() updates the value of a long called instruction and execute() takes this value and do some things.Note also that the time the execute method needs to finish is not
    always the same.By that, i mean that it depends on the value of the instruction updated by fetch().
    By putting some System.outs before and after updating i realized that there are delays or sometimes
    i noticed that fetch() executes 2 times before execute() takes control.
    So,i created some synchronized private methods set and get to control access to these resources.
    Better but still not correct...
    What should i look?Where stays the answer?
    How to synchronize these two methods on these resources?
    Thank you in advance,
    Chris

    I think that your fetch and execute has a "Producer-Consumer Relationship"
    in such cases you can make the producer place the produced value in to a queue and consumer take the vlues from the queue
    In the producer thread it sleeps for a while and try again if the Queue is full
    In the Consumer thread it sleeps for a while if the Queue is empty and then try again
    Or you can do as follows
    In the Producer thread it waite() if the Queue is full
    In the Consumer thread it waite() if the queue is empty
    When ever Producer put a value in to the Queue it calls the notify on Consumer and when ever Consumer takes a value from Queue it calls the notify() on Producer
    you can even use notify all
    I think thiere is no built in Queue class in java so you will have to write one here is a example
    public class MyLongQueue{
                long data[];
                int head, tail;
                int size;
               public MyLongQueue(int size){
                    data = new long[size];
                    head = -1;
                    tail = -1;
                    this.size = 0;
                public synchronized boolean isFull(){
                    return (size==data.length);
                public synchronized boolean isEmpty(){
                    return (size==0);
                public synchronized boolean  insert(long l){
                    if (size==data.length) return false; //Queue is full cant add more data
                    tail = (tail + 1) % data.length;
                    data[tail] = l;
                     size++;
                    return true;
               public synchronized long remove(){
                   if (size==0) throw new ArrayIndexOutOfBoundsException();
                   size--;
                   head = (head + 1) % data.length;
                   return data[head];

  • The problem is occurred with J2ee server node which is disabled it from MMC

    Dear SAP Consultants,
    The problem is occurred with J2ee server node which is disabled J2ee server node from MMS Console and the abap work process is working fine but the dispatcher is yellow status and I can login to the abap system but Iu2019m not able to start the j2ee from Tcode u201CSmicmu201D as well
    The system parameters are:
    BI 7.0 System as ABAP & JAVA add on, windows 2003 on Oracle database, 24 GB Ram
    Paging files: Driveu201D Os system: minimum: 1525, maximum: 3048
    Driveu201DEu201D application: minimum: 70855, maximum: 70855
    I can see the log files as follow:
    From dev_disp:
    Sun Jun 21 13:10:28 2009
    J2EE server info
      start = TRUE
      state = STARTED
      pid = 2892
      argv[0] = E:\usr\sap\BWD\DVEBMGS00\exe\jcontrol.EXE
      argv[1] = E:\usr\sap\BWD\DVEBMGS00\exe\jcontrol.EXE
      argv[2] = pf=E:\usr\sap\BWD\SYS\profile\BWD_DVEBMGS00_cai-bwdev
      argv[3] = -DSAPSTART=1
      argv[4] = -DCONNECT_PORT=64990
      argv[5] = -DSAPSYSTEM=00
      argv[6] = -DSAPSYSTEMNAME=BWD
      argv[7] = -DSAPMYNAME=cai-bwdev_BWD_00
      argv[8] = -DSAPPROFILE=E:\usr\sap\BWD\SYS\profile\BWD_DVEBMGS00_cai-bwdev
      argv[9] = -DFRFC_FALLBACK=ON
      argv[10] = -DFRFC_FALLBACK_HOST=localhost
      start_lazy = 0
      start_control = SAP J2EE startup framework
    DpJ2eeStart: j2ee state = STARTED
    DpJ2eeLogin: j2ee state = CONNECTED
    Sun Jun 21 13:10:29 2009
    ***LOG Q0I=> NiIRead: recv (10054: WSAECONNRESET: Connection reset by peer) [nixxi.cpp 4424]
    ERROR => NiIRead: SiRecv failed for hdl 6 / sock 1032
        (SI_ECONN_BROKEN/10054; I4; ST; 127.0.0.1:1362) [nixxi.cpp    4424]
    DpJ2eeMsgProcess: j2ee state = CONNECTED (NIECONN_BROKEN)
    DpIJ2eeShutdown: send SIGINT to SAP J2EE startup framework (pid=2892)
    ERROR => DpProcKill: kill failed [dpntdisp.c   371]
    DpIJ2eeShutdown: j2ee state = SHUTDOWN
    Sun Jun 21 13:10:48 2009
    DpEnvCheckJ2ee: switch off j2ee start flag
    From dev_jcontrol :
    [Thr 2124] Sun Jun 21 13:10:29 2009
    [Thr 2124] *** ERROR => invalid return code of process [bootstrap] (exitcode = 66) [jstartxx.c   1642]
    [Thr 2124] JControlExecuteBootstrap: error executing bootstrap node [bootstrap] (rc = 66)
    [Thr 2124] JControlCloseProgram: started (exitcode = 66)
    [Thr 2124] JControlCloseProgram: good bye... (exitcode = 66)
    From dev_bootstrap :
    JHVM_BuildArgumentList: main method arguments of node [bootstrap]
    -> arg[  0]: com.sap.engine.bootstrap.Bootstrap
    -> arg[  1]: ./bootstrap
    -> arg[  2]: ID0072573
    -> arg[  3]: -XX:NewSize=57M
    -> arg[  4]: -XX:MaxNewSize=57M
    -> arg[  5]: -Xms256M
    -> arg[  6]: -Xmx256M
    -> arg[  7]: -XX:+DisableExplicitGC
    -> arg[  8]: -verbose:gc
    -> arg[  9]: -Djava.security.policy=.java.policy
    -> arg[ 10]: -Djava.security.egd=file:/dev/urandom
    -> arg[ 11]: -Djco.jarm=1
    [Thr 5216] JLaunchIExitJava: exit hook is called (rc = 66)
    [Thr 5216] **********************************************************************
    ERROR => The Java VM terminated with a non-zero exit code.
    Please see SAP Note 943602 , section 'J2EE Engine exit codes'
    for additional information and trouble shooting.
    [Thr 5216] JLaunchCloseProgram: good bye (exitcode = 66)
    From server.0.log :
    #1.5 #001E4F208703008A0001C7470000092000046A4414D60A1F#1242740546634#/System/Server##com.sap.caf.eu.gp.schedule.impl.ScheduleWorker#J2EE_GUEST#0##n/a##27772ea0447811deb9bf001e4f208703#SAPEngine_Application_Thread[impl:3]_25##0#0#Error#1#com.sap.caf.eu.gp.schedule.impl.ScheduleWorker#Plain###ERROR_ACQUIRE_CONNECTION
    com.sap.caf.eu.gp.base.exception.EngineException: ERROR_ACQUIRE_CONNECTION
         at com.sap.caf.eu.gp.base.db.ConnectionPoolJ2EE.getConnection(ConnectionPoolJ2EE.java:92)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleDbImpl.getScheduleToProcess(ScheduleDbImpl.java:1936)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleService.getScheduleToProcess(ScheduleService.java:432)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleWorker.work(ScheduleWorker.java:77)
         at com.sap.caf.eu.gp.schedule.impl.ScheduleWorker.run(ScheduleWorker.java:63)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Caused by: com.sap.engine.services.dbpool.exceptions.BaseSQLException: ResourceException in method ConnectionFactoryImpl.getConnection(): com.sap.engine.services.dbpool.exceptions.BaseResourceException: SQLException thrown by the physical connection: com.sap.sql.log.OpenSQLException: Error while accessing secure store: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should..
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:59)
         at com.sap.caf.eu.gp.base.db.ConnectionPoolJ2EE.getConnection(ConnectionPoolJ2EE.java:89)
         ... 8 more
    Caused by: com.sap.engine.services.dbpool.exceptions.BaseResourceException: SQLException thrown by the physical connection: com.sap.sql.log.OpenSQLException: Error while accessing secure store: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should..
         at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:193)
         at com.sap.engine.services.connector.jca.ConnectionHashSet.match(ConnectionHashSet.java:338)
         at com.sap.engine.services.connector.jca.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:267)
         at com.sap.engine.services.dbpool.cci.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:51)
         ... 9 more
    Caused by: com.sap.sql.log.OpenSQLException: Error while accessing secure store: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should..
         at com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:106)
         at com.sap.sql.log.Syslog.createAndLogOpenSQLException(Syslog.java:145)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.setDataSourceName(OpenSQLDataSourceImpl.java:226)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.setDataSourceName(OpenSQLDataSourceImpl.java:197)
         at com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:117)
         ... 12 more
    Caused by: com.sap.security.core.server.secstorefs.FileMissingException: File "
    cai-bwdev
    sapmnt
    BWD
    SYS
    global
    security
    data
    SecStore.properties" does not exist although it should.
         at com.sap.security.core.server.secstorefs.StorageHandler.openExistingStore(StorageHandler.java:372)
         at com.sap.security.core.server.secstorefs.SecStoreFS.openExistingStore(SecStoreFS.java:1946)
         at com.sap.sql.connect.OpenSQLConnectInfo.getStore(OpenSQLConnectInfo.java:802)
         at com.sap.sql.connect.OpenSQLConnectInfo.lookup(OpenSQLConnectInfo.java:783)
         at com.sap.sql.connect.OpenSQLDataSourceImpl.setDataSourceName(OpenSQLDataSourceImpl.java:209)
         ... 14 more
    Please advice with the right solution,
    Regards,
    Ahmed

    thanks

  • Hi there, I cannot open bridge and I get this warning, "Adobe Bridge Cannot be Opened because of a problem. Check with the developer to make sure Adobe Bridge CC works with this version of Mac OS X. You may need to reinstall any updates for this applicati

    Hi there, I cannot open bridge and I get this warning, "Adobe Bridge Cannot be Opened because of a problem. Check with the developer to make sure Adobe Bridge CC works with this version of Mac OS X. You may need to reinstall any updates for this application and Mac OS X" although bridge has been running on my Mac for over a yera. I have installed all current updates for Mac and reinstalled Bridge again from CC and still get the same issue? Any advice?

    Would you please provide details about your setup?
    BOILERPLATE TEXT:
    Note that this is boilerplate text.
    If you give complete and detailed information about your setup and the issue at hand,
    such as your platform (Mac or Win),
    exact versions of your OS, of Photoshop (not just "CS6", but something like CS6v.13.0.6) and of Bridge,
    your settings in Photoshop > Preference > Performance
    the type of file you were working on,
    machine specs, such as total installed RAM, scratch file HDs, total available HD space, video card specs, including total VRAM installed,
    what troubleshooting steps you have taken so far,
    what error message(s) you receive,
    if having issues opening raw files also the exact camera make and model that generated them,
    if you're having printing issues, indicate the exact make and model of your printer, paper size, image dimensions in pixels (so many pixels wide by so many pixels high). if going through a RIP, specify that too.
    etc.,
    someone may be able to help you (not necessarily this poster).
    a screen shot of your settings or of the image could be very helpful too.
    Please read this FAQ for advice on how to ask your questions correctly for quicker and better answers:
    http://forums.adobe.com/thread/419981?tstart=0
    Thanks!

  • Problem in connection with sql server

    hi ,
    i am facing problem in connection with ms sql server..please help me out.... i created the database ChandanClient...and there is one table Expense_code_Table...
    i want to insert the data into this table.. i am trying to create a demo example.. here is the code
    package demo;
    import java.sql.*;
    public class getdatabase {
         public static void main(String[] args) {
              Connection con =null;
              int ExpenceCode1=1;
         String ExpenceName1="exp_paper";
         String Organization1="exp_organization";
              try
                   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                   con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433");
                   Statement st = con.createStatement();
                   String q1="INSERT INTO Expense_code_Table(ExpenceCode,ExpenceName,Organization)VALUES("+ExpenceCode1+",'"+ExpenceName1+"','"+Organization1+"')";
         st.execute(q1);
              }catch(Exception e)
                   System.out.println(e);
              try
                   con.close();
              catch (SQLException e)
                   e.printStackTrace();
    after running program
    it is showing me...
    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    java.lang.NullPointerException
         at demo.getdatabase.main(getdatabase.java:22)
    Exception in thread "main"
    please help me out how to solve this problem...
    thanks in advance...
    bye
    chandan sharma

    Put ur driver class files in the class path...
    regards
    Shanu

  • Problem in working with Video

    I have problem in working with Opening and editing video
    When I tried to open :
    Could not complete your request , because it is not right kind of document [ for every format of video ]
    When I import as video :
    it creates as many layers as there are frames in the video
    Please help
    Thank you

    Video is like Image formats, but on steroids. Also, many formats, such as AVI can have 100's of different CODEC's inside them. It is almost like having a JPEG, that contains a TGA, or a TIFF, or a PCX, or any number of what we see as other formats. It can be daunting, but let's start at the beginning.
    For a discussion on formats, such as AVI, MOV, WMV, etc., see this article: http://forums.adobe.com/thread/440037?tstart=0
    As CODEC's are the "building blocks" of AV files, this article is good too: http://forums.adobe.com/thread/546811?tstart=0
    As you see from that first link, the format is just a "wrapper," and can contain all sorts of "stuff." That FAQ Entry will tell you how to "peek inside" the wrapper. That is what we need, as Mylenium asks. If you can let us know all about the faulting files, maybe someone can help you.
    Also, PS has somewhat limited Video support, both on Decode and Encode, so, and depending on what you have, you might have to convert that/those file(s).
    Good luck,
    Hunt

  • Thread problem in swings

    I have made an application in swings i have stored the class files in a system and call that class files by a batfile shortcut in two diff. pcs .and i am tring to get an value of a Jtextarea in an event When I tried to run this application at the same time from 2 diff PCS,with diff string input in text area It is giving me the same vlaue.
    Tell me Y it is so.and how can i rectify it
    javauser

    Very strange... what makes you think that this is a threading problem?

  • Problem when working with package???Please, help me!!!

    I got 3 .java files from one Java tutorial as follow:
    Server.java (in package mygame.server)
    Utilities.java (in package mygame.shared)
    Client.java (in package mygame.client)
    All the above files are placed in "E:\Java Programmes\source"
    After compiling, i got correspponding .class files:
    Server.class (placed in "E:\Java Programmes\class\mygame\server")
    Utilities.class (placed in "E:\Java Programmes\class\mygam\shared")
    Clients.class (placed in "E:\Java Programmes\class\mygame\client")
    But when i run Server.class which contains main method, i got error as follow:
    E:\Java Programmes>java class\mygame\server\Server
    Exception in thread "main" java.lang.NoClassDefFoundError: class\mygame\server\S
    erver (wrong name: mygame/server/Server)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    That was very puzzled for me. I cannot find out what wrong with my files. Please., any boby, help me!!! I always got this problem when working with package and managing files. Thanls a lot.

    java -cp "E:\Java Programmes\class" mygame.server.Server

  • Problem while communicating with ECU through NI USB CAN

    Hello sir,
    I want to communicate with ECU through NI USB CAN interface while i tried to communicate with ECU it gives timeout error. here i am using CCP version 1.0, ECU toolkit 2.1.4 and NI CAN 2.7.2 .if you have any problem that communicates with ECU using CCP version 1.0 Please attach it.
    Thanks and Regards,
    Madhan

    So for the fifth time you start a new thread about the same problem!
    If you don't get any response to your threads, it could be because you are not giving a lot information about your problem.You could start with giving the vi you have problem with, so that we can see what you are doing.
    You also need to give any error code and a description on that you have done, in details!
    You also had one response in one of the other threads, it is polite to make an answer when someone is replying to you.
    [email protected] wrote:
    Hello sir,
    I want to communicate with ECU through NI USB CAN interface while i tried to communicate with ECU it gives timeout error. here i am using CCP version 1.0, ECU toolkit 2.1.4 and NI CAN 2.7.2 .if you have any problem that communicates with ECU using CCP version 1.0 Please attach it.
    Thanks and Regards,
    Madhan
    That makes no sense, where have you copied that from ?

  • JTable with JButton Cell renderer

    How can I get buttons (JButtons) to "depress" properly in a JTable when using them as the cell renderer for a specific column in a JTable? Currently when pressing any button in the column, there is no change in the visible state of the button, i.e. it doesn't change color to create impression of depression.

    Is the [problem not the fact that the JTable cell renderers merely rubberstamp each cell with the appropriate display, i.e. the actual component in the cell is not an actual button (just looks like one)? If this is the case, then the same problem will persis with a JToggleButton as well won't it?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Thread problem depending on the OS

    Hello !
    I'm developing a Java CORBA server application with JDK1.2.2.007, it contains a lot of threads and synchronized blocks - multithreading use. I have the following weird behavior depending on the OS:
    The startup of my server is for instance the ORB mainloop (let's say like a graphical event loop).
    - on WIN32 the CPU gets stuck to 100% after startup (without any activity)
    - on Solaris it is not reproducible
    - on HP neither
    After performing a client request on my NE:
    - on WIN32 (2K) the CPU keep stuck to 100% (I'm not astonished anyway)
    - in Solaris (spark) the CPU gets stuck to 100% after this first client request (but no activity after the request is completed)
    - on HP the problem is unreproducible (at any time).
    We're developing on SUN and we've came to the point that we have to use 2 workstations: one to run the server and one to run the client coz the CPU problem. By chance my target is on HP ;-)
    At one given time, a lot of threads do exist (for instance the Orbacus threadpool). I've tried to analyze with JVM options -Xrunhprof:heap=sites,cpu=samples,depth=10,monitor=y,thread=y,doe=y with not real success.
    I've heard about Amdahl's law but I'd like to know how I can analyze that the problem comes from the object creation, garbage collection, and/or synchronied methods/blocks. Does anybody know much about how to track this law in real code ?
    -> if so, how to detect these blocks ?
    -> if so, can I instrument the JVM to solve the problem ?
    Thanks for help.
    Sebastien.

    There certainly isn't any evidence that threads on Sun or Windows normally pegs the cpu. At least not without activity.
    So that certainly suggests that your code does impact it in some way.
    I am guessing that you are also not using the same vendor for the JVM on all boxes? Sun doesn't make one for HP.
    How many threads are you creating?
    Threads wait on objects. Presumably when you start it up you are waiting for some signal to start processing? And the only way to block would be to wait on a system resource like a socket. So what type of resource are you blocking on at start up?

Maybe you are looking for

  • Url does not show up in address bar...and when i type in a search box, the cursor jumps up to the address bar automatically

    I'm not sure what happened. However, I can never see the URL in the address bar anymore. I go from page to page, and the URL shows only for a split second, then disappers. All the address bar says is "Search or enter address" I copy and paste a lot o

  • SetTableLocationByServerDatabaseName seems to not work

    Post Author: Matthew_Arn CA Forum: Data Connectivity and SQL I have a web site that tries to reset the database location when running new reports, but it always seems to get and error (Failed to open the connection) even though the connection informa

  • Placing a multiple page graphic (illustrator, eps)

    Hi, My goal is to insert all the pages from an illustrator file (javascript) into an Indesign document and get a handle on them (so I can spread them on different pages, etc). That needs to happen without user intervention. I am looking at the API do

  • All icons on desktops keep flashing

    I have a 500GB transcend external hard drive. It used to work totally fine with Mac OS X Snow Leopard until a few days ago. When I plugged the hard drive in, all icons on desktop keep flashing every 3 seconds. When I open my hard drive, it disappeare

  • Saving the graphics2d to JPEG

    Hi All, I need a desperate solution for this problem. I am not able to save the contents of the Graphics2D content into an JPEG/GIF. could you pls tell me where I am going wrong. private void pathCoordinates(int iOne, int jOne, int iTwo, int jTwo,