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

Romain Manni-Bucau commented on AMQ-7072:
-----------------------------------------

[~cshannon] the point is not about aligning the impl on tomee but more about 
using apache impl instead of jackson which was pretty alone when imported in 
AMQ. This is why it is johnzon and not yasson typically. On the "users might 
then be using Jackson for other Json serialization that is pulled in by 
ActiveMQ through maven" which is a correct point you can also notice that this 
is not intended and not an API exposed by API but it is *leaked* by AMQ so all 
good to not pull it anymore. If a user relies on jackson in its app he should 
have added it directly in its pom and not rely on transitive deps which is a 
very bad practise - several validation maven plugins fail the build on such 
practises.

> 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