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 Installation/Configuration Support » MQSeries Channel In-Active State

Post new topic  Reply to topic
 MQSeries Channel In-Active State « View previous topic :: View next topic » 
Author Message
hariraman
PostPosted: Wed Jul 03, 2002 12:51 am    Post subject: MQSeries Channel In-Active State Reply with quote

Novice

Joined: 24 Jul 2001
Posts: 16
Location: Chennai,India

Hi,
I'm currently using IBM MQSeriesv5.2 in Windows NT for building messaging interface for a web based application. Here my query is about the channels. The Sender/Receiver Channels goes down after some point of time when they are not in use. How we can keep the channels active?? Also pls. suggest me for this, when message is transacted between two queue mgrs., because of some reasons, if the message is blocked in either end how this can be cleared off?. Do you think dead letter queue will be helpful at this situation.

Pls. reply me with your valuable suggestions. Thanks.

Regards,
Hari
Back to top
View user's profile Send private message AIM Address
VivekMeshram
PostPosted: Wed Jul 03, 2002 1:32 am    Post subject: Reply with quote

Voyager

Joined: 25 Mar 2002
Posts: 83

[color=green][b] Hi Hari,

[b]Hi Hari,

Alter the Transmission Queue defination and set the attribute ie INITQ : SYSTEM.CHANNEL.INITQ

Define the application process say P1 to be srated and set the attribute USERDATA(Channel Name)
Where Channel Name : Should be your sender channel Name.
Make sure that ur channel Initiator must be runing!!!

You can clear the queue using MQSC command clear queue or if u are using Windows NT then press left arrow on the queue
select all tasks and clear messages.
Hope you understand.!!!!

Thanks and Best Regards,
Sr. Associate (EAI)
Vivek Meshram.
Singapore.
[/b][/color][/b]
Back to top
View user's profile Send private message Send e-mail
hariraman
PostPosted: Wed Jul 03, 2002 1:46 am    Post subject: Reply with quote

Novice

Joined: 24 Jul 2001
Posts: 16
Location: Chennai,India

HI Vivek,
Thanks for your quick reply. I'm not fully clear about what you have said. I understood that i should define the initiation queue name as SYSTEM.CHANNEL.INITQ in the Triggering Tab. I did so. But why do you need to have a process named P1 to be started with the USERDATA(Channel name). Is it really required? What it does?

Pls. reply me.

Thanks,
Hari
Back to top
View user's profile Send private message AIM Address
mgrabinski
PostPosted: Wed Jul 03, 2002 1:51 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

Channels are disconnected after the interval specified in the DISCINT attribute elapses. A value of zero causes the channel to run indefinitely.

Consider setting attribute this to a sensible value (15min? 1 hour?) and set up triggering on the transmission queue. This way your channel will be started only when there messages to send and will run for the specified time waiting for messages. If none arrives, the channel will go down.

As for resolving a channel that is in INDOUBT status (I think you mean this by 'blocking'), there is a command RESOLVE CHANNEL that deals with this problem. It gives you the option eihther to COMMIT or BACKOUT the channel transaction in question.

HTH
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
hariraman
PostPosted: Wed Jul 03, 2002 2:23 am    Post subject: Reply with quote

Novice

Joined: 24 Jul 2001
Posts: 16
Location: Chennai,India

Thanks to you first Marcin Grabinski.

The approach which you have mentioned was tried out by me (just before i get your reply) with the reference of some of our forum replies by setting the disconnect interval to 0 which will make the channel running in-definitely. But your suggestion is valuable enough to have the interval set for a sensible period with channel triggered on further.

Here i need to be clarified on how this channel will get triggered. Do we need to create a process definition to start a batch file which holds the mqsc command to start the channel? Should it mean, once we put a message in the Remote Queue, the transmission queue will trigger the sender channel to get that into active state which will be in active status till the disconnect interval time expires.

Vivek replied that clearing of blocked message in the local Queue can be done thru MQ Explorer. This would be helpful if manual intervention is their to maintain the MQ Server. Does it not be done automatically?.
The one you suggested, i guess it talks about the state of the channel when it falls in INDOUBT state. That i feel surely it requires manual intervention.. We should manually do the commit or rollback operation to reset the channel to active state.

Request your further clarification on this.

Thanks & Regards,
Hari
Thanks,
Hari
Back to top
View user's profile Send private message AIM Address
mgrabinski
PostPosted: Wed Jul 03, 2002 2:47 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

Hi Hari!

To set up channel triggering:

1) alter transmission queue attributes:
Code:

ALTER QLOCAL(your_xmitq_name) +
TRIGGER +
TRIGTYPE(FIRST) +
INITQ(SYSTEM.CHANNEL.INITQ) +
TRIGDATA(your_sender_channel_name)


2) run a channel initiator:
runmqchi -m QMgrName -q SYSTEM.CHANNEL.INITQ
or do it through MQSeries Services

You don't need to use PROCESS definition

As for 'blocking' of messages I'm not sure if I got you right. Please clarify what do you mean by that.

Apart from INDOUBT status - this requires manual intervention - there may be another problems that can mean 'blocking' of messages. For example the connection may be down. In that case the channel will retry to reconnect. There are several parameters that govern how often and how many times the channel will try to reconnect. Did you mean something like that?

Best regards,
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
hariraman
PostPosted: Wed Jul 03, 2002 3:44 am    Post subject: Reply with quote

Novice

Joined: 24 Jul 2001
Posts: 16
Location: Chennai,India

Dear Marcin,
This is the scenario which i consider as message blocking in MQ Communication.

scenario 1: When i put a message to Sender Queue thru. a web request at sometimes it gets locked in the queue because of the channel's inactive status.

scenario 2: Once the msg which i mentioned above reaches the remote location, it should have to trigger a program, which will read the msg. from the queue. Due to some reason if the trigger program fails, the message reached to the local queue of the remote location will get blocked.

Unless or until i manually take steps to clear the blocked messages, i can't make proper communication till then it will throw MQCommunicationException or MQRecordConversionException.
So i should have to find methods to clear of these message automatically through some means so that i can have a free flow of communication happening between both locations.

I hope now i'm gave a exact picture of this problem.

Revert me back with your reply.

Regards,
Hari
Back to top
View user's profile Send private message AIM Address
mgrabinski
PostPosted: Wed Jul 03, 2002 3:56 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

Hi!

Now I get it

Scenario 1:
Channel triggering will cope with that. If channel is inactive and a message arrives on its XMITQ, the channel will automatically started and will send the message. You don't need to do anything manually

Scenario 2:
That's worse
If you are not interested in the 'blocked' message if it haven't been got from the destination queue , you can set the EXPIRY field of MQMD to a value (in tenths of a second) that will limit the lifetime of the message.

To be exact, the EXPIRY fields sets the maximum time a message is kept on queues (transmission and destination). After the time elapses, the message will be deleted.

You can get notification if this happens. Set the REPORT field of MQMD to MQRO_EXPIRATION.

HTH
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
hariraman
PostPosted: Wed Jul 03, 2002 4:46 am    Post subject: Reply with quote

Novice

Joined: 24 Jul 2001
Posts: 16
Location: Chennai,India

Hi Marcin,
You replies are look like an experts advice. Not just looks.. You are an expert... Thanks for all your patience in communicating with me to clarify my quries..

Pls. remember this great friend. Keep in touch.

My mail id is: hariraman@yahoo.com
office: hariraman_radhakrishnan@satyam.com

I actually thought of explaining you about the actual system which we are developing here. I believe you can understand easily as you r into the similar field The system we are developing is a web system interfaced with a legacy application (mainframe) runs in OS390 system thru. MQ Series & Workflow. Here the application receives the business data for any processing from Mainframe available in the form of VSAM files (which can't be accessed directly thru Java- JDBC driver). For which, we take user request from web and write the request into remote queue of a location, which moves the request to the local queue of remote location and triggers a mainframe program written in COBOL, which actually reads the data sent from web and replies back after the mainframe processeing.
In actual means, the system still makes use of the mainframe fucntionality driven thru the help of MQ Trigger(instead of CICS) and process for web txn.

Hope the details given above briefs abt. the appln architecture to an extent.

Keep in touch in my office/personal id. I will put my queries to you whenever i get something. Pls. let me know your personal id.

Thanks,
Hari
Back to top
View user's profile Send private message AIM Address
VivekMeshram
PostPosted: Wed Jul 03, 2002 7:19 pm    Post subject: Reply with quote

Voyager

Joined: 25 Mar 2002
Posts: 83

Hi,

I guess without setting the attribute TRIGGER DATA(channel Name) of tran queue, the Channel can triggred , since this is free-format data that the queue manager inserts into the trigger message
when a message arriving on this queue causes a trigger message to be written to the initiation queue.
Only thing u should take care of the HeartBeat Interval and Disconnect interval once you set up accordingly...the Heartbeat Interval should be less than Disconnect
Interval..

Thanks and Best Reagards,
Vivek Meshram
Singapore.
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 Installation/Configuration Support » MQSeries Channel In-Active State
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.