2015年12月7日 | Leave a comment 问题: JMS The maximum number of messages [1,000] that the producer can process in a single transaction has been exceeded 警告: A system exception occurred during an invocation on EJB EJBTimerExecutor, method: public void me.yek.weileicrm.activity.impl.EJBTimerExecutor.onTimerOut(javax.ejb.Timer) throws java.lang.Exception 警告: javax.ejb.EJBException at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:752) at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:702) at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044) at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:4080) at com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1199) at com.sun.ejb.containers.EJBTimerService.access$000(EJBTimerService.java:89) at com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:1919) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: com.sun.messaging.jms.MQRuntimeException: MQJMSRA_DS4001: JMSServiceException on send message:sendMessage: Sending message failed. Connection ID: 2366449722241800960 Caused by:com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jmq.jmsclient.JMSProducerImpl.send(JMSProducerImpl.java:251) at me.yek.weileicrm.activity.impl.EJBTimerExecutor.onTimerOut(EJBTimerExecutor.java:114) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153) at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73) at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52) at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundTimeout(SystemInterceptorProxy.java:145) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746) at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:4051) ... 8 more Caused by: javax.jms.JMSException: MQJMSRA_DS4001: JMSServiceException on send message:sendMessage: Sending message failed. Connection ID: 2366449722241800960 Caused by:com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jms.ra.DirectSession._sendMessage(DirectSession.java:1995) at com.sun.messaging.jms.ra.DirectProducer._send(DirectProducer.java:1138) at com.sun.messaging.jms.ra.DirectProducer.send(DirectProducer.java:394) at com.sun.messaging.jmq.jmsclient.JMSProducerImpl.send(JMSProducerImpl.java:242) ... 39 more Caused by: com.sun.messaging.jmq.jmsservice.JMSServiceException: sendMessage: Sending message failed. Connection ID: 2366449722241800960 Caused by:com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jmq.jmsserver.service.imq.JMSServiceImpl.sendMessage(JMSServiceImpl.java:1848) at com.sun.messaging.jms.ra.DirectSession._sendMessage(DirectSession.java:1990) ... 42 more Caused by: com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jmq.jmsserver.data.handlers.DataHandler.routeMessage(DataHandler.java:511) at com.sun.messaging.jmq.jmsserver.data.protocol.ProtocolImpl.processMessage(ProtocolImpl.java:1130) at com.sun.messaging.jmq.jmsserver.service.imq.JMSServiceImpl.sendMessage(JMSServiceImpl.java:1841) ... 43 more 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 警告: A system exception occurred during an invocation on EJB EJBTimerExecutor, method: public void me.yek.weileicrm.activity.impl.EJBTimerExecutor.onTimerOut(javax.ejb.Timer) throws java.lang.Exception警告: javax.ejb.EJBException at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:752) at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:702) at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044) at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:4080) at com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1199) at com.sun.ejb.containers.EJBTimerService.access$000(EJBTimerService.java:89) at com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:1919) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)Caused by: com.sun.messaging.jms.MQRuntimeException: MQJMSRA_DS4001: JMSServiceException on send message:sendMessage: Sending message failed. Connection ID: 2366449722241800960 Caused by:com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jmq.jmsclient.JMSProducerImpl.send(JMSProducerImpl.java:251) at me.yek.weileicrm.activity.impl.EJBTimerExecutor.onTimerOut(EJBTimerExecutor.java:114) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153) at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786) at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73) at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52) at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163) at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundTimeout(SystemInterceptorProxy.java:145) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883) at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822) at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746) at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:4051) ... 8 moreCaused by: javax.jms.JMSException: MQJMSRA_DS4001: JMSServiceException on send message:sendMessage: Sending message failed. Connection ID: 2366449722241800960 Caused by:com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jms.ra.DirectSession._sendMessage(DirectSession.java:1995) at com.sun.messaging.jms.ra.DirectProducer._send(DirectProducer.java:1138) at com.sun.messaging.jms.ra.DirectProducer.send(DirectProducer.java:394) at com.sun.messaging.jmq.jmsclient.JMSProducerImpl.send(JMSProducerImpl.java:242) ... 39 moreCaused by: com.sun.messaging.jmq.jmsservice.JMSServiceException: sendMessage: Sending message failed. Connection ID: 2366449722241800960 Caused by:com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jmq.jmsserver.service.imq.JMSServiceImpl.sendMessage(JMSServiceImpl.java:1848) at com.sun.messaging.jms.ra.DirectSession._sendMessage(DirectSession.java:1990) ... 42 moreCaused by: com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4403]: Exception on processing produced message PacketReference[1001-192.168.31.232(d9:d:45:3c:42:ee)-1-1449484423189][TID=2366449722241805568, null]: [B4303]: The maximum number of messages [1,000] that the producer can process in a single transaction (TID=2366449722241805568) has been exceeded. Please either limit the # of messages per transaction or increase the imq.transaction.producer.maxNumMsgs property. at com.sun.messaging.jmq.jmsserver.data.handlers.DataHandler.routeMessage(DataHandler.java:511) at com.sun.messaging.jmq.jmsserver.data.protocol.ProtocolImpl.processMessage(ProtocolImpl.java:1130) at com.sun.messaging.jmq.jmsserver.service.imq.JMSServiceImpl.sendMessage(JMSServiceImpl.java:1841) ... 43 more 解决: 增大imq.transaction.producer.maxNumMsgs ,但是该增大到多少? 能否禁止Transaction