[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17268617#comment-17268617 ] Richard Zowalla commented on AMQ-7072: -- Up, any chance to get the provider implementation swappable in an upcoming release? > 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 >Affects Versions: 5.16.0 >Reporter: Romain Manni-Bucau >Assignee: Jean-Baptiste Onofré >Priority: Major > Fix For: 5.17.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 (v8.3.4#803005)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17142114#comment-17142114 ] Romain Manni-Bucau commented on AMQ-7072: - Up, any hope to be able to run without jackson in a coming release even if default impl sticks to jackson (or better to jackson as jsonb or AMQJson impl)? > 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.17.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 (v8.3.4#803005)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17760482#comment-17760482 ] Matt Pavlovich commented on AMQ-7072: - activemq-partition and activemq-store-leveldb have been removed. The only place JSON is used is in the DestinationsViewFilter. I think we should localize the JSON to a AMQJson to be explicit for the filter request being read and model being generated out. This would allow us to drop Jackson and not require JSON-B at all > 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 >Affects Versions: 5.16.0 >Reporter: Romain Manni-Bucau >Assignee: Jean-Baptiste Onofré >Priority: Major > Fix For: 5.19.0 > > Time Spent: 1h 20m > Remaining Estimate: 0h > > 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 (v8.20.10#820010)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649115#comment-16649115 ] ASF GitHub Bot commented on AMQ-7072: - GitHub user rmannibucau opened a pull request: https://github.com/apache/activemq/pull/308 [AMQ-7072] moving to JSON-B API instead of jackson Goal is to let users switch the impl on need + using johnzon as default Issue was identified on TomEE where jackson is not desired in the distribution cause there is already johnzon and some You can merge this pull request into a Git repository by running: $ git pull https://github.com/rmannibucau/activemq AMQ-7072_jsonb-instead-of-jackson Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq/pull/308.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #308 commit dabdf20b29567cb27505b15ad7c3d105ec8f2063 Author: Romain Manni-Bucau Date: 2018-10-13T20:40:06Z AMQ-7072 moving to JSON-B API instead of jackson to let users switch the impl on need + using johnzon as default > 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 > > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650030#comment-16650030 ] Christopher L. Shannon commented on AMQ-7072: - This gets a -1 from me as I don't think we should be changing the default serializer based on 1 use case when it has been used for years by many people. Furthermore even if JSON-B were to be used then I would still want to make Jackson the default and as far as I can tell there isn't a finished implementation yet. https://github.com/FasterXML/jackson-future-ideas/issues/19 > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650139#comment-16650139 ] Romain Manni-Bucau commented on AMQ-7072: - [~cshannon] it is not only a single use case actually but N > 1 since you can have it as a user too. High level the goal is to reduce the implementation surfacing ActiveMQ and just relies on portable API. https://mvnrepository.com/artifact/io.devcon5/jackson-jsonb-provider/1.1 is usable for jackson. In terms of default impl, aligning our stack on an apache one is likely saner than relying on external vendors (for our own ecosystem) - "eat your own dogfood" ;). > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650175#comment-16650175 ] Christopher L. Shannon commented on AMQ-7072: - I don't see any reason we need to change the default from Jackson. There is no reason we can't use an external vendor. If the entire purpose is to make this portable and use JSON-B then we should keep Jackson as the default and allow someone to switch it out if they want. Jackson has been used for many years and is one of the most popular JSON serializers (most people use it as the default) so I'm not in favor of changing the default at all. > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650273#comment-16650273 ] Romain Manni-Bucau commented on AMQ-7072: - [~cshannon] well JSON-B was not there years ago or java 8 base was not in AMQ project, now it is the case AMQ should pay its debt and move forward, this is what this ticket is about > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650290#comment-16650290 ] Christopher L. Shannon commented on AMQ-7072: - i didn't say we couldn't use JSON-B, that part is fine if we want to move towards that API for the next major release. My objection is to replacing the default implementation and dropping Jackson which has been used for many years, plus it is probably one of the most popular libraries out there (if not the most popular). If we use JSON-B then you can simply replace the implementation for your use case and not make everyone else have to change their setup as the vast majority of users are probably just happy with Jackson considering there have been no complaints until now. > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650313#comment-16650313 ] Timothy Bish commented on AMQ-7072: --- Agree with [~cshannon] on this, the default ought to remain as it is now Jackson. We could make the provider implementation swappable on master for a future 5.16.0 release, that makes sense. We shouldn't be changing out things like this on the patch branch though. > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650335#comment-16650335 ] Romain Manni-Bucau commented on AMQ-7072: - Hmm, I don't get the rational here, if you review the adherence it is only about "ignore unknown properties" and "rename this field as xxx" so the switch is safe. Do you expect any internals dependency? > 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ 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)
[jira] [Commented] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch
[ https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650494#comment-16650494 ] Daniel Kulp commented on AMQ-7072: -- For the record, I'm OK with moving to JSON-B (for 5.16, not 5.15), but I'm also against moving from Jackson to Johnson. > 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)