[ https://issues.apache.org/jira/browse/ARTEMIS-3437?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Bertram updated ARTEMIS-3437: ------------------------------------ Description: I’ve a client which sends STOMP messages to a Artemis broker (2.18.0). The server is currently consuming the messages using STOMP as well. I’m not happy with my STOMP library and there are no good alternatives. Therefore, I would like to switch to AMQP for the server. …as far as I understand the client and server can use a different protocol…right? Consuming messages with the new AMQP code works…but after a few messages the broker stops sending new messages to my client. The current implementation consumes one message at a time and sends a accept after each message… In the Artemis Log I can find entry like this when the broker stops sending messages to my AMQP client: {noformat} 2021-08-20 19:40:54,946 DEBUG [org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMessageWrapper] null: java.lang.NumberFormatException: null at java.base/java.lang.Integer.parseInt(Integer.java:614) [java.base:] at java.base/java.lang.Short.parseShort(Short.java:130) [java.base:] at java.base/java.lang.Short.valueOf(Short.java:186) [java.base:] at java.base/java.lang.Short.valueOf(Short.java:212) [java.base:] at org.apache.activemq.artemis.utils.collections.TypedProperties.getShortProperty(TypedProperties.java:257) [artemis-commons-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.core.message.impl.CoreMessage.getShortProperty(CoreMessage.java:1044) [artemis-core-client-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.core.message.impl.CoreMessage.getShortProperty(CoreMessage.java:1049) [artemis-core-client-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMessageWrapper.getOrignalEncoding(CoreMessageWrapper.java:78) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.createAMQPSection(CoreBytesMessageWrapper.java:77) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:108) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:83) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:537) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:136) [artemis-server-2.18.0.jar:2.18.0] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.66.Final.jar:4.1.66.Final] at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.18.0.jar:2.18.0]{noformat} was: I’ve a client which sends STOMP messages to a Artemis broker (2.18.0). The server is currently consuming the messages using STOMP as well. I’m not happy with my STOMP library and there are no good alternatives. Therefore, I would like to switch to AMQP for the server. …as far as I understand the client and server can use a different protocol…right? Consuming messages with the new AMQP code works…but after a few messages the broker stops sending new messages to my client. The current implementation consumes one message at a time and sends a accept after each message… In the Artemis Log I can find entry like this when the broker stops sending messages to my AMQP client: {code:java} 2021-08-20 19:40:54,946 DEBUG [org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMessageWrapper] null: java.lang.NumberFormatException: null at java.base/java.lang.Integer.parseInt(Integer.java:614) [java.base:] at java.base/java.lang.Short.parseShort(Short.java:130) [java.base:] at java.base/java.lang.Short.valueOf(Short.java:186) [java.base:] at java.base/java.lang.Short.valueOf(Short.java:212) [java.base:] at org.apache.activemq.artemis.utils.collections.TypedProperties.getShortProperty(TypedProperties.java:257) [artemis-commons-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.core.message.impl.CoreMessage.getShortProperty(CoreMessage.java:1044) [artemis-core-client-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.core.message.impl.CoreMessage.getShortProperty(CoreMessage.java:1049) [artemis-core-client-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMessageWrapper.getOrignalEncoding(CoreMessageWrapper.java:78) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.createAMQPSection(CoreBytesMessageWrapper.java:77) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:108) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:83) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:537) [artemis-amqp-protocol-2.18.0.jar:2.18.0] at org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:136) [artemis-server-2.18.0.jar:2.18.0] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) [netty-all-4.1.66.Final.jar:4.1.66.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-all-4.1.66.Final.jar:4.1.66.Final] at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.18.0.jar:2.18.0]{code} > java.lang.NumberFormatException STOMP/AMQP interop > -------------------------------------------------- > > Key: ARTEMIS-3437 > URL: https://issues.apache.org/jira/browse/ARTEMIS-3437 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP > Affects Versions: 2.18.0 > Environment: win10 21h1 x64 > jdk-15.0.1 > Artemis 2.18.0 > Reporter: daves > Priority: Major > > I’ve a client which sends STOMP messages to a Artemis broker (2.18.0). > The server is currently consuming the messages using STOMP as well. > I’m not happy with my STOMP library and there are no good alternatives. > Therefore, I would like to switch to AMQP for the server. > …as far as I understand the client and server can use a different > protocol…right? > Consuming messages with the new AMQP code works…but after a few messages the > broker stops sending new messages to my client. The current implementation > consumes one message at a time and sends a accept after each message… > In the Artemis Log I can find entry like this when the broker stops sending > messages to my AMQP client: > > {noformat} > 2021-08-20 19:40:54,946 DEBUG > [org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMessageWrapper] > null: java.lang.NumberFormatException: null > at java.base/java.lang.Integer.parseInt(Integer.java:614) [java.base:] > at java.base/java.lang.Short.parseShort(Short.java:130) [java.base:] > at java.base/java.lang.Short.valueOf(Short.java:186) [java.base:] > at java.base/java.lang.Short.valueOf(Short.java:212) [java.base:] > at > org.apache.activemq.artemis.utils.collections.TypedProperties.getShortProperty(TypedProperties.java:257) > [artemis-commons-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.core.message.impl.CoreMessage.getShortProperty(CoreMessage.java:1044) > [artemis-core-client-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.core.message.impl.CoreMessage.getShortProperty(CoreMessage.java:1049) > [artemis-core-client-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreMessageWrapper.getOrignalEncoding(CoreMessageWrapper.java:78) > [artemis-amqp-protocol-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.protocol.amqp.converter.coreWrapper.CoreBytesMessageWrapper.createAMQPSection(CoreBytesMessageWrapper.java:77) > [artemis-amqp-protocol-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:108) > [artemis-amqp-protocol-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:83) > [artemis-amqp-protocol-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.executeDelivery(ProtonServerSenderContext.java:537) > [artemis-amqp-protocol-2.18.0.jar:2.18.0] > at > org.apache.activemq.artemis.core.server.impl.MessageReferenceImpl.run(MessageReferenceImpl.java:136) > [artemis-server-2.18.0.jar:2.18.0] > at > io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) > [netty-all-4.1.66.Final.jar:4.1.66.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469) > [netty-all-4.1.66.Final.jar:4.1.66.Final] > at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) > [netty-all-4.1.66.Final.jar:4.1.66.Final] > at > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) > [netty-all-4.1.66.Final.jar:4.1.66.Final] > at > io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > [netty-all-4.1.66.Final.jar:4.1.66.Final] > at > org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) > [artemis-commons-2.18.0.jar:2.18.0]{noformat} > -- This message was sent by Atlassian Jira (v8.3.4#803005)