What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

bansalp
Hi,

ActiveMQ comes with lots of JAR. I want to know what all jars are included in activemq-all-5.10.0.jar.

What all jars are required/necessary to run an activemq client (producer/consumer)?

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

artnaseef
The first jar to start with for clients is activemq-client.  That may be all you need to directly include when using a maven build as the transient dependencies will automatically be resolved.  With that said, there may be cases in which others are needed.

The list of jars in activemq-all.jar is long; see the pom.xml file for that project for the list: https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob_plain;f=activemq-all/pom.xml;hb=HEAD.
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

bansalp
I have no experience with Maven, but if I setup a maven project and include activemq-client jar then after successful run is there a way to see which all jar have been downloaded by maven ?

Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

Tim Bain
Maven's going to download all the JARs in the POM, so that won't help you.
The only way to do this is to run with only the JARs you're sure you need,
and look for ClassNotFoundExceptions.  If you see any, Google to figure out
which JAR contains that class, and it to your list, and try again till you
no longer see ClassNotFoundExceptions.  (You'll want to make sure you run
for a while and that you make the code do everything it's going to do
before you declare victory; be thorough about this, because you don't want
to hit a ClassNotFoundException in production simply because you didn't
test thoroughly enough.)

Why do you want to do this?  Why don't you want to just use
activemq-all.jar and know you'll be safe?
On Jan 8, 2015 6:32 PM, "bansalp" <[hidden email]> wrote:

> I have no experience with Maven, but if I setup a maven project and include
> activemq-client jar then after successful run is there a way to see which
> all jar have been downloaded by maven ?
>
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/What-all-jars-are-required-to-run-ActiveMQ-client-and-what-all-jars-are-included-in-ActiveMq-all-jar-tp4689651p4689677.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

Tim Bain
Sorry, I misread what Art recommended to you.  Yes, setting up a Maven
project and declaring a dependency on activemq-client.jar should give you
its transitive dependencies.  They'll all be sitting in your output lib
directory.  But once you include them in your project, you'll want to do
what I said and see if anything was missed.  And there might be transitive
dependencies that you aren't actually using (if they support code paths you
don't use) so if you really want only the minimum set, then skip Maven and
use the process I described.

But I still question why you're doing this and whether it's worth your time.
On Jan 9, 2015 7:07 AM, "Tim Bain" <[hidden email]> wrote:

> Maven's going to download all the JARs in the POM, so that won't help
> you.  The only way to do this is to run with only the JARs you're sure you
> need, and look for ClassNotFoundExceptions.  If you see any, Google to
> figure out which JAR contains that class, and it to your list, and try
> again till you no longer see ClassNotFoundExceptions.  (You'll want to make
> sure you run for a while and that you make the code do everything it's
> going to do before you declare victory; be thorough about this, because you
> don't want to hit a ClassNotFoundException in production simply because you
> didn't test thoroughly enough.)
>
> Why do you want to do this?  Why don't you want to just use
> activemq-all.jar and know you'll be safe?
> On Jan 8, 2015 6:32 PM, "bansalp" <[hidden email]> wrote:
>
>> I have no experience with Maven, but if I setup a maven project and
>> include
>> activemq-client jar then after successful run is there a way to see which
>> all jar have been downloaded by maven ?
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://activemq.2283324.n4.nabble.com/What-all-jars-are-required-to-run-ActiveMQ-client-and-what-all-jars-are-included-in-ActiveMq-all-jar-tp4689651p4689677.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

artnaseef
In reply to this post by bansalp
Maven is really going to save you tons of headaches, especially keeping up with jar files and versions... but, it's not absolutely necessary.

Without maven, I would probably consider seriously to use the activemq-all jar, but that comes with caveats (such as possible conflicts in versions of other jars you might also be using).

Once you have a basic maven project setup, use "mvn dependency:list" or "mvn dependency:tree" to see all of the jar files used.  Even better, use "mvn dependency:copy-dependencies" to get all of them copied into the directory, target/dependency.
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

artnaseef
In reply to this post by Tim Bain
Using ClassNotFoundException is one way to track them down, but be aware that some such exceptions may not occur until runtime after running successfully for a long time.  So, it's a risky approach.

Personally, I can't imagine trying to maintain dependencies without Maven, or an equivalent.  I've worked on projects in which jar files were manually saved and moved around - not fun.  Not to mention the high overhead on the SCM tool storing all those jar files, and the slowness it creates whenever checking out the repo.  And, trying to update versions was a nightmare.

With all of that said, the dependency information is in maven and can be extracted from there.

Here's another way to get that info -- using the maven central repo web site:
http://mvnrepository.com/artifact/org.apache.activemq/activemq-client/5.10.0

Just google "maven repository activemq-client" and that comes right up.
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

bansalp
Reason I want is because I want to use only those jars which arre absolutely necessary for clients, like activenq-broker.jar activemq-kahadb.jar and all are not required for clients.

I am able to run both topics and queue consumer producer (with possible combination of durable nondurable persistent non persistent) and everything ran fine. (Virtual topic also ran fine)

I have not tried selector.

Is there any other client side feature I should be testing?

Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

Tim Bain
Do your clients use temporary queues?  Scheduled message delivery?

If not, don't worry about them, but if they do then you probably want to
make sure they work.
On Jan 9, 2015 9:28 PM, "bansalp" <[hidden email]> wrote:

> Reason I want is because I want to use only those jars which arre
> absolutely
> necessary for clients, like activenq-broker.jar activemq-kahadb.jar and all
> are not required for clients.
>
> I am able to run both topics and queue consumer producer (with possible
> combination of durable nondurable persistent non persistent) and everything
> ran fine. (Virtual topic also ran fine)
>
> I have not tried selector.
>
> Is there any other client side feature I should be testing?
>
>
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/What-all-jars-are-required-to-run-ActiveMQ-client-and-what-all-jars-are-included-in-ActiveMq-all-jar-tp4689651p4689750.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

bansalp
I am unable to figure out whether clients need activemq-openwire-legacy jar or not.

Could you please help?
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

tabish121@gmail.com
On 01/19/2015 03:29 AM, bansalp wrote:

> I am unable to figure out whether clients need activemq-openwire-legacy jar
> or not.
>
> Could you please help?
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/What-all-jars-are-required-to-run-ActiveMQ-client-and-what-all-jars-are-included-in-ActiveMq-all-jar-tp4689651p4690096.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Only if you are using newer client's to talk to older versions of the
broker, within the same version range you would not need the legacy
openwire jar.

--
Tim Bish
Sr Software Engineer | RedHat Inc.
[hidden email] | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/

Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

Tim Bain
In reply to this post by bansalp
I believe clients would only need that JAR if they are connecting to a
broker that is an earlier ActiveMQ version than the client, because then
the client will need to use a legacy version of the OpenWire protocol to
talk to that older broker.
On Jan 19, 2015 1:34 AM, "bansalp" <[hidden email]> wrote:

> I am unable to figure out whether clients need activemq-openwire-legacy jar
> or not.
>
> Could you please help?
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/What-all-jars-are-required-to-run-ActiveMQ-client-and-what-all-jars-are-included-in-ActiveMq-all-jar-tp4689651p4690096.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

bansalp
Thanks this solved my problem.
Reply | Threaded
Open this post in threaded view
|

Re: What all jars are required to run ActiveMQ client and what all jars are included in ActiveMq-all jar

bansalp
In reply to this post by tabish121@gmail.com
Thanks this solved my problem.