[ https://issues.apache.org/jira/browse/JAMES-2295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541374#comment-16541374 ]
ASF GitHub Bot commented on JAMES-2295: --------------------------------------- Github user nstdio commented on a diff in the pull request: https://github.com/apache/james-project/pull/127#discussion_r201968339 --- Diff: server/queue/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java --- @@ -49,7 +49,8 @@ public void setUp(BrokerService broker) throws Exception { RawMailQueueItemDecoratorFactory mailQueueItemDecoratorFactory = new RawMailQueueItemDecoratorFactory(); NoopMetricFactory metricFactory = new NoopMetricFactory(); String queueName = BrokerExtension.generateRandomQueueName(broker); - mailQueue = new JMSMailQueue(connectionFactory, mailQueueItemDecoratorFactory, queueName, metricFactory); + ConsumerOptions consumerOptions = name -> name + "?consumer.prefetchSize=0"; --- End diff -- > I believe we should have a JmsConsumerOptions as well, which would use the knowledge of the prefetch size. So that we can use a builder here. Did you mean the basic key <=> value configuration to witch user can supply anything according his message broker? If yes please describe how we can distinguish were to use that configuration, in which case? `ConsumerOptions#applyForDequeue` states clearly its intentions. > Second, i'm not fan of the generic ConsumerOptions enforcing its use as url parameter. Agree and your note about `String` based API was very precise. `String` based API is too fuzzy to understand, especially when rest of it has kind of strong typing. > ... and should let the queue class configuring the connection. From my point of view our configuration/options should not affect entire connection to the message broker. We should be able to configure queue consumer creation (`ConsumerOptions#applyForDequeue`). > Can I pass consumer options to file implementation? No. File implementation is not capable to support that. > JMS mailqueue deadlock when a single thread issue several consume > ----------------------------------------------------------------- > > Key: JAMES-2295 > URL: https://issues.apache.org/jira/browse/JAMES-2295 > Project: James Server > Issue Type: Bug > Components: Queue > Affects Versions: 3.0.0, master, 3.0.1 > Reporter: Tellier Benoit > Priority: Major > Labels: bug > > This will lead to a dead lock: > {code:java} > MailQueue.MailQueueItem mailQueueItem1 = getMailQueue().deQueue(); > MailQueue.MailQueueItem mailQueueItem2 = getMailQueue().deQueue(); > mailQueueItem1.done(true); > mailQueueItem2.done(true); > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org