[ https://issues.apache.org/jira/browse/CXF-2002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12701469#action_12701469 ]
Freeman Fang commented on CXF-2002: ----------------------------------- And If I use JMS Config like <bean class="org.apache.cxf.transport.jms.JMSConfigFeature"> <property name="jmsConfig"> <bean class="org.apache.cxf.transport.jms.JMSConfiguration"> <property name="connectionFactory"> <ref bean="myConnectionFactory" /> </property> <property name="targetDestination"> <value>dynamicQueues/person.queue</value> </property> <property name="useJms11"> <value>true</value> </property> <property name="timeToLive"> <value>500000</value> </property> <property name="concurrentConsumers"> <value>1</value> </property> <property name="maxConcurrentConsumers"> <value>1</value> </property> <property name="maxSuspendedContinuations"> <value>1</value> </property> <property name="cacheLevel"> <value>2</value> </property> </bean> </property> </bean> then the JMSDestination.activate() won't hang(I needn't change JMSFactory source code in this case), but I will always get errors like ERROR - DefaultMessageListenerContainer - Setup of JMS message listener invoker failed - trying to recover javax.jms.InvalidSelectorException: org.apache.cxf.transports.jms.continuations=too-many at org.apache.activemq.selector.SelectorParser.parse(SelectorParser.java:46) at org.apache.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:199) at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1011) at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:955) at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:868) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:437) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:216) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:297) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:254) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:870) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:810) at org.springframework.core.task.SimpleAsyncTaskExecutor$ConcurrencyThrottlingRunnable.run(SimpleAsyncTaskExecutor.java:192) at java.lang.Thread.run(Thread.java:595) Caused by: org.apache.activemq.selector.TokenMgrError: Lexical error at line 1, column 5. Encountered: "a" (97), after : "." at org.apache.activemq.selector.SelectorParserTokenManager.getNextToken(SelectorParserTokenManager.java:1056) at org.apache.activemq.selector.SelectorParser.jj_ntk(SelectorParser.java:1162) at org.apache.activemq.selector.SelectorParser.multExpr(SelectorParser.java:353) at org.apache.activemq.selector.SelectorParser.addExpression(SelectorParser.java:319) at org.apache.activemq.selector.SelectorParser.comparisonExpression(SelectorParser.java:171) at org.apache.activemq.selector.SelectorParser.equalityExpression(SelectorParser.java:116) at org.apache.activemq.selector.SelectorParser.andExpression(SelectorParser.java:95) at org.apache.activemq.selector.SelectorParser.orExpression(SelectorParser.java:74) at org.apache.activemq.selector.SelectorParser.JmsSelector(SelectorParser.java:66) at org.apache.activemq.selector.SelectorParser.parse(SelectorParser.java:43) ... 12 more when process inbound jms message. Any help is appreciated. Thanks Freeman > Server async jms transport needs dynamic mechanism to throttle message > consumption > ---------------------------------------------------------------------------------- > > Key: CXF-2002 > URL: https://issues.apache.org/jira/browse/CXF-2002 > Project: CXF > Issue Type: Improvement > Components: Transports > Affects Versions: 2.0.9, 2.1.3, 2.0.10 > Reporter: Ron Gavlin > Assignee: Sergey Beryozkin > > Currently, the server-side async jms transport has no mechanism to throttle > consumption of incoming messages. This becomes problematic in scenarios where > a large backlog of messages exists on the input queue. In this case, it is > likely that the cxf server will overload its internal work item queues > resulting in problems. A dynamic throttling mechanism on the async jms server > is required to avoid this problem. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.