🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.swing
Article #820

JdbTable memory leak

#820
From: seung_shin
Date: Thu, 22 Jul 2004 23:39
109 lines
3931 bytes
I am experiencing memory leak on jdbTable upon refreshing.  I have a
jdbTable tied to queryDataSet that gets refreshed every 5 sec.  The
size of application is growing even when retrieved data is unchanged
and same size.  It also grows when the dataset is empty.

I have simplified code for my application below.

public class Frame1
    extends JFrame {
  int count;
  JPanel contentPane;
  BorderLayout borderLayout1 = new BorderLayout();
  Database database1 = new Database();
  QueryDataSet queryDataSet1 = new QueryDataSet();
  JdbTable jdbTable1 = new JdbTable();
  DBDisposeMonitor dBDisposeMonitor1 = new DBDisposeMonitor();
  refresh_thread refresh_stuff = new refresh_thread();
  QueryDataSet queryDataSet2 = new QueryDataSet();

  //Construct the frame
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
      queryDataSet2.open();
      refresh_stuff.start();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  class refresh_thread
      extends Thread {
    private volatile Thread blinker;
    private int refresh_rate = 5000;
    Thread thisThread;

    public void start() {
      try {
        blinker = new Thread(this);
        blinker.start();
      }
      catch (Exception e) {
        e.printStackTrace();
      }
    }

    void my_stop() {
      blinker = null;
    }

    public void run() {
      try {
        thisThread = Thread.currentThread();
        while (blinker == thisThread) {

          thisThread.sleep(refresh_rate);
          queryDataSet2.executeQuery();
        }
      }
      catch (InterruptedException ex) {
        ex.printStackTrace();
      
      }

    }

  }

  //Component initialization
  private void jbInit() throws Exception {
    contentPane = (JPanel)this.getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    this.setSize(new Dimension(400, 300));
    this.setTitle("Frame Title");
    database1.setConnection(new
com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:polite:bft;DataDirectory=c:\\oracle\\ora90\\Mobile\\Sdk\\OLDB40\\;Database=bft;",
        "system", "manager", false,
"oracle.lite.poljdbc.POLJDBCDriver"));

    jdbTable1.setEnabled(false);
    jdbTable1.setRowSelectionAllowed(true);
    jdbTable1.setDataSet(queryDataSet2);
    dBDisposeMonitor1.setDataAwareComponentContainer(this);
    queryDataSet2.setMetaDataUpdate(MetaDataUpdate.NONE);
    queryDataSet2.setTableName("ccs_message_log");
    queryDataSet2.setQuery(new
com.borland.dx.sql.dataset.QueryDescriptor(
        database1, "SQL STATEMENT" , null, true, Load.ALL));

    contentPane.add(jdbTable1, BorderLayout.CENTER);
  }

  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      refresh_stuff.my_stop();
      queryDataSet2.closeStatement();
      queryDataSet2.empty();
      queryDataSet2.close();
      this.dispose();
    }
  }
}

Any suggestions or help?
Technical Details
Message-ID: <7e077841.0407221539.44ca120@posting.google.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews2.google.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 111d45,b701ec63e6a41276,start
X-Google-Attributes: gid111d45,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews2.google.com!not-for-mail
From: miditto@yahoo.com (seung_shin)
Newsgroups: borland.public.jbuilder.java.swing
Subject: JdbTable memory leak
Date: 22 Jul 2004 16:39:47 -0700
Organization: http://groups.google.com
Lines: 109
Message-ID: <7e077841.0407221539.44ca120@posting.google.com>
NNTP-Posting-Host: 129.193.104.172
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1090539589 7206 127.0.0.1 (22 Jul 2004 23:39:49 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 22 Jul 2004 23:39:49 +0000 (UTC)