[
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-851?pag...
]
Emmanuel Bernard commented on HSEARCH-851:
------------------------------------------
There are unforeseen consequences to making Avro an optional dependency.
By doing that, I must make the SerializerProvider build process lazy or tolerant at
Runtime if Avro is not here.
The problem with this approach is that if a user forgets to add Avro as a dependency, his
system will fail the first time a message ought to be (de)serialized *at runtime* as
opposed to fail at configuration time.
I was thinking of asking the backend if it needs a SerializationProvider and behave
accordingly but it's not enough. On the receiving end, ie JMS or JGroups master, we do
retrieve the index manager from the message (based on the index name) and then find the
appropriate SerializationProvider. In this case the underlying backend does not need a
SerializationProvider. It forces us to introduce an explicit flag to be set y the user to
know whether or not the SerializationProvider is required
hibernate.search.indexname.serializer required
I find that quite error prone and am inclined to think that leaving Avro a required
dependency is the less of two evils.
What do you think?
do you have an alternative approach that would work around the problem?
Make Avro an optional dependency but add dependency list in
documentation for JMS and JGroups backends
------------------------------------------------------------------------------------------------------
Key: HSEARCH-851
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-851
Project: Hibernate Search
Issue Type: Improvement
Components: build, documentation
Reporter: Emmanuel Bernard
Assignee: Emmanuel Bernard
Fix For: 4.0
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira