Author |
Message
|
babloo4031 |
Posted: Sat Sep 09, 2006 2:43 am Post subject: Unable to put messages using Siebel Work FLow |
|
|
Novice
Joined: 08 Jul 2006 Posts: 18
|
I am facing a strange problem. One of development team with whom I work use Siebel Workflow to put messages in Queue. Basically these messages are XML which are usually abt 7k in size. For last few days , I have been observing that we are losing few messages. I mean that when Siebel application puts the message in Queue I am not able to see the message in Transmission Queue.(Messages are put in Remote Queue but I stop the channel to see whether the messages are leaving from my end).
My observations are.
This type of problem happens frequently. Sometimes Siebel workflow is able to put messages and sometimes not. When they fail to put messages I do not know where the messages are lost. But when I restart the Queue Manager and Siebel instance I can again proceed to send the messages( new messages not old messages).
I saw so many similar cases in the forum which are related to 2080 Reason Code, and lot of suggestions also how to overcome this.
I want to know how we do it in Siebel Workflow which directly calls the Put Queue function. Since Siebel encapsulates these internals, is there any way which we can change the API function.
Also is it correct way to Put XML files from Siebel Workflow into MQ for XML files of size 7k.Should we use file transfer or is there any mechanism Siebel should follow.
This problem I face in Sun Solaris for MQ version 5.3.
Thanks in advance for help |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Sep 09, 2006 2:58 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
If you want to make sure you don't loose any messages make sure they are persistent. Discuss the topic with your MQ Admin. Make sure as well to trap the return code or any exception thrown from the put in Siebel...and handle accordingly ...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
babloo4031 |
Posted: Sat Sep 09, 2006 5:27 am Post subject: |
|
|
Novice
Joined: 08 Jul 2006 Posts: 18
|
The Queue that holds the message is persistent.I mean Transmission Queue, Remote Queue all are persistent. |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Sep 09, 2006 8:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The only thing that can be persistant in MQ is a message.
The property on queues that you are thinking of is default persistance.
The only thing that controls whether messages are persistant is the putting application.
Applications can choose to use the default persistance of a queue, or not.
If you have questions about how to control this in Siebel WorkFlow, I think you're going to have to ask Siebel.
You can first check to see if, when you have stopped the channel, the queue depth is different than the number of messages you can actually see. If that's the case, then messages are stuck in transaction - and not actually entirely lost. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
babloo4031 |
Posted: Sat Sep 09, 2006 9:05 am Post subject: |
|
|
Novice
Joined: 08 Jul 2006 Posts: 18
|
Jeff,
How do we ensure that messages are persistent?
I did stop the channels and check the Queue Depth.It was always zero. |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Sep 09, 2006 11:38 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The only way to ensure that messages are persistent is to ensure that the application putting them SETS them to be persistent. If you *know* that the application uses the queue default, then you can ensure it by setting the DEFPSIST on the queue.
If you don't know how the application puts messages, you will have to test and see if it uses the queue default. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|