[jboss-jira] [JBoss JIRA] Updated: (JBMESSAGING-1802) Persisting MapMessage with large String value is broken
Justin Bertram (JIRA)
jira-events at lists.jboss.org
Wed Apr 21 22:14:10 EDT 2010
[ https://jira.jboss.org/jira/browse/JBMESSAGING-1802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Bertram updated JBMESSAGING-1802:
----------------------------------------
Steps to Reproduce:
Here's the test-case to reproduce. I ran this against a fresh install of JBoss EAP 5:
import java.util.Properties;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MapMessage;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.naming.InitialContext;
public class MessageSender {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.put("java.naming.provider.url", "127.0.0.1:1099");
props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext initialcontext = new InitialContext(props);
ConnectionFactory connectionFactory = (ConnectionFactory) initialcontext.lookup("ConnectionFactory");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = (Destination) initialcontext.lookup("queue/DLQ");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
StringBuilder x = new StringBuilder();
for (int i = 0; i < Math.pow(2, 16) - 1; i++) {
x.append("x");
}
MapMessage message = session.createMapMessage();
message.setString("x", x.toString());
producer.send(message);
System.out.println("Send succeeded!");
x.append("x"); // string is now 2^16 (65536) characters long
message = session.createMapMessage();
message.setString("x", x.toString());
try {
producer.send(message);
} catch (Exception e) {
System.out.println("Send failed!\n " + e.getCause().getMessage());
//e.printStackTrace();
}
connection.close();
}
}
Description: Sending a javax.jms.MapMessage that has a String value >= 65536 characters fails. (was: Sending a javax.jms.MapMessage that has a String value >= 65536 characters fails. Here's the test-case to reproduce. I ran this against a fresh install of JBoss EAP 5:
import java.util.Properties;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MapMessage;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.naming.InitialContext;
public class MessageSender {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.put("java.naming.provider.url", "127.0.0.1:1099");
props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext initialcontext = new InitialContext(props);
ConnectionFactory connectionFactory = (ConnectionFactory) initialcontext.lookup("ConnectionFactory");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = (Destination) initialcontext.lookup("queue/DLQ");
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
StringBuilder x = new StringBuilder();
for (int i = 0; i < Math.pow(2, 16) - 1; i++) {
x.append("x");
}
MapMessage message = session.createMapMessage();
message.setString("x", x.toString());
producer.send(message);
System.out.println("Send succeeded!");
x.append("x"); // string is now 2^16 (65536) characters long
message = session.createMapMessage();
message.setString("x", x.toString());
try {
producer.send(message);
} catch (Exception e) {
System.out.println("Send failed!\n " + e.getCause().getMessage());
//e.printStackTrace();
}
connection.close();
}
})
> Persisting MapMessage with large String value is broken
> -------------------------------------------------------
>
> Key: JBMESSAGING-1802
> URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1802
> Project: JBoss Messaging
> Issue Type: Bug
> Affects Versions: 1.4.0.SP3.CP10
> Reporter: Justin Bertram
> Assignee: Howard Gao
>
> Sending a javax.jms.MapMessage that has a String value >= 65536 characters fails.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list