Author |
Message
|
ibolui |
Posted: Tue Aug 10, 2010 1:55 am Post subject: BOQ DLQ |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
hi, i am facing a situation for my application. not sure whether i have set my things correctly or what causes it..
i have a mq input queue (testinput), with a backout queue set (bqueue).
i have also set dead letter queue for the queue manager.
there is also a mq output queue (testoutput).
i am using java to code a publisher (put to testinput) and a MDB (listens on testoutput). when there is an coding error in the MDB onmessage(), the message is being put to testinput continuously..
i thought by setting the backout queue or dead letter queue, this continuously putting of message will not occur?
did i miss out anything?? |
|
Back to top |
|
 |
zpat |
Posted: Tue Aug 10, 2010 2:03 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
BOQ and BOT do absolutely nothing in themselves.
Unless the application chooses in the code to refer to them and move messages to the BOQ when the message MQMD.BOC reaches the BOT.
Putting to a local queue (by an application) will eventually get queue full RC. Messages do not then go to the DLQ unless the app decides to put them there (add a DLH if you do this).
A lot of what seems automatic is the choice of applications. MQ channels will do certain things like using the DLQ for undeliverable or full queues. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Aug 10, 2010 4:00 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
zpat wrote: |
Unless the application chooses in the code to refer to them and move messages to the BOQ when the message MQMD.BOC reaches the BOT. |
Or the application is running under WAS or similar & that software moves messages on behalf of the application.
Which in no way invalidates the statement "BOQ and BOT do absolutely nothing in themselves" of course.
zpat wrote: |
Putting to a local queue (by an application) will eventually get queue full RC. Messages do not then go to the DLQ unless the app decides to put them there (add a DLH if you do this). |
Think very, very carefully before doing this. Application messages should never go the the DLQ, which has a specific use. But if you do put them there put a DLH on them. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
ibolui |
Posted: Tue Aug 10, 2010 5:16 pm Post subject: |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
actually i do not understand the replies. especially the terminologies..
sorry about that..
Quote: |
Unless the application chooses in the code to refer to them and move messages to the BOQ when the message MQMD.BOC reaches the BOT. |
Quote: |
Or the application is running under WAS or similar & that software moves messages on behalf of the application. |
what do they mean??
what is full queue RC and a DLH? |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Aug 10, 2010 5:56 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Local queues have attributes; and one of them is maximum depth - what is the maximum number of messages that can be put to the queue before the putting application receives an MQRC_QUEUE_FULL ReasonCode as a result of the failed mqput attempt. Max queue depth is set by the sysadmin.
One of the other attributes of a queue is a backout threshold - the number of times a message has been restored to the queue as a so-called "poison message." Again, this field is set by the sysadmin.
When a message is backed out to the local queue, its MQMD-backout count is incremented by one. The next mqget of the message will return the backout count.
Another queue attribute is the backout-requeue-queue-name - the name of a queue where an application can mqput a message that it has determined to be a "poison message."
The backout threshold and backout-requeue-queue-name, and the backout count, are fields that the application uses.
Again, other than counting the number of times a message is backed out (restored to the local queue), there is nothing that the qmgr does with these fields.
This is all nicely documented in the APR and APG manuals. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Aug 10, 2010 5:58 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ibolui wrote: |
actually i do not understand the replies. especially the terminologies..
sorry about that..
Quote: |
Unless the application chooses in the code to refer to them and move messages to the BOQ when the message MQMD.BOC reaches the BOT. |
Quote: |
Or the application is running under WAS or similar & that software moves messages on behalf of the application. |
what do they mean??
what is full queue RC and a DLH? |
- BOQ = Back Out Queue
- BOC = Back Out Count
- BOT = Back Out Threshold
- WAS = WebSphere Application Server
- MQMD = MQ Message Descriptor
- full queue RC (reason code) = 2053 (from memory)
- DLH = Dead Letter Header (also DLQH)
Hit the manuals and have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
ibolui |
Posted: Tue Aug 10, 2010 7:45 pm Post subject: |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
ahh.. ic.. thanks!
yup i did set the backout queue and dead letter queue. i have also set the threshold to be 2, for testing purpose to see if the message will end up in the BOQ or DLQ.
my application was running in a jboss server, with the mdb subscribing to the mq queue (testoutput).
so.. i do not know what causes the onmessage to keep looking, which i think is because the message is being put back to the (testinput) queue endlessly? |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Aug 10, 2010 9:17 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
a trace might be in order to see exactly what is happening. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
ibolui |
Posted: Tue Aug 10, 2010 9:45 pm Post subject: |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
hmmm.. do you mean the windows event viewer? or the jboss server log? or something else? |
|
Back to top |
|
 |
ibolui |
Posted: Wed Aug 11, 2010 1:27 am Post subject: |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
ok i think i got the log. mqjms.log
Code: |
11/08/2010 17:20:00:[WorkManager(2)-2] com.ibm.msg.client.jms.internal.JmsSessionImpl
A message driven bean threw a runtime exception '
Message : javax.ejb.EJBTransactionRolledbackException: Expected message to be of type javax.jms.TextMessage
Class : class javax.ejb.EJBTransactionRolledbackException
Stack : org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
: org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
: org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
: org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
: org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
: $Proxy145.processMessage(null:-1)
: MessageProcessingServices.processMessage(MessageProcessingServices.java:99)
: sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
: java.lang.reflect.Method.invoke(Method.java:597)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
: org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
: org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
: org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
: org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
: org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
: $Proxy271.processMessage(null:-1)
: MyBean.onMessage(MyBean.java:44)
: sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
: java.lang.reflect.Method.invoke(Method.java:597)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
: org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
: org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
: org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:249)
: org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
: org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
: $Proxy277.onMessage(null:-1)
: com.ibm.mq.connector.inbound.MessageEndpointWrapper.onMessage(MessageEndpointWrapper.java:131)
: com.ibm.mq.jms.MQSession$FacadeMessageListener.onMessage(MQSession.java:147)
: com.ibm.msg.client.jms.internal.JmsSessionImpl.run(JmsSessionImpl.java:2598)
: com.ibm.mq.jms.MQSession.run(MQSession.java:862)
: com.ibm.mq.connector.inbound.WorkImpl.run(WorkImpl.java:229)
: org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
: org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
: EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
: java.lang.Thread.run(Thread.java:619)
Caused by [1] --> Message : java.lang.IllegalArgumentException: Expected message to be of type javax.jms.TextMessage
Class : class java.lang.IllegalArgumentException
Stack : MyBean.processMessage(MyBean.java:94)
: sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
: java.lang.reflect.Method.invoke(Method.java:597)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
: org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
: org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
: org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
: org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
: org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
: $Proxy145.processMessage(null:-1)
: MessageProcessingServices.processMessage(MessageProcessingServices.java:99)
: sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
: java.lang.reflect.Method.invoke(Method.java:597)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
: org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
: org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
: org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
: org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
: org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
: org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
: $Proxy271.processMessage(null:-1)
: MyBean.onMessage(MyBean.java:44)
: sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
: java.lang.reflect.Method.invoke(Method.java:597)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
: org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
: org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
: org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
: org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
: org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:249)
: org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
: org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
: $Proxy277.onMessage(null:-1)
: com.ibm.mq.connector.inbound.MessageEndpointWrapper.onMessage(MessageEndpointWrapper.java:131)
: com.ibm.mq.jms.MQSession$FacadeMessageListener.onMessage(MQSession.java:147)
: com.ibm.msg.client.jms.internal.JmsSessionImpl.run(JmsSessionImpl.java:2598)
: com.ibm.mq.jms.MQSession.run(MQSession.java:862)
: com.ibm.mq.connector.inbound.WorkImpl.run(WorkImpl.java:229)
: org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
: org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
: EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
: java.lang.Thread.run(Thread.java:619)
'.
EXPLANATION:
This may indicate a problem in the message listener.
ACTION:
If the runtime exception was thrown unintentionally by the message listener, use the linked exception to determine the cause of the problem.
--------------------------------------------------------------------
11/08/2010 17:20:00:[WorkManager(2)-2] JCAMessageBuilder
Message delivery to an MDB 'MyBean@1ffcc1b' failed with exception: 'Expected message to be of type javax.jms.TextMessage'
EXPLANATION:
An attempt to deliver a message to a Message Endpoint failed. The message has been rolled back onto the queue.
ACTION:
You can ignore a single warning if a subsequent attempt to deliver the message is successful. Repeated warnings might indicate problems with the resource adapter or the WebSphere MQ queue manager, or that a corrupt message is on the queue.
--------------------------------------------------------------------
11/08/2010 17:20:00:[WorkManager(2)-3] JCAMessageBuilder
Message delivery to an MDB 'MyBean@1353534' failed with exception: 'Expected message to be of type javax.jms.TextMessage'
EXPLANATION:
An attempt to deliver a message to a Message Endpoint failed. The message has been rolled back onto the queue.
ACTION:
You can ignore a single warning if a subsequent attempt to deliver the message is successful. Repeated warnings might indicate problems with the resource adapter or the WebSphere MQ queue manager, or that a corrupt message is on the queue.
-------------------------------------------------------------------- |
|
|
Back to top |
|
 |
ibolui |
Posted: Wed Aug 11, 2010 5:27 pm Post subject: |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
i googled and as expected, the error is due to the message content. the message is then repeatedly being put back onto the queue.
but why isnt the message being backout after the threshold has been reached? did i misconfigured anything? |
|
Back to top |
|
 |
ibolui |
Posted: Wed Aug 11, 2010 5:37 pm Post subject: |
|
|
Novice
Joined: 10 Aug 2010 Posts: 22
|
i guessed i figured out why..
i set the threshold for testinput but i should have set it for testoutput.. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Aug 11, 2010 7:02 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
i guessed i figured out why.. |
Well done. This is referred to as basic research - a fundamental sysadmin skill. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
|