ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » Non-Persistence queue PCF Command

Post new topic  Reply to topic
 Non-Persistence queue PCF Command « View previous topic :: View next topic » 
Author Message
garonne
PostPosted: Thu Aug 24, 2006 7:48 am    Post subject: Non-Persistence queue PCF Command Reply with quote

Acolyte

Joined: 26 Jan 2006
Posts: 59

I would like to know the PCF command to change a queue on non-persistent mode.

Thanks for your help
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Aug 24, 2006 7:51 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Queues don't have persistent modes or non-persistent modes.

They do have a "default persistance" parameter, though.

This parameter can be changed by ALTERing the queue, either with a PCF command or with the equivalent MQSC command.

I'd like to know why you think you should change this value, too.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
garonne
PostPosted: Thu Aug 24, 2006 7:55 am    Post subject: Reply with quote

Acolyte

Joined: 26 Jan 2006
Posts: 59

jefflowrey wrote:
Queues don't have persistent modes or non-persistent modes.

They do have a "default persistance" parameter, though.

This parameter can be changed by ALTERing the queue, either with a PCF command or with the equivalent MQSC command.

I'd like to know why you think you should change this value, too.


I just want to do a test to see if in non-persistance mode, I can increase the performance of my queues or not.

Can you tell me which PCF command I have to do?
Back to top
View user's profile Send private message
wschutz
PostPosted: Thu Aug 24, 2006 8:59 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

If you JUST want to do a test, try:
Code:

runmqsc <qmgr name>
alter ql(<qname>) defpsist(no)

but, as Jeff points out, this ONLY applies to the default persistence...meaning: if the putting application marks the message as
being persistent, it will be persistent.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
jefflowrey
PostPosted: Thu Aug 24, 2006 9:52 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Persistance only applies to individual messages. A message can be persistant and sit on a queue that has default persistance false, and a non-persistent message can sit on a queue that has default persistance true.

Whether messages are persistent or not should be decided based on business criteria - how important is the message and how important is the performance of the overall system.

Also, you can't adjust the performance of QUEUES, other than by speeding up or slowing down the disk that the qfile sits on. There's no tuning that you can do.

Are you having a particular performance problem? Or are you just trying to "improve performance"?
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
garonne
PostPosted: Fri Aug 25, 2006 1:43 am    Post subject: Reply with quote

Acolyte

Joined: 26 Jan 2006
Posts: 59

@jefflowrey:
thanks for your response. I have no performance problem and I dont try to improve queue performance. In fact, I have a workbench and a connector JCA for WSMQ. I would like to test the performance of WSMQ with my connector (to compare with others message provider) in multiple cases : persistent message, non-persistent message, durable connection, non-durable connection, transactionnal, non-transactionnal...

@wschutz:
thanks for your response. So can I say this : if the message is initialized using the default parameters, the persistence for the message is taken from the persistent attribut of the queue to which the message is sent ???

Could you please tell me the correspond PCF command to set persistent attribut of the queue cause I would like my tests to be automatic.
Back to top
View user's profile Send private message
wschutz
PostPosted: Fri Aug 25, 2006 2:03 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

garonne wrote:
So can I say this : if the message is initialized using the default parameters, the persistence for the message is taken from the persistent attribut of the queue to which the message is sent ???
Yes, that is correct
garonne wrote:

Could you please tell me the correspond PCF command to set persistent attribut of the queue cause I would like my tests to be automatic.
If you insist...
http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.csqzac.doc/chgq.htm
but PCF commands are not easy to work with and it would be simplier to write a script like this:
Code:
echo alter ql(xyz) defpsist(no) | runmqsc qmgrname
than to write a "pcf command" program ....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
garonne
PostPosted: Fri Aug 25, 2006 4:16 am    Post subject: Reply with quote

Acolyte

Joined: 26 Jan 2006
Posts: 59

wschutz wrote:

http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.csqzac.doc/chgq.htm
but PCF commands are not easy to work with and it would be simplier to write a script like this:
Code:
echo alter ql(xyz) defpsist(no) | runmqsc qmgrname
than to write a "pcf command" program ....


Thanks alot . It's likely that by defaut MQ queues are created with the persistance attribut set to be non-persistent ?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Aug 25, 2006 4:25 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

MQ objects are created with values from the following sources in the following priority
1) The define command explicit values
2) The LIKE clause queue values
3) The default object of that type - for example SYSTEM.DEFAULT.LOCAL.QUEUE

So if you say "def ql(TEST1)", then this is the equivalent to saying "def ql(TEST1) LIKE SYSTEM.DEFAULT.LOCAL.QUEUE".

The DEFPSIST value of SYSTEM.DEFAULT.LOCAL.QUEUE is set to "no" by the product install. So if you're working with a freshly created queue manager, then it is reasonable to suppose that the default value for DEFPSIST is "no",and it is reasonable to suppose that new queues will have the default DEFPSIST value when they are created - unless someone explicitly specifies a DEFPSIST value on the define or a LIKE on the define.

Otherwise if it is not a brand new queue manager, you probably just want to check your assumptions at the door and do a little archaeology.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Aug 25, 2006 4:25 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

garonne wrote:
It's likely that by defaut MQ queues are created with the persistance attribut set to be non-persistent ?


From the DEFINE QUEUE section of the Command Reference manual:

Quote:
DEFPSIST Specifies the message persistence to be used when applications specify the MQPER_PERSISTENCE_AS_Q_DEF option.

NO Messages on this queue are lost across a restart of the queue manager. This is the default supplied with WebSphere MQ, but your installation might have changed it.

YES Messages on this queue survive a restart of the queue manager.

_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
garonne
PostPosted: Fri Aug 25, 2006 5:33 am    Post subject: Reply with quote

Acolyte

Joined: 26 Jan 2006
Posts: 59

I set defpsist of a queue to non-persistent. Then I use an application to send messages on this queue using JMS interface. After restart the Queue Manager, all the messages sit always on the queue.

Can you explain me this?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Aug 25, 2006 5:36 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

jefflowrey wrote:
Persistance only applies to individual messages. A message can be persistant and sit on a queue that has default persistance false, and a non-persistent message can sit on a queue that has default persistance true.

_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
garonne
PostPosted: Fri Aug 25, 2006 5:38 am    Post subject: Reply with quote

Acolyte

Joined: 26 Jan 2006
Posts: 59

jefflowrey wrote:
Persistance only applies to individual messages. A message can be persistant and sit on a queue that has default persistance false, and a non-persistent message can sit on a queue that has default persistance true.


But I did nothing with the JMS message. Or by default, JMS Message is persistent?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Aug 25, 2006 2:40 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

garonne wrote:
jefflowrey wrote:
Persistance only applies to individual messages. A message can be persistant and sit on a queue that has default persistance false, and a non-persistent message can sit on a queue that has default persistance true.


But I did nothing with the JMS message. Or by default, JMS Message is persistent?

JMS messages are put to a queue retrieved through JNDI or by subscription to a topic.
  1. Queue retrieved from JNDI. In the JNDI setup for the queue you can specify a default option for persistance. Programs that then put messages to the queue using the definition aquired through JNDI and that do not set the persistance of the message will aquire this default attribute. Note this will supersede the queue's default attribute on the queue manager.
    In the same way you can specify other attributes like expiry or priority or targetClient in the JNDI layer.
  2. Subscriptions are received when the queue manager gets your registration and publishes something on the topic you have registered on.
    You can set multiple attributes on the registration for persistance: as defined on the publication, as defaulted on the subscription queue etc...

Have a look at the IH03 support pack and it's radio buttons and check marks in the pub sub area.
Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » Non-Persistence queue PCF Command
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.