[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-07 Thread kalyan120
Thanks for your suggestion genman. Right now, we are using 3.2.5. How different 
is 3.2.6 from 3.2.5? Probably I'll have to go through the release notes. 

Meanwhile, to update you, Scott, we did another round of testing with the JVM 
IL. The results are excellent. For my testcase, with the same load, in a LAN, 
the EJB roundtrip call takes around 15 millisecs and JMS call takes around 35 
millisecs (on an average). I thought I'd share these with you. But these 
results are with the commented out code in MessageCache which tries to call 
validateSoftReferenceDepth function.

Now, we will have to bring db into the picture and see the performance.  

Thanks for your suggestions.

Regards,
Kalyan.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857825#3857825

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857825


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-07 Thread genman

By the way, the message cache is used to page messages out of memory, 
regardless if you want to persist them or not.  This is to avoid out of memory 
conditions.

>From looking at the stack trace in the bug, it seems to want to page out a 
>message that hasn't been added to the server yet, which is odd.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857779#3857779

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857779


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-07 Thread genman

In 3.2.6 you can turn off soft referencing using the JMX attribute 
"MakeSoftReferences" on the message cache.



View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857778#3857778

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857778


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-06 Thread kalyan120
Thanks for your reply Scott.

We have figured out that the deadlock is because of the method 
validateSoftReferenceDepth method in MessageCache. We have commented out the 
calls to that method and the server works fine.  We have run 225 clients , each 
hitting the server every 100 secs for 2.5 days and still the performance is 
good.  So, looks like that solved the problem for us. 

I had opened a bug at : http://jira.jboss.com/jira/browse/JBMQ-4

We are using NullPersistenceManager as suggested in one of the wiki pages. Even 
then there is this business of Soft Referencing happening in the MessageCache.  
Is this required when there is no requirement for storing the messages? 

I shall conduct a similar test with JVMIL and will let you know the results.

Thanks & Regards,
Kalyan.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857647#3857647

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857647


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-03 Thread [EMAIL PROTECTED]
Every connection has a read/write task thread so to have 3 you have 3 
connections. I only see two so its not clear where the third is coming from. On 
the server side, you can eliminate on UIL2 connection in favor of a INJVM 
connection if the session bean and JMS server are collocated. This is accessed 
using the java:/ConnectionFactory jndi name rather than ConnectionFactory.

In the bug report indicated the os and jvm as the behavior and scalability with 
the number of threads will depend on this combo.


View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857364#3857364

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857364


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-02 Thread kalyan120
Thanks for the reply Scott

Yes, we are aware that a connection has to be closed once it's usage is over. 
In fact, there are no threads hanging in the server if the clients are all 
killed. That part of the functionality is working fine. The problem is with the 
number of threads alive when the clients are still connected to the JBoss MQ 
server. Though, I'm repeating the steps again, they are more granular, so, 
here's what we do:

1. Client creates a temporary queue and creates a receiver for this queue
2. It caches the temorary queue in a hashtable (useful as it receives messages 
from server on the same queue often)
2. Client binds this queue object to the jndi with the queue name
3. Client invokes a statless session bean with the queue name 
4. Session Bean creates a string of 100KB (typically)
5. It looks up the queue object from the jndi, for the given queue name.
6. It creates a session and there by a sender for this queue.
7. It sends the message
8. The registered MessageListener on the client gets notified.

Client sends requests to the server for every 100 secs (typically). The next 
time it tries to send the request, it doesn't create another temp queue. It 
reuses the same queue that's created earlier. Similarly, the server uses the 
same sender info that it has created earlier. 

Following are the code snippets for your interest:

Client code:

QueueConnectionFactory qconFactory = 
  | (QueueConnectionFactory) 
context.lookup(qConnFactory);
  | 
  | QueueConnection connection = qconFactory.createQueueConnection();
  | connection.setExceptionListener(
  | new JMSConnectionExceptionListener(serverUrl));
  | QueueSession session = connection.createQueueSession(false, 
  | Session.AUTO_ACKNOWLEDGE);
  | Queue queue;
  | // creating temporary queue
  | queue = (Queue) session.createTemporaryQueue();
  | queueName = queue.getQueueName();
  | connection.start();
  | QueueReceiver receiver = session.createReceiver(queue);
  | receiver.setMessageListener(this);
  | context.rebind(queue.getQueueName(), queue);

Server code:

 holder = new QueueConnectionHolder();
  |  myQueueTable.put(queueName, holder);
  | 
  |   Queue queue = (Queue) myContext.lookup(queueName);
  |   
  |   QueueConnectionFactory factory = 
  |   (QueueConnectionFactory) myContext.lookup(qConnFactory);
  | 
  |   QueueConnection connection = factory.createQueueConnection();
  |   holder.setConnection(connection); // remember queue connection
  |   QueueSession session =
  |   connection.createQueueSession(false, sessionMode);
  |   holder.setSession(session); // remember the session
  | 
  |   QueueSender sender = session.createSender(queue);
  |   holder.setSender(sender); // remember sender
  | 
  |   connection.setExceptionListener(this);
  |   connection.start();

And finally sends the message this way:

  QueueConnectionHolder holder 
  |   = (QueueConnectionHolder) myQueueTable.get(queueName);
  |holder.getSender().send(message);

We are not sure what could be causing the problem in this code. When I 
monitored the log on the server today, I still noticed that there are 3 "Begin 
WriteTask" and 3 "Being ReadTask" statements in the log. When I kill the 
client, I see all correspondily 3 "End WriteTask" and 3 "End ReadTask" log 
statements in the log. But if I don't kill the client, these threads are around 
in the server. 

Please advise on this. Meanwhile, I shall also report the test case in the bug 
report. 

Thanks for your time.

Regards,
Kalyan.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857271#3857271

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857271


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


[JBoss-user] [Messaging, JMS & JBossMQ] - Re: ReadTask and Write Task Threads in UIL2

2004-12-01 Thread [EMAIL PROTECTED]
A connection needs to be closed property to cleanup the ReadTask and  WriteTask 
threads. There is only one ReadTask and WriteTask created per connection along 
with a thread pool for message delivery.  When I run the temporary queue unit 
tests there are no ReadTask or WriteTask threads at the completion of the test. 
There are some msg delivery threads that will hang around for up to 60 seconds 
until the time to live expires.

Create a bug report on the jbossmq project at the following url with your test 
code so we can see if there is a usage that is leaking threads. 
http://jira.jboss.com/jira/browse/JBMQ

You can enable trace level logging on the org.jboss.mq category to see what is 
going on with the message delivery to the clients.

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3857129#3857129

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3857129


---
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user