Deprecated: Function ereg() is deprecated in /var/www/vhosts/javafaq.nu/httpdocs/includes/db/db.php on line 265 Notice: Undefined offset: 8192 in /var/www/vhosts/javafaq.nu/httpdocs/includes/db/db.php on line 265 Deprecated: Function ereg() is deprecated in /var/www/vhosts/javafaq.nu/httpdocs/includes/classes/cpg_debugger.php on line 105 ActiveMQ › Click to download › Updated Info

Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 

ActiveMQ › Click to download › Updated Info




Main Page | Details | Download Now | History | Statistics | Promote | Tell a Friend

Category Communications, networks, Internet
Submitted by
admin
Author's Name Various
Homepage activemq.codehaus.org/
Version 4.0
Published
Tue May 30, 2006 10:26 pm

Description


ActiveMQ is a fast open source JMS 1.1 provider and Message Fabric supporting clustering, peer networks, discovery, TCP, SSL, multicast, persistence, XA and integrates seamlessly into J2EE 1.4 containers, light weight containers and any Java application. ActiveMQ is released under the Apache2.0 License


Features

  • fully supports JMS 1.1 and J2EE 1.4
  • includes JCA 1.5 resource adaptors for inbound & outbound messaging so that ActiveMQ should auto-deploy in any J2EE 1.4 compliant server
  • tested inside Geronimo, Spring and JBoss 4
  • support for transient, persistent, transactional and XA messaging
  • supports pluggable transport protocols such as in-VM, TCP, SSL, NIO, UDP, multicast, JGroups and JXTA transports
  • supports very fast persistence using JDBC along with a high performance journal
  • designed for high performance clustering, client-server, peer based communication
  • REST API to provide technology agnostic and language neutral web based API to messaging
  • Ajax to support web streaming support to web browsers using pure DHTML, allowing web browsers to be part of the messaging fabric
  • Axis Support so that ActiveMQ can be easily dropped into Apache Axis runtimes to provide reliable messaging
  • Spring Support so that ActiveMQ can be easily embedded into Spring applications and configured using Spring's XML configuration mechanism
  • can be used as an in memory JMS provider, ideal for unit testing
  • Stomp support so that clients can be written easily in C, Ruby, Perl, Python, PHP to talk to ActiveMQ
  • Wildcard support to subscribe to powerful destination hierarchies.
  • Composite Destinations support to allow many destinations to be used in one simple atomic JMS operation
  • JSR 77 / 88 support for easy deployment & management & hot deployment
  • provides an implementation of ActiveCluster

Performance differs greatly depending on many different factors

  • the network topology
  • transport protocols used
  • quality of service
  • hardware, network, JVM and operating system

To give you an idea of the kinds of performance you can expect from ActiveMQ we have a bunch of JMeter Performance Tests that you can run on your hardware with the protocols of your choice.

The last test run we ran was on a small network of 2 dual CPU opteron linux boxes (64 bit) running SuSe and with Java 5 from Sun.

When running the server on one box and a producer and consumer VM on the other box, using a single topic we got around 21-22,000 messages/second using 1-2K messages. Another test running the broker on a Intel Celeron CPU 2.40GHz we got 2000 messages/second on a durable queue with 1 producer and 1 consumer. So your milleage may vary greatly on your environment.

Protocol Summary

ProtocolExampleDescriptionServer?
VMvm://host:portClient connect to each other within the same JVM. From 1.1 onwards this does not use an asynchronous channel and a separate worker thread. You can enable async sending using a query parameter, such as
vm://localhost?asyncSend=true
Yes
TCPtcp://host:portClient connects to the broker at the given URLYes
SSLssl://host:portClient connects to the broker at the given URLYes
Listlist:Uri1,Uri2,Uri3,...,UriNProvides a list of possible URIs to connect to and one is randomly chosen. If the connection fails then the JMS connection fails 
Reliablereliable:Uri1,Uri2,Uri3,...,UriNProvides a list of possible URIs to connect to and one is randomly chosen. If the connection fails then the transport auto-reconnects to a different one 
Peerpeer://serviceNameCreates a pure peer to peer network of nodes of a given service name. In peer mode there is no server, nodes just automatically connect and make a peer network. The serviceName allows you to keep networks apart from each other, such as development, testing, UAT and production. 
Discoverydiscovery://host:portUses Discovery to connect to an available broker of the correct channel name. If multiple brokers can be found then one is chosen at random. If the connection fails then another broker is chosen, if available 
Zeroconfzeroconf:_activemq.broker.development.Uses [Zeroconf] to connect to an available broker of the correct Zeroconf service name. If multiple brokers can be found then one is chosen at random. If the connection fails then another broker is chosen, if available 
HTTPhttp://host:portClient connects to the broker using HTTP tunnelling, with XML payloads suitable for going through firewallsYes
UDPudp://host:portClient connects to the broker at the given URL 
multicastmulticast://host:portNo server, though only works for pub/sub. A pure peer based network where all traffic is multicasted around and filtering is performed on the client. 
JGroupsjgroups:configReliable multicast using JGroups. No server, though only works for pub/sub. The value of config can be
jgroups:default
which uses the default JGroups settings, or a full JGroups configuration strings like
jgroups:UDP(mcast_addr=228.10.9.8;mcast_port=5678):PING:FD:GMS
In addition you can specify an XML configuration file to fully configure the JGroups config file via
jgroups:src/config/jgroups.xml
or using a full HTTP URL such as
jgroups:http://www.acme.com/jgroups/default.xml
 
jrms jrms://host:portReliable multicast. No server, though only works for pub/sub 
JXTAjxta://host:portClient connects to server via JXTA protocol 
Rating Not Rated
Votes 0

Popularity 5/5: Very Popular
Downloads 40
Page Views 2074

Download Now!


Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy
includes/db/db.phpincludes/cmsinit.inc