Queue messages stalling

We have an oracle advanced queue which stores messages to be sent via email. A process picks them off and sends them onto our mail service. Something in the chain stalls occasionally, and nothing is dequeued to the exception queue. Everything on the queue has a retry count of 1 when it should try 5 times. The state is also set to 1 for all the messages on the queue. An update of the queue table, resetting the state and retry count to 0 kicks the whole thing back into life again.
Can anyone help me or explain what I am doing wrong?
Thanks
Jennifer

mark42324 wrote:
I want all messages to remain in queue until they are scanned for both spam and virus.Added in Messaging Server 6.3:
"Two new values now have meaning for the various SPAMFILTERx_OPTIONAL MTA options: 3 and 4. A value of 3 causes spamfilter failures to accept the message but queue it to the reprocess chanel for later processing. A value of 4 does the same thing but also logs the spam filter temporary failure to syslog."
So you would add spamfilterX_optional=3 to option.dat where X is the number matching the SpamAssassin filter slot (1,2,3... etc.).
Regards,
Shane.

Similar Messages

  • How do you build a web page to display queued messages ?

    How do you build a web page to display queued messages in all states?
    Thanks,
    Reeta
    Reeta Joseph Benoy
    EDS@XEROX
    Database Administration
    1350 Jefferson Rd
    Rochester, NY 14623

    You can build a form to a procedure in oracle portal that explores the queue with the option browse and prints de type message with htp package. I made it in this way and my applicattion works right. The procedure must loop the select count(msgid) from aq$[queuetable_name] times.

  • Advantages of Using Queued Message Handler vs. Standard State Machine

    Hello,
    What are the advantages of using a Queued Message Handler?  Also, why are they more powerful than using Standard State Machines?
    Thanks!

    They are really just sort of an extension of a state machine.  The general idea is that you have one loop doing a specific job.  You then use a queue to tell it how/when to do this job.  For instance, I might have a log file loop.  I will send it commands to open a file, write some data, write some more data, and finally close the file.  Each of those commands are coming from the queue.  The beauty with this setup is that anybody that can get a reference to that queue can send the command to that loop.
    So the QMH is "better" than a state machine mostly because of the decoupling of functions.  In a given application, I will have a loop for log file writing, GUI updates, reading of a DAQ, instrumenet communications, server communications, etc.  Trying to do all of that in a single loop state machine is a major pain in the rear end.  Seperating them out makes life so much easier.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Exception queue messages

    is there anyway to dequeue exception queue messages
    my main queue is multiconsumer
    Message was edited by:
    JAA

    i ll answer my question
    first set exception queue dequeue enable
    BEGIN
    dbms_aqadm.start_queue(queue_name => 'aq$_request_qt_e',dequeue => TRUE,enqueue => FALSE);
    END;
    then dequeue messages with null consumer name ;)

  • Watch all queue message in xi/pi

    Hello Experts,
       I want to see all queue messages coming to xi and going out of xi. Is there any Tcode to watch queue messages.
    I use SMQ1 and SMQ2 to see qRFC queue messages. But i want to see all messages.
    Kindly help me in this regard.
    Thanks in advance.

    Hi tatireddy kiran
    if you want to minitor on abap stack (integration engine) then run tcode SXI_MONITOR
    fill up the crieteria and there you can search all the message whether its QOS is BE , EO or EOIO
    if you want to monitor java stack (adapter engine )
    then run tcode SXMB_IFR got to RWB -> message monitoring and there give the filter and you can see the messages and there status
    Regards
    sandeep

  • Where to store data (queued message handler)

    Hello,
    i'm developing an image processing application. As a template i'm using the 'queued message handler'. In my app I need to store some images, arrays, and so on in RAM. Now the question is  if i should store that data in the message loop's shift register (in a cluster) or somewhere else.
    At the moment i have hidden front panel indicators where i store all my data. This isn't good practise, is it?
    thanks alot
    MN

    nollMarvin wrote:
    Hello,
    i'm developing an image processing application. As a template i'm using the 'queued message handler'. In my app I need to store some images, arrays, and so on in RAM. Now the question is  if i should store that data in the message loop's shift register (in a cluster) or somewhere else.
    At the moment i have hidden front panel indicators where i store all my data. This isn't good practise, is it?
    thanks alot
    MN
    No that is not good practice.
    A Shift register is a much better place to store data in memory it does that without creating copies the OS must interperate for display.  (Yeah the displaying of data to a user is a different concept than having data in memory) Ben's famous Action Engine Nugget is always a good read. http://forums.ni.com/t5/LabVIEW/Community-Nugget-4-08-2007-Action-Engines/m-p/503801
    And a basic concept to LabVIEW that attending a training session (or asking questions on these forums) will help you master
    Jeff

  • JMS Queue Messages not picked up.

    Hello,
    We are facing below issue frequently, any help in this regard would be highly appreciated.
    We have 2 MDB's listening to the a queue on WLS 8.1 SP2. We are using Message Selector to identify which of the 2 MDB's should pick up the message.
    The issue is that if too many messages are queued up, then the MDB at times doesn't pick them up, even when free instances of MDB are available in the Bean Pool.
    But if we restart the server then all the messages are picked up instantly. Server restart acts as some kind of Trigger for the Queued Messages to be picked up instantly.
    We have been trying to explore as to why this happens, but havent still resolved it.
    Any ideas would be appreciated.
    Thanks.
    Khyati

    Hello,
    We are facing below issue frequently, any help in this regard would be highly appreciated.
    We have 2 MDB's listening to the a queue on WLS 8.1 SP2. We are using Message Selector to identify which of the 2 MDB's should pick up the message.
    The issue is that if too many messages are queued up, then the MDB at times doesn't pick them up, even when free instances of MDB are available in the Bean Pool.
    But if we restart the server then all the messages are picked up instantly. Server restart acts as some kind of Trigger for the Queued Messages to be picked up instantly.
    We have been trying to explore as to why this happens, but havent still resolved it.
    Any ideas would be appreciated.
    Thanks.
    Khyati

  • Delete queued messages having env_from=

    I have an iMS 5.2 on Solaris 8, but I cannot manage to delete queued messages having env_from = "<>".
    Exact command I use:
    qm.maint> clean -env_from= "<>" -delete -min_length=2
    Can anybody help?

    Actually, this sounds like a "Bad Idea". Messages from the server itself normally have no env_from, so you'd be removing notifications that mail did not go through. Perhaps if you explained why you wish to do this, we can help you achieve your goals a different way.

  • Delete queued messages

    Hi all,
    We have IMS 5.2 running Solaris8. I am investigating the smtpout log files, the status attribute for the email shows that it cab be E for enqued, D for Dequed or some other status with error sending to the other smtp destination. Now in the imsimta queue management, if I need to delete only the emails with error status, how can I do this? I mean if I run the "held" sub command then delete it will not delete all the emails with error status, and if I run the "directory channel" then delete then all the emails will be deleted regardless of the status. Is there a solution ?
    Many thanks in advance

    I would first lengthen the "backoff" stuff, so queued messages don't get retried so often.
    You can also reduce the notices timeout, though I would go gently, so you don't return valid mail for servers that may actually be down.

  • How to get Uniform distributed queue message counts with help of JMX

    Hi,
    Is there any way to get given queue message count, pending message counts using JMX. I can get all queue names and counts using JMX... after that i have to show only selected queue details.
    Thanks,
    -Som

    Hi,
    Following is the WLS snippet from an upcoming WLS JMS message management white paper that you can use to get the message statistics for a given destination.
    With appropriate command line parameters, this script can be used to poll and dump the statistics of any destination on a specified interval.
    Note that the WLST uses JMX API under the cover, so you can easily convert this into a pure JMX java program.
    Hope this helps.
    Kats
    WebLogic JMS Message Statistics Script for weblogic.WLST
    This script can be used for dumping message statistics of a given JMS Destination.
    Based on the arguments, the script creates can print out message statistics
    Usage: java weblogic.WLST msg_statistics.py [options]
    Options:
      username=...           username to connect to WebLogic Server       - defaults to "weblogic"
      password=...           password to connect to WebLogic Server       - defaults to "weblogic"
      url=...                Provider URL of the Administration Server    - defaults to "t3://localhost:7001"
      wlsServerName=...      WebLogic Server Name                         - defaults to "examplesServer"
      jmsServerName=...      JMS Server Name that hosts the destination   - defaults to "examplesJMSServer"
      jmsModuleName=...      JMS Module Name that defines the destination - defaults to "examples-jms"
      jmsDestinationName=... JMS Destination name to get the statistics   - defaults to "exampleQueue"
      pollingIntervalInSeconds=... Time interval between statistics dump  - defaults to "60 secs"
      redirectStdout=...     File name to redirect the stdout of WLST     - defaults to no redirect and the results wil be printed out to stdout.
      help                   Prints out this usage help
    Note that all the defaults are set based WebLogic Examples domain that is part of WebLogic Server installation.
    The "examples" server can be started from "C:/Oracle/Middleware/wlserver_10.3/samples/domains/wl_server" using startWebLogic.sh
    To try this script OOTB, start the "examples" server and run the JMS sample as described below.
    cd :/Oracle/Middleware/wlserver_10.3/samples/domains/wl_server/bin
    . ./setDomainEnv.sh
    cd $WL_HOME/samples/server/examples/src/examples/jms/queue
    javac -d . *.java
    export CLASSPATH=".;$CLASSPATH"
    java examples.jms.queue.QueueSend t3://localhost:7001
    Follow the prompts to populate the queue
    Examples:
      msg_statistics.py - Dump the message statistics of the exampleQueue for every 1 min
      msg_statistics.py user=weblogic pass=weblogic url=t3://localhost:7001
                          wlsServerName=examplesServer jmsServerName=examplesJMSServer
                    jmsModuleName=examples-jms jmsDestinationName=exampleQueue
                    pollingIntervalInSeconds=30
    For more details on JMS Message Management using WLST, see "WebLogic JMS Message Management In a Nutshell" whitepaper.
    from weblogic.jms.extensions import JMSMessageInfo
    from weblogic.messaging.kernel import Cursor
    from javax.jms import TextMessage
    from javax.jms import DeliveryMode
    from java.io import ByteArrayOutputStream
    from java.io import StringBufferInputStream
    from java.util import Properties
    from java.util import Date
    from java.lang import *
    import jarray
    import sys
    # shows_messages() definition
    def dump_statistics(wlsServerName, jmsServerName, jmsModuleName, jmsDestinationName, pollingIntervalInSeconds):
      pollingIntervalInMillis = long(pollingIntervalInSeconds) * 1000L
      domainRuntime()
      cd ('ServerRuntimes')
      spath = wlsServerName + "/JMSRuntime/" + wlsServerName +".jms"
      cd (spath)
      fullDestName=jmsServerName+'/Destinations/'+jmsModuleName +'!'+jmsDestinationName
      cdPathForDestName='JMSServers/'+ fullDestName
      cd (cdPathForDestName)
      while 1:
        print "========================================================================================================================"
        print "Messages     Messages      Messages      Messages      Bytes        Bytes        Bytes           Bytes    "
        print "Current       Pending       High          Received      Current      Pending      High            Received "
        print "Count         Count         Count         Count         Count        Count        Count           Count    "
        print "========================================================================================================================"
        s = "%8d     %8d     %8d     %8d     %8d     %8d     %8d     %d" % (cmo.getMessagesCurrentCount(), cmo.getMessagesPendingCount(), cmo.getMessagesHighCount(), cmo.getMessagesReceivedCount(), cmo.getBytesCurrentCount(), cmo.getBytesPendingCount(), cmo.getBytesHighCount(), cmo.getBytesReceivedCount())
        print s
        print ''
        Thread.sleep(long(pollingIntervalInMillis))
    # Function to handle script arguments of the variety 'n=v', where
    # arguments are placed into a dictionary of nv pairs and returned
    # to the caller
    def argsToDict(args):
      d = {}
      for arg in args:
        #print "arg: " + arg
        pair = arg.split('=', 1)
        #print "pair: " + str(pair)
        if len(pair) == 2:
          # binary argument, store as key pair
          key = pair[0]
          val = pair[1]
          d[key] = val
        else:
          # Unary argument, story with empty (non-null) key
          d[arg] = ''
      print "Arguments: " + str(d)
      return d
    # Returns the value found in the provided map, at the location
    # specified by 'key'; if no entry exists in the map for 'key',
    # the provided default is returned.
    def getValue(dict, key, default=None):
      ret = default
      if dict is not None:
        try:
          ret=dict[key]
        except KeyError:
          pass
      return ret
    # Connect to the target server specified in the provide args
    def connectIfNecessary(argsDict=None):
      # connect if necessary
      if connected == "false":
        user=getValue(argsDict, "user", "weblogic")
        passwd=getValue(argsDict, "pass", "weblogic")
        url=getValue(argsDict, "url", "t3://localhost:7001")
        print "Connecting with [" + user + "," + passwd + "," + url + "]"
        connect(user,passwd,url)
    # Retrieve a positional argument if it exists; if not,
    # the provided default is returned.
    # Params:
    # pos   The integer location in sys.argv of the parameter
    # default  The default value to return if the parameter does not exist
    # returns the value at sys.argv[pos], or the provided default if necesssary
    def getPositionalArgument(pos, default):
      value=None
      try:
        value=sys.argv[pos]
      except:
        value=default
      return value
    # Main
    argsDict = argsToDict(sys.argv)
    redirectOutputFileName = getValue(argsDict, "redirectStdout")
    if redirectOutputFileName is None:
      pass
    else:
      redirect(redirectOutputFileName, 'false')
      print "The output from this program gets written into file " + redirectOutputFileName
      sys.stdout = open(redirectOutputFileName, "w")
    isHelp = getValue(argsDict, "help")
    if isHelp is None:
      pass
    else:
      print __doc__
      exit()
    connectIfNecessary(argsDict)
    wlsServerName = getValue(argsDict, "wlsServerName", "examplesServer")
    jmsServerName = getValue(argsDict, "jmsServerName", "examplesJMSServer")
    jmsModuleName = getValue(argsDict, "jmsModuleName", "examples-jms") 
    jmsDestinationName = getValue(argsDict, "jmsDestinationName", "exampleQueue")
    pollingIntervalInSeconds = getValue(argsDict, "pollingIntervalInSeconds", "60")
    dump_statistics(wlsServerName, jmsServerName, jmsModuleName, jmsDestinationName, pollingIntervalInSeconds)
    disconnect()
    print 'End of script ...'
    exit() 

  • I need tips about queued message handler

    Hello, I have to use, for the first time a queued message handler. I'd like to know what is the best way to share data between cases in a loop and from a loop to another, I think with local variables  isn't  the best way...
    However all the tips on the queued message handler are welcome!!!
    Thanks

    smilegv wrote:
    I'd like to know what is the best way to share data between cases in a loop
    Shift registers.  Doesn't matter if QMH, State Machine, Producer-Consumer, etc.
    smilegv wrote:
    I'd like to know what is the best way to share data ...from a loop to another
    Well, now that completely depends on what you are passing around.  Streaming data?  Use a Queue or User Event.  Last known value (ie Tag)?  Global Variables, Action Engine.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Queued Message Handler Project Template

    Hello,
    Currently prepping for CLD exam.
    I was told we could use LV 2012 Professional Version.  Is it OK during exam to use Project template for Queued Message Handler to generate VIs and block diagram code?  Or must a QMH be generated from scratch?  
    I assume there will be a main VI which we must modify, but the thought was to reuse the generated template code into this VI.
    Thank you,

    You can use templates, examples etc that ships with LabVIEW. I am sure I read this somewhere, will post a link if I find it.
    Here is one tip offered by one of the experts: http://forums.ni.com/t5/Certification/Car-Wash-REV​IEW/m-p/2267688#M540
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • How best to decouple the UI in the LV 2012 Queued Message Handler Template?

    If you create a new "Queued Message Handler" from the new LV 2012 Template, you'll see a blue box in the "Update Display" case which says the following:
    Code Recommended - If you wish to decouple the Message Handling Loop from your user interface, consider creating User Events (like the "Stop" event in this VI) to message the Event Handling Loop whenever the user interface needs updating.
    I'd like to give this suggestion a shot but I'm struggling to find the best way to do this and still keep the code modular.  The template creates a "User Event - Stop.lvlib" with Create/Destroy/Fire SubVI's.  I would like to create a similar "User Event - Update UI.lvlib" library with similar Create/Destroy/Fire SubVI's to keep this new user event separate and modular.  The problem I'm hitting is that there can only be one Dynamic Event Terminal in the Event Structure so how do I modularlize creating user events into separate SubVIs and still maintain this one Dynamic Event Terminal?
    As a follow on question, would it be best to have one user event library per indicator that needs updating or just one single UI update user event and then pass a cluster as the message which contains the name of the control to update (to be used with a case structure) and then the data to go along with it?
    Thanks!
    Solved!
    Go to Solution.
    Attachments:
    CLD.png ‏10 KB

    Instead of having the Register Events in the "Create Methods" you could do that part outside your "create" SubVIs and then simply bundle them. Then you create your individual User Event handling. See snippet where i created a "Create User Event - Update" vi in front of the Stop.
    “A child of five could understand this. Send someone to fetch a child of five.”
    ― Groucho Marx

  • Is there any way to configure storage queue message encoding for Web Job's QueueTrigger?

    We have a web job that listens to Azure storage queue via QueueTrigger. The queue messages are not encoded when they are added to the queue:
    CloudStorageAccount account = CloudStorageAccount.Parse("...");
    CloudQueueClient client = account.CreateCloudQueueClient();
    CloudQueue queue = client.GetQueueReference("test1");
    queue.EncodeMessage = false;
    queue.AddMessage(new CloudQueueMessage("hello world"));
    And in the web job, we use the below method to listen to the queue.
    public static Task ProcessQueueMessageAsync([QueueTrigger("test1")]string message)
    And the web job crashes when it gets a message, with the below output. Unfortunately we cannot control the encode setting of the coming messages. So, our question is, is there any way to configure queue message encoding for Web Job's QueueTrigger?
    Thank you for any help and/or suggestion.
    Found the following functions:
    WebJobTest1.Functions.ProcessQueueMessageAsync
    Job host started
    Unhandled Exception: System.FormatException: Invalid length for a Base-64 char array or string.
    at System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength)
    at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
    at System.Convert.FromBase64String(String s)
    at Microsoft.WindowsAzure.Storage.Queue.CloudQueueMessage.get_AsString()
    at Microsoft.Azure.WebJobs.Host.Storage.Queue.StorageQueueMessage.get_AsString()
    at Microsoft.Azure.WebJobs.Host.Queues.StorageQueueMessageExtensions.TryGetAsString(IStorageQueueMessage message)
    at Microsoft.Azure.WebJobs.Host.Queues.QueueCausalityManager.GetOwner(IStorageQueueMessage msg)
    at Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueTriggerExecutor.<ExecuteAsync>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueListener.<ProcessMessageAsync>d__11.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at Microsoft.Azure.WebJobs.Host.Timers.BackgroundExceptionDispatcher.<>c__DisplayClass1.<Throw>b__0()
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ThreadHelper.ThreadStart()
    Press any key to continue . . .

    Hi,
    Thanks for posting here.
    I am not too sure if the storage queue messages can be encoded before the webjob listens to it.
    I am currently researching to gather more information with regards to your request.
    I shall revert back to you with an update at the earliest.
    Sincerely appreciate your patience.
    Regards,
    Shirisha Paderu

  • Datasynchronisation: Error Queue message conflict detected.

    Any idea what the cause of error queue message "conflict detected" could mean?
    It happens with a dml operation update, version 207 for one date field.
    If i go to record details there seems to be no records and there is the message:
    * Field names inside <> are primary key fileds.
    Any one got this problem before?

    press HELP at error queue page :)
    Synchronization conflicts are resolved by the MGP using the relevant conflict rules. All modifications are applied to the server tables and the transaction is committed. If the conflict rule is "Server Wins", then an error queue record with the message CONFLICT DETECTED is also generated to let you know that a conflict occurred and this rule was applied. A conflict that is resolved by the conflict rules is not rolled back. You can choose to override the conflict resolution performed by modifying the error queue record for a conflict and re-executing the transaction.
    A Mobile Server synchronization conflict occurs if:
    The client and the server update the same row. This error is resolved by the Mobile Server by the conflict rules, but is logged in the error queue for you to see the result. You can choose to modify the result.
    The client and server create rows with the same primary key values. This error is resolved by the Mobile Server, but is logged in the error queue for you to see the result. You can choose to modify the result.
    The client deletes the same row that the server updates. This error is resolved by the Mobile Server, but is logged in the error queue for you to see the result. You can choose to modify the result.

Maybe you are looking for

  • How to create purchase order report  form MM function module

    Dear All,               i need customized purchase order report with logo and grand total. regards, krishna

  • Hp envy 110 will not stay connected to network

    I use an HP Envy 110 connected by a home wifi network, I am constantly having to add a new printer due to the origional not being available.  I do have multiple computers accessing the printer on the same home network.

  • How to determine installed version of EMET via script?

    Hi all, I was not able to find a easy way to determine installed verison of EMET via script. If you can guide me in the right direction, this would help a lot. Many thanks Sam

  • Microsoft skype video call for nokia belle

    hi its normal nokia plus microsoft and nokia belle still didn´t get support for video call and the ios and android yes what can i thing about this?it is the big problem make that for nokia8 or where is the problem ? please can someone tell me more ab

  • GR value is lessthan the po value

    hi in the purchase order  gross price is 100 . we are not entered any discounts in the purchase order. but while doing Goods receipts  w r t purchase order . price is showing 90 . why this is happening regards sap mm