[ 
https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650358#comment-16650358
 ] 

Christopher L. Shannon commented on AMQ-7072:
---------------------------------------------

I don't get the rational for changing the default Json serializer.  Changing 
the Json implementation just because another product(TomEE) uses a different 
implementation is not a good reason.  I see no valid reason to not stick with 
Jackson which works very well and is very fast. 

One issue is there are transitive dependencies on Jackson if someone runs an 
embedded broker.  So people that are current users might then be using Jackson 
for other Json serialization that is pulled in by ActiveMQ through maven.  
Making this change would require those existing users to have to now add a 
dependency on Jackson for themselves. While this is possible of course I don't 
see why we should make all the existing users that might be relying on Jackson 
have to go change their configuration just because TomEE doesn't allow jackson 
without a good reason to do so.


> ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to 
> support impl switch
> ------------------------------------------------------------------------------------------
>
>                 Key: AMQ-7072
>                 URL: https://issues.apache.org/jira/browse/AMQ-7072
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Romain Manni-Bucau
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: 5.16.0
>
>
> The regression we hit at the moment is that activemq enforces TomEE to import 
> jackson whereas it wants to keep johnzon as JSON mapper impl. Since JSON-B 
> spec is out and implemented by both I guess it can be the way to solve that 
> issue.
> The most blocking thing is 
> ./activemq-broker/src/main/java/org/apache/activemq/broker/jmx/DestinationsViewFilter.java
>  - which can already not create a mapper if json is empty ;) - but here is 
> the list of code location which would be neat to fix:
> {code}
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.annotation.JsonInclude;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.databind.DeserializationFeature;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.databind.ObjectMapper;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.databind.DeserializationConfig;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.databind.SerializationFeature;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.databind.annotation.JsonDeserialize;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.databind.annotation.JsonSerialize;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Partitioning.java:import
>  com.fasterxml.jackson.annotation.JsonProperty;
> ./activemq-partition/src/main/java/org/apache/activemq/partition/dto/Target.java:import
>  com.fasterxml.jackson.annotation.JsonProperty;
> ./activemq-broker/src/main/java/org/apache/activemq/broker/jmx/DestinationsViewFilter.java:import
>  com.fasterxml.jackson.databind.ObjectMapper;
> ./activemq-leveldb-store/src/main/java/org/apache/activemq/leveldb/replicated/dto/LogWrite.java:import
>  com.fasterxml.jackson.annotation.JsonIgnoreProperties;
> ./activemq-leveldb-store/src/main/java/org/apache/activemq/leveldb/replicated/dto/WalAck.java:import
>  com.fasterxml.jackson.annotation.JsonIgnoreProperties;
> ./activemq-leveldb-store/src/main/java/org/apache/activemq/leveldb/replicated/dto/LogDelete.java:import
>  com.fasterxml.jackson.annotation.JsonIgnoreProperties;
> ./activemq-leveldb-store/src/main/java/org/apache/activemq/leveldb/replicated/dto/Transfer.java:import
>  com.fasterxml.jackson.annotation.JsonIgnoreProperties;
> ./activemq-leveldb-store/src/main/java/org/apache/activemq/leveldb/replicated/dto/Login.java:import
>  com.fasterxml.jackson.annotation.JsonIgnoreProperties;
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to