messagequeue.java

来自「大量jsp编程使用例子」· Java 代码 · 共 55 行

JAVA
55
字号

  package beans ;
  
  import java.io.* ;
  import java.lang.* ;
  import java.util.* ;
  import beans.* ;

  public class MessageQueue {
    private Object lockKey ;
    private Vector msgQueue ;
    private int maxNumMessages ;

    public MessageQueue() {
      this.lockKey=new Object() ;
      this.msgQueue=new Vector() ;
      this.maxNumMessages=10 ;
    }


    public String getMessages() {
      String  htmlCode="" ;

      synchronized( lockKey ) {
    // Enter critical-region.
        for( Enumeration e=this.msgQueue.elements() ; e.hasMoreElements() ; )
      	  htmlCode+=( "<p>"+(String)e.nextElement()+"</p>\n" ) ;
    // Leave critical-region.
      }
      
      return htmlCode ;
    }


    public void setMaxNumMessages( String num ) {
      try {
      	this.maxNumMessages=Integer.parseInt( num ) ;
      }
      catch( NumberFormatException ex ) {
       	this.maxNumMessages=10 ;
      }
    }


    public void setMessage( String msg ) {
      synchronized( lockKey ) {
    // Enter critical-region.
        this.msgQueue.insertElementAt( msg, 0 ) ;
        int numMessages=this.msgQueue.size() ;
        if( numMessages>this.maxNumMessages )
          this.msgQueue.removeElementAt( numMessages-1 ) ;
    // Leave critical-region.
      }
    }
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?