You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by abhijith <to...@gmail.com> on 2017/05/08 21:12:06 UTC

Artemis v2.0 JDK8 dependency

Hi,

Is there a hard dependency for Artemis v2.0 to be on Jdk8?  I am trying to
upgrade a client which is built on jdk7, but enforcer plugin is showing
bunch of non-compatibility issues.

[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce) @ my-artemis-client
---
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-jms-client:jar:2.0.0:compile contains
org/apache/activemq/artemis/uri/UDPSchema.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-journal:jar:2.0.0:test contains
org/apache/activemq/artemis/core/io/AbstractSequentialFile$LocalBufferObserver.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-server:jar:2.0.0:test contains
org/apache/activemq/artemis/core/messagecounter/MessageCounter.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-selector:jar:2.0.0:compile contains
org/apache/activemq/artemis/selector/strict/TokenMgrError.class targeted to
JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-dto:jar:2.0.0:test contains
org/apache/activemq/artemis/dto/AppDTO.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-service-extensions:jar:2.0.0:test contains
org/apache/activemq/artemis/service/extensions/ServiceUtils$1.class targeted
to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-jdbc-store:jar:2.0.0:test contains
org/apache/activemq/artemis/jdbc/store/file/JDBCSequentialFile.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-tools:jar:2.0.0:test contains
org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigration.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-commons:jar:2.0.0:compile contains
org/apache/activemq/artemis/core/buffers/impl/ChannelBufferWrapper.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-cli:jar:2.0.0:test contains
org/apache/activemq/artemis/components/ExternalComponent.class targeted to
JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-jms-server:jar:2.0.0:test contains
org/apache/activemq/artemis/jms/bridge/DestinationFactory.class targeted to
JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-native:jar:2.0.0:test contains
org/apache/activemq/artemis/jlibaio/LibaioContext$1.class targeted to JDK
1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-core-client:jar:2.0.0:compile contains
org/apache/activemq/artemis/core/settings/impl/AddressFullMessagePolicy.class
targeted to JDK 1.8



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Justin Bertram <jb...@apache.org>.
> Question: Can I use anycast prefix to still have 'jms.queue' appended?

Yes, I believe that will work.


Justin

----- Original Message -----
From: "abhijith" <to...@gmail.com>
To: users@activemq.apache.org
Sent: Wednesday, May 10, 2017 3:02:56 PM
Subject: Re: Artemis v2.0 JDK8 dependency

Thanks for the clarification.  I will use CLI tool.

Question: Can I use anycast prefix to still have 'jms.queue' appended?  We
have built some conventions around this prefix and checking if we have
change it.  



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725922.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
Thanks for the clarification.  I will use CLI tool.

Question: Can I use anycast prefix to still have 'jms.queue' appended?  We
have built some conventions around this prefix and checking if we have
change it.  



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725922.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Justin Bertram <jb...@apache.org>.
Actually, using <jms> in broker.xml *is* still supported. You just need to add a reference to the artemis-jms.xsd in the "schemaLocation" of your broker.xml.

To be clear, queues and topics defined in <jms> won't be prefixed with "jms.queue." and "jms.topic." respectively.

In general it is recommended that you use the new addressing scheme. As Clebert mentioned, there is a "migrate1x" command on the CLI that can take your 1.x broker.xml and spit out an equivalent 2.x broker.xml.


Justin

----- Original Message -----
From: "abhijith" <to...@gmail.com>
To: users@activemq.apache.org
Sent: Wednesday, May 10, 2017 10:16:34 AM
Subject: Re: Artemis v2.0 JDK8 dependency

Thanks for the clarification.  

Since we are talking about upgrade had one more question.

Is defining JMS queues using <jms> tag in broker.xml not valid anymore in
Artemis v2.0?  I looked at JMS examples and it has been moved to new
<address> model.  But I could still see bunch of references of it under
tests/integration-tests.



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725893.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Clebert Suconic <cl...@gmail.com>.
Pull request ? :)



On Wed, May 10, 2017 at 1:35 PM abhijith <to...@gmail.com> wrote:

> You have downgrade dependencies to be JDK7 compatible.  You could just
> include
> http://www.mojohaus.org/extra-enforcer-rules/enforceBytecodeVersion.html
> and
> it will flag any issues including dependencies.
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725910.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
-- 
Clebert Suconic

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
You have downgrade dependencies to be JDK7 compatible.  You could just
include 
http://www.mojohaus.org/extra-enforcer-rules/enforceBytecodeVersion.html and
it will flag any issues including dependencies.



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725910.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Clebert Suconic <cl...@gmail.com>.
We can probably fix 1.5.x.. I'm not sure about the dependencies.

On Wed, May 10, 2017 at 1:11 PM, abhijith <to...@gmail.com> wrote:
> Another note which is on v1.5.4.  This version also suffers from same
> bytecode compatibility issues.
>
> [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce) @
> credit-artemis-client ---
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-journal:jar:1.5.4:test contains
> org/apache/activemq/artemis/core/io/AbstractSequentialFile$1.class targeted
> to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-core-client:jar:1.5.4:compile contains
> org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-jdbc-store:jar:1.5.4:test contains
> org/apache/activemq/artemis/jdbc/store/drivers/AbstractJDBCDriver$1.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-commons:jar:1.5.4:compile contains
> org/apache/activemq/artemis/api/core/ActiveMQAddressExistsException.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-server:jar:1.5.4:test contains
> org/apache/activemq/artemis/api/core/management/MessageCounterInfo.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-service-extensions:jar:1.5.4:test contains
> org/apache/activemq/artemis/service/extensions/ActiveMQServiceExtensionLogger.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-jms-server:jar:1.5.4:test contains
> org/apache/activemq/artemis/jms/bridge/ActiveMQJMSBridgeLogger.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-native:jar:1.5.4:test contains
> org/apache/activemq/artemis/jlibaio/LibaioContext$1.class targeted to JDK
> 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-cli:jar:1.5.4:test contains
> org/apache/activemq/artemis/cli/Artemis.class targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-dto:jar:1.5.4:test contains
> org/apache/activemq/artemis/dto/AppDTO.class targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-jms-client:jar:1.5.4:compile contains
> org/apache/activemq/artemis/api/jms/ActiveMQJMSClient.class targeted to JDK
> 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-selector:jar:1.5.4:compile contains
> org/apache/activemq/artemis/selector/filter/ArithmeticExpression$1.class
> targeted to JDK 1.8
>
> I think JDK8 dependency should be clarified in documentation.
>
>
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725907.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Clebert Suconic

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
Another note which is on v1.5.4.  This version also suffers from same
bytecode compatibility issues.

[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce) @
credit-artemis-client ---
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-journal:jar:1.5.4:test contains
org/apache/activemq/artemis/core/io/AbstractSequentialFile$1.class targeted
to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-core-client:jar:1.5.4:compile contains
org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-jdbc-store:jar:1.5.4:test contains
org/apache/activemq/artemis/jdbc/store/drivers/AbstractJDBCDriver$1.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-commons:jar:1.5.4:compile contains
org/apache/activemq/artemis/api/core/ActiveMQAddressExistsException.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-server:jar:1.5.4:test contains
org/apache/activemq/artemis/api/core/management/MessageCounterInfo.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-service-extensions:jar:1.5.4:test contains
org/apache/activemq/artemis/service/extensions/ActiveMQServiceExtensionLogger.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-jms-server:jar:1.5.4:test contains
org/apache/activemq/artemis/jms/bridge/ActiveMQJMSBridgeLogger.class
targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-native:jar:1.5.4:test contains
org/apache/activemq/artemis/jlibaio/LibaioContext$1.class targeted to JDK
1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-cli:jar:1.5.4:test contains
org/apache/activemq/artemis/cli/Artemis.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-dto:jar:1.5.4:test contains
org/apache/activemq/artemis/dto/AppDTO.class targeted to JDK 1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-jms-client:jar:1.5.4:compile contains
org/apache/activemq/artemis/api/jms/ActiveMQJMSClient.class targeted to JDK
1.8
[INFO] Restricted to JDK 1.7 yet
org.apache.activemq:artemis-selector:jar:1.5.4:compile contains
org/apache/activemq/artemis/selector/filter/ArithmeticExpression$1.class
targeted to JDK 1.8

I think JDK8 dependency should be clarified in documentation.





--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725907.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
below are the files

➜  activemq-artemis git:(master) grep -rnw . -e "</jms>"
./artemis-cli/src/test/resources/broker-reload.xml:25:   </jms>
./artemis-cli/src/test/resources/broker.xml:25:   </jms>
./artemis-features/src/main/resources/artemis.xml:28:   </jms>
./artemis-junit/src/test/resources/embedded-artemis-jms-only.xml:28:  
</jms>
./artemis-junit/src/test/resources/embedded-artemis-jms-server.xml:39:  
</jms>
./artemis-rest/src/test/resources/broker.xml:23:   </jms>
./artemis-tools/src/test/resources/broker.xml:35:   </jms>
./artemis-tools/src/test/resources/replace/broker.xml:23:   </jms>
./artemis-tools/src/test/resources/replace/broker2.xml:23:   </jms>
./tests/integration-tests/src/test/resources/activemq-jms-for-JMSServerDeployerTest.xml:24:  
</jms>
./tests/integration-tests/src/test/resources/broker-plugins-config.xml:22:  
</jms>
./tests/integration-tests/src/test/resources/reload-test-jms.xml:29:  
</jms>
./tests/integration-tests/src/test/resources/reload-test-updated-jms.xml:31:  
</jms>
./tests/integration-tests/src/test/resources/server-start-stop-config1.xml:22:  
</jms>
./tests/integration-tests/src/test/resources/spring-activemq-config.xml:24:  
</jms>
./tests/jms-tests/src/test/resources/broker.xml:22:   </jms>




--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725905.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Clebert Suconic <cl...@gmail.com>.
On Wed, May 10, 2017 at 11:16 AM, abhijith <to...@gmail.com> wrote:
> Thanks for the clarification.
>
> Since we are talking about upgrade had one more question.
>
> Is defining JMS queues using <jms> tag in broker.xml not valid anymore in
> Artemis v2.0?


Yes.. it's not valid any longer... you may use the import
configuration tool on the CLI.

 I looked at JMS examples and it has been moved to new
> <address> model.  But I could still see bunch of references of it under
> tests/integration-tests.


where? it may have leaked.


>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725893.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Clebert Suconic

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
Thanks for the clarification.  

Since we are talking about upgrade had one more question.

Is defining JMS queues using <jms> tag in broker.xml not valid anymore in
Artemis v2.0?  I looked at JMS examples and it has been moved to new
<address> model.  But I could still see bunch of references of it under
tests/integration-tests.



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725893.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Clebert Suconic <cl...@gmail.com>.
If you don't need AMQP and just JMS I would stick with 1.5.5.


If you need AMQP or other clients beyond Java then get 2.0 and use an 1.5.5
client for what you need.
On Wed, May 10, 2017 at 9:53 AM abhijith <to...@gmail.com> wrote:

> sorry, any suggestion here?
>
>
>
> -
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725888.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
-- 
Clebert Suconic

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
sorry, any suggestion here?



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725888.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by abhijith <to...@gmail.com>.
Thanks for the info.  Our broker itself is running on Jdk8, so that is not a
problem.  

Its the client I am concerned about.  We have a mixture of Jdk7 and jdk8
clients(publishers and consumers).  So, we would like to give them an option
to use either and upgrade to jdk8 at their convenient time.

We do use JAAS module to hook up our custom authentication mechanism.  We
are also using netty connectors both for cluster and also from client to
server.  We are using JMS currently and have no plans to switch to AMQP.

With these constraints, do you guys recommend to upgrade to 2.0 or it is
better to stay in 1.x?



--
View this message in context: http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798p4725816.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: Artemis v2.0 JDK8 dependency

Posted by Clebert Suconic <cl...@gmail.com>.
There are a few lambda uses on Artemis. You can probably bypass them on a
fork and some consulting gig.  Although you could maybe use AMQP client or
openwire client?

I'm not sure about netty. What's the requirement.  I would suggest an older
AMQP or openwire client thought.



On Mon, May 8, 2017 at 5:24 PM abhijith <to...@gmail.com> wrote:

> Hi,
>
> Is there a hard dependency for Artemis v2.0 to be on Jdk8?  I am trying to
> upgrade a client which is built on jdk7, but enforcer plugin is showing
> bunch of non-compatibility issues.
>
> [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce) @
> my-artemis-client
> ---
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-jms-client:jar:2.0.0:compile contains
> org/apache/activemq/artemis/uri/UDPSchema.class targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-journal:jar:2.0.0:test contains
>
> org/apache/activemq/artemis/core/io/AbstractSequentialFile$LocalBufferObserver.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-server:jar:2.0.0:test contains
> org/apache/activemq/artemis/core/messagecounter/MessageCounter.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-selector:jar:2.0.0:compile contains
> org/apache/activemq/artemis/selector/strict/TokenMgrError.class targeted to
> JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-dto:jar:2.0.0:test contains
> org/apache/activemq/artemis/dto/AppDTO.class targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-service-extensions:jar:2.0.0:test contains
> org/apache/activemq/artemis/service/extensions/ServiceUtils$1.class
> targeted
> to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-jdbc-store:jar:2.0.0:test contains
> org/apache/activemq/artemis/jdbc/store/file/JDBCSequentialFile.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-tools:jar:2.0.0:test contains
>
> org/apache/activemq/artemis/tools/migrate/config/XMLConfigurationMigration.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-commons:jar:2.0.0:compile contains
> org/apache/activemq/artemis/core/buffers/impl/ChannelBufferWrapper.class
> targeted to JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-cli:jar:2.0.0:test contains
> org/apache/activemq/artemis/components/ExternalComponent.class targeted to
> JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-jms-server:jar:2.0.0:test contains
> org/apache/activemq/artemis/jms/bridge/DestinationFactory.class targeted to
> JDK 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-native:jar:2.0.0:test contains
> org/apache/activemq/artemis/jlibaio/LibaioContext$1.class targeted to JDK
> 1.8
> [INFO] Restricted to JDK 1.7 yet
> org.apache.activemq:artemis-core-client:jar:2.0.0:compile contains
>
> org/apache/activemq/artemis/core/settings/impl/AddressFullMessagePolicy.class
> targeted to JDK 1.8
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Artemis-v2-0-JDK8-dependency-tp4725798.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
-- 
Clebert Suconic