RE: Multi Thead Producer

"Jim Alateras" <[email protected]>
Newsgroups gmane.comp.java.openjms.devel
Message-ID <[email protected]>
Can you try running the same test using an RMI configuration

cheers
</jima>

> -----Original Message-----
> From: Tamoyo Vitali [mailto:tamoyo.vitali-+4n8Pjbed72QlJb33dTly1/I71DsQ//[email protected]]
> Sent: Tuesday, April 15, 2003 10:56 PM
> To: [email protected]; [email protected]
> Subject: RE: [openjms-developer] Multi Thead Producer
>
>
> Thanks Jim 8^D!!
> I agree with you, it seems to be synchronization but I can't
> imagine where it is occurring. Remeber when I run 2 separates
> process (with one thread each one) the time are not affected. I
> am running on a pentium 4 1ghz hadhat 7.3 1gb ram with mysql  Ver
> 11.18 Distrib 3.23.56 and tcp connection and I got 1 msg 80
> mileseconds so 1 sec = 12,5 messages, but this time does not
> change if I run different processes at the same time. (I am sory
> to be repetitive!!!)
>
> this is a very simple code, I forgot mentioned I use tcp
> connection, please take a look at the code below :
>
> import javax.naming.*;
> import javax.jms.*;
> import java.util.*;
> import java.io.*;
> import java.net.*;
> public class queue2 extends Thread {
> 	private static String arg;
> 	int q;
> 	private static long max =0;
> 	long ini;
> 	private  String url = "tcp://192.168.255.81:3035";
> 	private  String modeType =
> "org.exolab.jms.jndi.mipc.IpcJndiInitialContextFactory";
> 	private  String queue_name = null;
> 	private  QueueConnectionFactory factory = null;
> 	private  QueueConnection connection = null;
> 	private  QueueSession session = null;
> 	private  Queue queue = null;
> 	private  QueueSender sender = null;
> 	private  TextMessage message = null;
> 	private  Properties props = null;
> 	private  Context context = null;
> 	private  int priority = 9;
> 	//private static long timeToLive = 20000;
> 	private  String TEXTO_MSGS = "apenas um teste";
>
> 	queue2 (int i) { q=i;}
>
> 	public void run() {
> 		int ii =0 ;
> 		ini = System.currentTimeMillis();
> 		queue_name = "fila0";
> 		try {
> 			props = new Properties();
> 			props.put(Context.PROVIDER_URL,url);//url
>
> props.put(Context.INITIAL_CONTEXT_FACTORY,modeType); //modeType
> 		} catch (Exception e) {
> 			e.printStackTrace(System.err);
> 		}
> 		try {
> 			context = new InitialContext(props);
> 			factory =
> (QueueConnectionFactory)context.lookup("JmsQueueConnectionFactory
> ");
> 		} catch (NamingException e) {
> 			e.printStackTrace(System.err);
> 		}
> 		try {
> 			if( factory != null ) {
> 				connection =
> factory.createQueueConnection();
> 				connection.start();
> 				session =
> connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
> //(true, 0)
> 				queue =
> (Queue)context.lookup(queue_name);
>
> 				sender =
> session.createSender(queue);
> 				int delivery_mode =
> DeliveryMode.PERSISTENT;  //DeliveryMode.PERSISTENT;
> 				for (ii = 0; ii<500;ii++) {
> 					ini = System.currentTimeMillis() ;
> 					message =
> session.createTextMessage();
> 					message.setText( TEXTO_MSGS
> );
> 					//sender.send(message,
> delivery_mode, priority, 0); //Nao enviar assim qdo usar o OpenJMS
> 					sender.send( message );
> 					ini =
> System.currentTimeMillis() - ini ;
> 					System.out.println(q + " "
> + ii +  " end " + ini);
> 				}
> 			}
> 		} catch (JMSException e) {
> 			System.out.println("Exception JMSException
> occurred: " + e.toString());
> 			e.printStackTrace();
> 		} catch (javax.naming.NamingException NaEx) {
> 			System.out.println("Exception
> NamingException occurred: " + NaEx.toString());
> 			NaEx.printStackTrace();
> 		} finally {
> 			if (connection != null) {
> 				try {
> 					connection.close();
>
> 				} catch (JMSException e) {}
> 			}
> 		}
>     }
> 	public static void main(String args[]) {
> 		Thread t;
> 		for (int i=0; i<1; i++) {
> 			t = new queue2(i);
> 			t.start();
> 		}
> 	}
> }
>
> Tamoyo C. Vitali Jr.
> Gerente de Desenvolvimento
> SupportComm
>
> Rua da Assembléia, 100 - 19 Andar
> Rio de Janeiro, RJ 20011-000
> Tel: +55 21 3806-3340 / Cel: +55 21 8123-5182
> mailto:tamoyo.vitali-+4n8Pjbed72QlJb33dTly1/I71DsQ//[email protected]
> www.supportcomm.com.br
>
>
>
>
> -----Original Message-----
> From: Jim Alateras [mailto:[email protected]]
> Sent: segunda-feira, 14 de abril de 2003 18:14
> To: Tamoyo Vitali; openjms-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> Subject: RE: [openjms-developer] Multi Thead Producer
>
>
> Are you running the OpenJMS server with tcp or rmi? The only way I can
> explain it, without looking at the code, is that there seems to be related
> to synchronization either in your code, the OpenJMS client library or the
> OpenJMS server.
>
> cheers
> </jima>
>
> > -----Original Message-----
> > From: openjms-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > [mailto:openjms-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org]On Behalf Of
> > Tamoyo Vitali
> > Sent: Tuesday, April 15, 2003 6:16 AM
> > To: openjms-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > Subject: [openjms-developer] Multi Thead Producer
> >
> >
> > Hi all!!
> >
> > I am writing a java program to send messages to a queue in a
> > multithread scenario. Each thread has exclusive objects such as
> > connection, queue, sender, session. Inside each thread there is a
> > loop that sends sequentially messages. When I run this program
> > witha single thread, the time to send each message in a
> > persistent autoacknolodge  mode is 80 miliseconds, When I run the
> > same program with 2 theads the time to send each message
> > increases to 160 ms, with 3 theads it goes to 240 ms, with 4
> > threads 320 ms a so on... This is the expected results (the time
> > to deliver increases deppendin on the number os queuesenders) ???
> > Is I run the same program in two diferents processes each one
> > with just one thread they ane not affected and both takes 80 ms
> > for each message) Am I doind any wrong?
> >
> > best regards!!!
> >
> > Tamoyo C. Vitali Jr.
> > Gerente de Desenvolvimento
> > SupportComm
> >
> > Rua da Assembléia, 100 - 19 Andar
> > Rio de Janeiro, RJ 20011-000
> > Tel: +55 21 3806-3340 / Cel: +55 21 8123-5182
> > mailto:tamoyo.vitali-+4n8Pjbed72QlJb33dTly1/I71DsQ//[email protected]
> > www.supportcomm.com.br
> >
> >
> >
> >
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > openjms-developer mailing list
> > openjms-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > https://lists.sourceforge.net/lists/listinfo/openjms-developer
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.