[
https://issues.redhat.com/browse/JGRP-2480?page=com.atlassian.jira.plugin...
]
Bela Ban updated JGRP-2480:
---------------------------
Description:
Currently, {{ObjectMessage}} accepts only objects of type {{SizeStreamable}} and wraps
everything else into {{ObjectWrapper}} instances.
This means that primitive types (e.g. "{{7}}" or "{{hello world}}")
will be wrapped, too. The disadvantage of {{ObjectWrapper}} is that it performs _eager
marshalling_, creating an (unwanted byte[] array before the message is actually
marshalled. On the receiver side, another byte[] array will be created before the actual
unmarshalling starts.
Solution: accept primitive types (e.g. {{int}}, {{Integer}}, {{String}}, {{AsciiString}},
{{byte[]}} etc) directly, without wrapping them into an {{ObjectWrapper}}.
was:
Currently, {{ObjectMessage}} accepts only objects of type {{SizeStreamable}} and wraps
everything else into {{ObjectWrapper}} instances.
This means that primitive types (e.g. "{{7}}" or "{{hello world}}"
will be wrapped, too. The disadvantage of {{ObjectWrapper}} is that it performs _eager
marshalling_, creating an (unwanted byte[] array before the message is actually
marshalled. On the receiver side, another byte[] array will be created before the actual
unmarshalling starts.
Solution: accept primitive types (e.g. {{int}}, {{Integer}}, {{String}}, {{AsciiString}},
{{byte[]}} etc) directly, without wrapping them into an {{ObjectWrapper}}.
ObjectMessage: better marshalling
---------------------------------
Key: JGRP-2480
URL:
https://issues.redhat.com/browse/JGRP-2480
Project: JGroups
Issue Type: Enhancement
Reporter: Bela Ban
Assignee: Bela Ban
Priority: Major
Fix For: 5.0.0.Beta2
Currently, {{ObjectMessage}} accepts only objects of type {{SizeStreamable}} and wraps
everything else into {{ObjectWrapper}} instances.
This means that primitive types (e.g. "{{7}}" or "{{hello world}}")
will be wrapped, too. The disadvantage of {{ObjectWrapper}} is that it performs _eager
marshalling_, creating an (unwanted byte[] array before the message is actually
marshalled. On the receiver side, another byte[] array will be created before the actual
unmarshalling starts.
Solution: accept primitive types (e.g. {{int}}, {{Integer}}, {{String}}, {{AsciiString}},
{{byte[]}} etc) directly, without wrapping them into an {{ObjectWrapper}}.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)