You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by jefetech <in...@jefetech.com> on 2006/07/31 19:49:57 UTC

ActiveMQ Ajax not closing Mysql Connection

I'm using the latest ActiveMQ 4.0.1,  with Jetty6, using Struts with
Hibernate on Mysql 4.1.7-standard.  I've altered some of the chatroom
example functions to call Struts to execute mysql updates/selects. 

For some reason, activeMQ is not releasing the mysql connection.  Everytime
struts/hibernate is called, even though my code is correctly doing a
session.flush(), session.close() for hibernate,  ActiveMQ is ignoring it.  
Here is an example of how I'm using activeMQ. Any suggestions would be
greatly appreciated.  In the ping function, I'm redrawing the users from a
MySQl table:

       case 'ping' :
       {
           //re-draw entire callq with status changes from database
          var i = Math.round(9877*Math.random());
          var cache = 'cache=bust'+i;
          var url = 'http://10.1.1.23/ajax/getUsers.do?'+cache;		
		  var myAjax = new Ajax.Updater(
		  	{success: 'members'}, 
			url, 
			{
				method: 'get', 
				onFailure: room.reportLoginError()
			});
          	//$('members').innerHTML = "Just a test.....";
	  		break;
       }


After that executes a couple times and I do a ps -eaf on my linux box, it
looks like this:

mysql     7546  6184  0 08:45 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7615  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7622  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7628  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7634  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7641  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7647  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7654  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7660  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7667  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7673  6184  0 08:49 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7716  6184  0 08:51 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7722  6184  0 08:51 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7743  6184  0 08:52 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7754  6184  0 08:52 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7760  6184  0 08:52 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7767  6184  0 08:52 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7774  6184  0 08:52 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7780  6184  0 08:52 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7792  6184  0 08:53 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7800  6184  0 08:53 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7806  6184  0 08:53 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7816  6184  0 08:53 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7822  6184  0 08:53 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7828  6184  0 08:53 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7862  6184  0 08:54 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7870  6184  0 08:54 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7876  6184  0 08:54 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7891  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7898  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7905  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7910  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7922  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7935  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7936  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7942  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     7948  6184  0 08:55 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8021  6184  0 09:00 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8054  6184  0 09:00 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8072  6184  0 09:01 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8080  6184  0 09:01 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8095  6184  0 09:01 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8110  6184  0 09:01 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8118  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8125  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8137  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8145  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8152  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8158  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8164  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8177  6184  0 09:02 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8189  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8195  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8204  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8212  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8218  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8224  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8231  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8237  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8244  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8250  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8256  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8262  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
mysql     8268  6184  0 09:03 pts/2    00:00:00 /main/mysql/bin/mysqld
--defaults-extra-file=/main/mysql/data/my.cnf --basedir=/main/mysql
--datadir=/main/mysql/data --user
root      8270  6723  0 09:03 pts/3    00:00:00 ps -eaf


-- 
View this message in context: http://www.nabble.com/ActiveMQ-Ajax-not-closing-Mysql-Connection-tf2029061.html#a5580663
Sent from the ActiveMQ - User forum at Nabble.com.


Re: ActiveMQ Ajax not closing Mysql Connection

Posted by jefetech <in...@jefetech.com>.
That's what I thought, I just needed to hear it from somebody else familair
with ActiveMQ to rule it out for me :)  Thanks James.
-- 
View this message in context: http://www.nabble.com/ActiveMQ-Ajax-not-closing-Mysql-Connection-tf2029061.html#a5581498
Sent from the ActiveMQ - User forum at Nabble.com.


Re: ActiveMQ Ajax not closing Mysql Connection

Posted by James Strachan <ja...@gmail.com>.
If you are doing struts stuff in Ajax then this has nothing to do wtih
ActiveMQ at all :)

On 7/31/06, jefetech <in...@jefetech.com> wrote:
>
> I may be confused here, but I shoudn't be using ActiveMQ's data source.
> Since from the JavaScript I'm making an Asyn call to a struts application
> which is doing the hibernate stuff and just spitting back plain text, why is
> ActiveMQ controlling the connection?   This is the simple logic in the
> struts app:
>
>
>     public static List getUsers() {
>
>         Session session = null;
>         List callerList = null;
>
>        try{
>             // This step will read hibernate.cfg.xml and prepare hibernate
> for use
>             SessionFactory sessionFactory = new
> Configuration().configure().buildSessionFactory();
>             session =sessionFactory.openSession();
>
>
>               //Using from Clause
>              String SQL_QUERY = SQL.getUsers;
>              Query query = session.createQuery(SQL_QUERY);
>              callerList = query.list();
>
>              session.flush();
>              session.close();
>
>           }catch(Exception e){
>               //System.out.println(e.getMessage());
>           }finally{
>               try {
>                   if (session != null) {
>                       session.flush();
>                       session.close();
>                   }
>               } catch (Exception e) {}
>          }
>
>         return callerList;
>
>       }
> --
> View this message in context: http://www.nabble.com/ActiveMQ-Ajax-not-closing-Mysql-Connection-tf2029061.html#a5581183
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Re: ActiveMQ Ajax not closing Mysql Connection

Posted by jefetech <in...@jefetech.com>.
I may be confused here, but I shoudn't be using ActiveMQ's data source. 
Since from the JavaScript I'm making an Asyn call to a struts application
which is doing the hibernate stuff and just spitting back plain text, why is
ActiveMQ controlling the connection?   This is the simple logic in the
struts app:


    public static List getUsers() {
        
        Session session = null;
        List callerList = null;

       try{
            // This step will read hibernate.cfg.xml and prepare hibernate
for use
            SessionFactory sessionFactory = new
Configuration().configure().buildSessionFactory();
            session =sessionFactory.openSession();
             
            
              //Using from Clause
             String SQL_QUERY = SQL.getUsers;
             Query query = session.createQuery(SQL_QUERY);
             callerList = query.list();
             
             session.flush();
             session.close();
             
          }catch(Exception e){
              //System.out.println(e.getMessage());
          }finally{
              try {
                  if (session != null) {
                      session.flush();
                      session.close();
                  }
              } catch (Exception e) {} 
         }
        
        return callerList;
        
      }  
-- 
View this message in context: http://www.nabble.com/ActiveMQ-Ajax-not-closing-Mysql-Connection-tf2029061.html#a5581183
Sent from the ActiveMQ - User forum at Nabble.com.


Re: ActiveMQ Ajax not closing Mysql Connection

Posted by James Strachan <ja...@gmail.com>.
On 7/31/06, jefetech <in...@jefetech.com> wrote:
>
> I'm using the latest ActiveMQ 4.0.1,  with Jetty6, using Struts with
> Hibernate on Mysql 4.1.7-standard.  I've altered some of the chatroom
> example functions to call Struts to execute mysql updates/selects.
>
> For some reason, activeMQ is not releasing the mysql connection.  Everytime
> struts/hibernate is called, even though my code is correctly doing a
> session.flush(), session.close() for hibernate,  ActiveMQ is ignoring it.

ActiveMQ uses its own  DataSource and connections, not Hibernate - so
the session.flush() won't have any effect on ActiveMQ's connections.

If you want to control how many connections ActiveMQ uses then
configure the DataSource you give to ActiveMQ to use whatever pool you
want.

-- 

James
-------
http://radio.weblogs.com/0112098/