[
https://jira.jboss.org/jira/browse/JBMESSAGING-1802?page=com.atlassian.ji...
]
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