[jira] [Commented] (AMQ-7309) Add JMS 2.0 support

2021-05-19 Thread Romain Manni-Bucau (Jira)


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

Romain Manni-Bucau commented on AMQ-7309:
-

Up, can tomee be imported, think minimum delivery is to provide JMScontext 
feature which covers JMS 2 API. Then adding a shade to have jakarta classified 
(as maven classifier) artifact is another trivial action to do to be jakarta 
friendly then I guess AMQ 5 can finally be JMS 2 friendly enough for all users 
so:

1. import tomee code to have a JMS2 API compliance

2. provide jakarta artifact (likely with some bom for consumers)

 

and done

 

AMQ6 is not a replacement of AMQ5 and both have pros and cons so I guess AMQ5 
JMS2 support is a must have for next release. Can it happen since most of the 
work is actually done, just have to be imported?

> Add JMS 2.0 support
> ---
>
> Key: AMQ-7309
> URL: https://issues.apache.org/jira/browse/AMQ-7309
> Project: ActiveMQ
>  Issue Type: New Feature
>  Components: Broker, JMS client
>Reporter: Jean-Baptiste Onofré
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.17.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AMQ-7309) Add JMS 2.0 support

2021-05-20 Thread Romain Manni-Bucau (Jira)


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

Romain Manni-Bucau commented on AMQ-7309:
-

[~cshannon] it is more than fine to fully implement all JMS 2 method too and 
happy if you take the lead on that but the effort of this ticket was only to 
provide the JMSContext convenient methods to users for ActiveMQ 5 and not force 
users to use yet another broker (which is not an option in prod). The TomEE 
option works generally more than enough and relies on 1.1 method so guess for 
next minor it is the option to take which will provide 1.1 compat and some 2.0 
capabilities. Don't get me wrong, I'm happy to get more but if you -1 you must 
also provide a solution to users and not just say "" 
;). Since there is an agreement on the community about having this I think it 
is the way to go until you agree to go with the full JMS 2 impl which is your 
proposal if I read it right?

> Add JMS 2.0 support
> ---
>
> Key: AMQ-7309
> URL: https://issues.apache.org/jira/browse/AMQ-7309
> Project: ActiveMQ
>  Issue Type: New Feature
>  Components: Broker, JMS client
>Reporter: Jean-Baptiste Onofré
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.17.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AMQ-7309) Add JMS 2.0 support

2021-05-20 Thread Romain Manni-Bucau (Jira)


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

Romain Manni-Bucau commented on AMQ-7309:
-

[~cshannon] still means you can implement 90% of what is used from JMS 2 in AMQ 
5 and catch up after. Also keep in mind the thread you mention is a new one 
where some people try to prevent it from happening but there are multiple 
thread from the last *6* years agreeing on doing it, just do a quick search 
over the apache discussion channel (including the list indeed) so, yes there is 
an agreement no new relevant point make AMQ5 moving to JMS 2 can prevent. You 
want to do it by step, we can, but until you have a reason to block AMQ5 dev I 
guess it has to move foward.

> Add JMS 2.0 support
> ---
>
> Key: AMQ-7309
> URL: https://issues.apache.org/jira/browse/AMQ-7309
> Project: ActiveMQ
>  Issue Type: New Feature
>  Components: Broker, JMS client
>Reporter: Jean-Baptiste Onofré
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.17.0
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (AMQ-7309) Add JMS 2.0 support

2020-06-07 Thread Romain Manni-Bucau (Jira)


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

Romain Manni-Bucau commented on AMQ-7309:
-

Up, any news about that? investment for a minimal viable impl is quite low 
(tomee impl was less than 2 days AFAIK and is fully "importable" with very few 
tweaks - like the txmgr config which is different). For instance Payara also 
supports JMS 2 on top of AMQ 
([https://blog.payara.fish/connect-payara-micro-to-external-jms-broker]) so it 
can be finally time to make it available for all users and not just some app 
server ones, in particular with the number of brokers out there with some AMQ 
specific wire formats.

> Add JMS 2.0 support
> ---
>
> Key: AMQ-7309
> URL: https://issues.apache.org/jira/browse/AMQ-7309
> Project: ActiveMQ
>  Issue Type: New Feature
>  Components: Broker, JMS client
>Reporter: Jean-Baptiste Onofré
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.17.0
>
>




--
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

2020-06-22 Thread Romain Manni-Bucau (Jira)


[ 
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] [Created] (AMQ-6051) ActiveMQConnection leaking thread when resources are not well closed

2015-11-18 Thread Romain Manni-Bucau (JIRA)
Romain Manni-Bucau created AMQ-6051:
---

 Summary: ActiveMQConnection leaking thread when resources are not 
well closed
 Key: AMQ-6051
 URL: https://issues.apache.org/jira/browse/AMQ-6051
 Project: ActiveMQ
  Issue Type: Bug
Affects Versions: 5.12.0
Reporter: Romain Manni-Bucau


ActiveMQConnection starts a session task thread but doesnt close it if close() 
is called and the broker doesnt respond

{code}
try {
if (isConnectionInfoSentToBroker) {
// If we announced ourselves to the broker.. Try to 
let the broker
// know that the connection is being shutdown.
RemoveInfo removeCommand = 
info.createRemoveCommand();

removeCommand.setLastDeliveredSequenceId(lastDeliveredSequenceId);
try {
doSyncSendPacket(removeCommand, closeTimeout);
} catch (JMSException e) {
if (e.getCause() instanceof 
RequestTimedOutIOException) {
// expected
} else {
throw e;
}
}
doAsyncSendPacket(new ShutdownInfo());
}
} finally {
// ensure we clean up this connection anyway even if 
previous send fail
// which can happen if we lost the connection with the 
broker

started.set(false);

// TODO if we move the TaskRunnerFactory to the 
connection
// factory
// then we may need to call
// factory.onConnectionClose(this);
if (sessionTaskRunner != null) {
sessionTaskRunner.shutdown();
}
closed.set(true);
closing.set(false);
}
{code}

solves it

tested on 5.12.0 but 5.12.x has the same code so I guess it has the same issue



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (AMQ-6051) ActiveMQConnection leaking thread when resources are not well closed

2015-11-18 Thread Romain Manni-Bucau (JIRA)

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

Romain Manni-Bucau commented on AMQ-6051:
-

created https://github.com/apache/activemq/pull/157

> ActiveMQConnection leaking thread when resources are not well closed
> 
>
> Key: AMQ-6051
> URL: https://issues.apache.org/jira/browse/AMQ-6051
> Project: ActiveMQ
>  Issue Type: Bug
>Affects Versions: 5.12.0
>Reporter: Romain Manni-Bucau
>
> ActiveMQConnection starts a session task thread but doesnt close it if 
> close() is called and the broker doesnt respond
> {code}
> try {
> if (isConnectionInfoSentToBroker) {
> // If we announced ourselves to the broker.. Try 
> to let the broker
> // know that the connection is being shutdown.
> RemoveInfo removeCommand = 
> info.createRemoveCommand();
> 
> removeCommand.setLastDeliveredSequenceId(lastDeliveredSequenceId);
> try {
> doSyncSendPacket(removeCommand, closeTimeout);
> } catch (JMSException e) {
> if (e.getCause() instanceof 
> RequestTimedOutIOException) {
> // expected
> } else {
> throw e;
> }
> }
> doAsyncSendPacket(new ShutdownInfo());
> }
> } finally {
> // ensure we clean up this connection anyway even if 
> previous send fail
> // which can happen if we lost the connection with 
> the broker
> started.set(false);
> // TODO if we move the TaskRunnerFactory to the 
> connection
> // factory
> // then we may need to call
> // factory.onConnectionClose(this);
> if (sessionTaskRunner != null) {
> sessionTaskRunner.shutdown();
> }
> closed.set(true);
> closing.set(false);
> }
> {code}
> solves it
> tested on 5.12.0 but 5.12.x has the same code so I guess it has the same issue



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (ARTEMIS-1020) org.apache.artemis.client.cdi.extension.ArtemisExtension doesnt discover configurations

2017-03-05 Thread Romain Manni-Bucau (JIRA)
Romain Manni-Bucau created ARTEMIS-1020:
---

 Summary: org.apache.artemis.client.cdi.extension.ArtemisExtension 
doesnt discover configurations
 Key: ARTEMIS-1020
 URL: https://issues.apache.org/jira/browse/ARTEMIS-1020
 Project: ActiveMQ Artemis
  Issue Type: Bug
Affects Versions: 1.5.3
Reporter: Romain Manni-Bucau


Using producers on openwebbeans client or server configurations are not found 
and it leads to an ambiguous resolution. I think ProcessBean should be observed 
instead of ProcessAnnotatedType to capture the actual beans since the PAT event 
doesnt guarantee the bean will be at runtime.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (ARTEMIS-1020) org.apache.artemis.client.cdi.extension.ArtemisExtension doesnt discover configurations

2017-03-06 Thread Romain Manni-Bucau (JIRA)

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

Romain Manni-Bucau commented on ARTEMIS-1020:
-

have a producer method in my test but same applies to plain beans or producer 
fields since they can be vetoed.

> org.apache.artemis.client.cdi.extension.ArtemisExtension doesnt discover 
> configurations
> ---
>
> Key: ARTEMIS-1020
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1020
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 1.5.3
>Reporter: Romain Manni-Bucau
>Assignee: John D. Ament
>
> Using producers on openwebbeans client or server configurations are not found 
> and it leads to an ambiguous resolution. I think ProcessBean should be 
> observed instead of ProcessAnnotatedType to capture the actual beans since 
> the PAT event doesnt guarantee the bean will be at runtime.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (ARTEMIS-1070) provide some transaction manager locator OOTB

2017-03-24 Thread Romain Manni-Bucau (JIRA)
Romain Manni-Bucau created ARTEMIS-1070:
---

 Summary: provide some transaction manager locator OOTB
 Key: ARTEMIS-1070
 URL: https://issues.apache.org/jira/browse/ARTEMIS-1070
 Project: ActiveMQ Artemis
  Issue Type: Improvement
Affects Versions: 2.0.0
Reporter: Romain Manni-Bucau


If you want to use a tx mgr with artemis you need to write a locator for it. 
Would be great to support it OOTB for well known server.

For openejb it looks like

{code}
import 
org.apache.activemq.artemis.service.extensions.transactions.TransactionManagerLocator;
import org.apache.openejb.OpenEJB;

import javax.transaction.TransactionManager;

public class OpenEJBTransactionManagerLocator implements 
TransactionManagerLocator {
@Override
public TransactionManager getTransactionManager() {
return OpenEJB.getTransactionManager();
}
}
{code}

But it is also accessible through JNDI which would fit ost of servers.

OpenJPA has a good class to lookup the transaction manager (see 
https://github.com/apache/openjpa/blob/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ee/AutomaticManagedRuntime.java#L55)
 maybe it can be used as a starting point to get impl automatic and just a flag 
to activate the tx mgr usage or not.

wdyt?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (ARTEMIS-1070) provide some transaction manager locator OOTB

2017-03-26 Thread Romain Manni-Bucau (JIRA)

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

Romain Manni-Bucau commented on ARTEMIS-1070:
-

I have just deployed the ra in tomee - have a blog post scheduled for tomorrow 
about it. Will be on IRC also if easier in ~8h.

> provide some transaction manager locator OOTB
> -
>
> Key: ARTEMIS-1070
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1070
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Affects Versions: 2.0.0
>Reporter: Romain Manni-Bucau
>
> If you want to use a tx mgr with artemis you need to write a locator for it. 
> Would be great to support it OOTB for well known server.
> For openejb it looks like
> {code}
> import 
> org.apache.activemq.artemis.service.extensions.transactions.TransactionManagerLocator;
> import org.apache.openejb.OpenEJB;
> import javax.transaction.TransactionManager;
> public class OpenEJBTransactionManagerLocator implements 
> TransactionManagerLocator {
> @Override
> public TransactionManager getTransactionManager() {
> return OpenEJB.getTransactionManager();
> }
> }
> {code}
> But it is also accessible through JNDI which would fit ost of servers.
> OpenJPA has a good class to lookup the transaction manager (see 
> https://github.com/apache/openjpa/blob/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ee/AutomaticManagedRuntime.java#L55)
>  maybe it can be used as a starting point to get impl automatic and just a 
> flag to activate the tx mgr usage or not.
> wdyt?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (ARTEMIS-1070) provide some transaction manager locator OOTB

2017-03-28 Thread Romain Manni-Bucau (JIRA)

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

Romain Manni-Bucau commented on ARTEMIS-1070:
-

will be https://blog-rmannibucau.rhcloud.com/#/post/apache-tomee-artemis in a 
couple of hours, Summary is 
https://gist.github.com/rmannibucau/3e8daa87c9d6be606c492d4a136b443e

> provide some transaction manager locator OOTB
> -
>
> Key: ARTEMIS-1070
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1070
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Affects Versions: 2.0.0
>Reporter: Romain Manni-Bucau
>
> If you want to use a tx mgr with artemis you need to write a locator for it. 
> Would be great to support it OOTB for well known server.
> For openejb it looks like
> {code}
> import 
> org.apache.activemq.artemis.service.extensions.transactions.TransactionManagerLocator;
> import org.apache.openejb.OpenEJB;
> import javax.transaction.TransactionManager;
> public class OpenEJBTransactionManagerLocator implements 
> TransactionManagerLocator {
> @Override
> public TransactionManager getTransactionManager() {
> return OpenEJB.getTransactionManager();
> }
> }
> {code}
> But it is also accessible through JNDI which would fit ost of servers.
> OpenJPA has a good class to lookup the transaction manager (see 
> https://github.com/apache/openjpa/blob/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ee/AutomaticManagedRuntime.java#L55)
>  maybe it can be used as a starting point to get impl automatic and just a 
> flag to activate the tx mgr usage or not.
> wdyt?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B and import jackson in its distribution as an impl

2018-10-13 Thread Romain Manni-Bucau (JIRA)
Romain Manni-Bucau created AMQ-7072:
---

 Summary: ActiveMQ shouldn't import jackson but use JSON-B and 
import jackson in its distribution as an impl 
 Key: AMQ-7072
 URL: https://issues.apache.org/jira/browse/AMQ-7072
 Project: ActiveMQ
  Issue Type: Improvement
Reporter: Romain Manni-Bucau


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] [Updated] (AMQ-7072) ActiveMQ shouldn't import jackson but use JSON-B instead of jackson to support impl switch

2018-10-13 Thread Romain Manni-Bucau (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Romain Manni-Bucau updated AMQ-7072:

Summary: ActiveMQ shouldn't import jackson but use JSON-B instead of 
jackson to support impl switch  (was: ActiveMQ shouldn't import jackson but use 
JSON-B and import jackson in its distribution as an 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
>
> 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

2018-10-15 Thread Romain Manni-Bucau (JIRA)


[ 
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

2018-10-15 Thread Romain Manni-Bucau (JIRA)


[ 
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

2018-10-15 Thread Romain Manni-Bucau (JIRA)


[ 
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

2018-10-15 Thread Romain Manni-Bucau (JIRA)


[ 
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)