Galder Zamarreño created ISPN-4378:
--------------------------------------
Summary: Inject marshaller into binary filter/converter instances
Key: ISPN-4378
URL:
https://issues.jboss.org/browse/ISPN-4378
Project: Infinispan
Issue Type: Enhancement
Reporter: Galder Zamarreño
Assignee: Galder Zamarreño
Fix For: 7.0.0.Beta1
The Hot Rod server configuration now has a marshaller configured which is used to enable
typed filter/converter parameter handling, and in order to enable typed filter/converter
callbacks.
Note that this is separate from the cache marshaller, and separate from the compatibility
marshaller, both of which, have different objectives. For example, you don't want to
force compatibility to be enabled to be able to have typed converter/filters. This type
conversion has been implementing using BinaryFilter/BinaryConverter classes which
unmarshall the key/values and pass them to the filter/converter instances that the user
has configured.
There's a problem with this when running in a cluster. Part of the cluster listener
logic involves serializing these filter/converter instances and sending them to other
nodes. However, these Binary* classes require the marshaller to do their job, which is not
serializable.
However, the marshaller could be plugged to the Binary* classes if there was some kind of
callback or something in each node that gets these classes replicated to, and it can
initialise it properly.
Will has done some work with Adrian to make filter/converters cache components and be able
to inject stuff in them. Check if that would work for this use case.
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)