You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by js...@apache.org on 2006/07/06 18:04:46 UTC
svn commit: r419595 - in /incubator/activemq/site: activemq-cpp-client.html
c-integration.html connectivity.html
Author: jstrachan
Date: Thu Jul 6 09:04:45 2006
New Revision: 419595
URL: http://svn.apache.org/viewvc?rev=419595&view=rev
Log:
Latest export from confluence
Added:
incubator/activemq/site/activemq-cpp-client.html
Modified:
incubator/activemq/site/c-integration.html
incubator/activemq/site/connectivity.html
Added: incubator/activemq/site/activemq-cpp-client.html
URL: http://svn.apache.org/viewvc/incubator/activemq/site/activemq-cpp-client.html?rev=419595&view=auto
==============================================================================
--- incubator/activemq/site/activemq-cpp-client.html (added)
+++ incubator/activemq/site/activemq-cpp-client.html Thu Jul 6 09:04:45 2006
@@ -0,0 +1,517 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+<!--
+ Pier's plugin always overwrites the stylesheet so lets explicitly use another one
+ <link type="text/css" rel="stylesheet" href="autoexport:///ACTIVEMQ/resources/space.css">
+-->
+ <LINK type="text/css" rel="stylesheet" href="resources/site.css">
+ <SCRIPT src="resources/space.js" type="text/javascript"></SCRIPT>
+ <TITLE>
+ActiveMQ CPP Client
+ </TITLE>
+ <META http-equiv="Content-Type" content="text/html;charset=UTF-8"></HEAD>
+ <BODY onload="init()">
+
+ <!-- Banner -->
+ <DIV id="site-banner">
+
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+ <TR>
+ <TD align="left" class="topbardiv" nowrap="">
+ <IMG border="0" src="http://incubator.apache.org/activemq/images/logo.gif">
+ </TD>
+ <TD align="right" nowrap="">
+ <IMG border="0" src="http://incubator.apache.org/images/apache-incubator-logo.png">
+ </TD>
+ </TR>
+ </TABLE>
+
+ </DIV>
+
+ <!-- Bread crumbs and Quick Links -->
+ <DIV id="site-navbar">
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
+ <TR>
+ <TD align="left" valign="middle" nowrap="">
+ <DIV id="site-breadcrumbs">
+<A href="home.html" title="ActiveMQ">ActiveMQ</A> > <A href="home.html" title="Home">Home</A> > <A href="connectivity.html" title="Connectivity">Connectivity</A> > <A href="c-integration.html" title="C Integration">C Integration</A> > <A href="" title="ActiveMQ CPP Client">ActiveMQ CPP Client</A>
+ </DIV>
+ </TD>
+ <TD align="right" valign="middle" nowrap="">
+ <DIV id="site-quicklinks">
+<P><A href="download.html" title="Download">Download</A> | <SPAN class="nobr"><A href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/" title="Visit page outside Confluence" rel="nofollow">JavaDocs<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN> <A href="javadocs.html" title="JavaDocs">More...</A> | <A href="source.html" title="Source">Source</A> | <A href="site.html" title="Site">Wiki</A> |<SPAN class="nobr"><A href="irc://irc.codehaus.org/activemq" title="Visit page outside Confluence" rel="nofollow">IRC<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN> | <SPAN class="nobr"><A href="http://servlet.uwyn.com/drone/log/hausbot/activemq" title="Visit page outside Confluence" rel="nofollow">IRC Log<SUP><IMG cl
ass="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN> | <A href="mailing-lists.html" title="Mailing Lists">Mailing Lists</A> | <A href="discussion-forums.html" title="Discussion Forums">Discussion Forums</A> | <A href="support.html" title="Support">Support</A></P>
+ </DIV>
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+
+<!-- Integrate google search later.
+ <form name="search" action="http://www.google.com/search" method="get">
+ <input type="hidden" name="ie" value="UTF- 8" />
+ <input type="hidden" name="oe" value="UTF- 8" />
+ <input type="hidden" name="domains" value="" />
+ <input type="hidden" name="sitesearch" value="" />
+ <input type="text" name="q" maxlength="255" value="" />
+ <input type="submit" name="btnG" value="Google Search" />
+ </form>
+-->
+
+ <DIV id="site-content">
+ <TABLE>
+ <TR>
+ <TD valign="top">
+ <DIV id="site-navigation">
+<H3><A name="Navigation-Overview"></A><A href="overview.html" title="Overview">Overview</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="home.html" title="Home">Home</A></LI>
+ <LI><A href="news.html" title="News">News</A></LI>
+ <LI><A href="new-features.html" title="New Features">New Features</A></LI>
+ <LI><A href="faq.html" title="FAQ">FAQ</A></LI>
+ <LI><A href="site.html" title="Site">Site</A></LI>
+ <LI><A href="articles.html" title="Articles">Articles</A></LI>
+ <LI><A href="download.html" title="Download">Download</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Community"></A><A href="community.html" title="Community">Community</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="support.html" title="Support">Support</A></LI>
+ <LI><A href="discussion-forums.html" title="Discussion Forums">Discussion Forums</A></LI>
+ <LI><A href="mailing-lists.html" title="Mailing Lists">Mailing Lists</A></LI>
+ <LI><SPAN class="nobr"><A href="http://gmane.org/find.php?list=activemq" title="Visit page outside Confluence" rel="nofollow">News Reader<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="navigation.html" title="Visit page outside Confluence" rel="nofollow">Wiki<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><A href="projects-using-activemq.html" title="Projects Using ActiveMQ">Projects Using ActiveMQ</A></LI>
+ <LI><A href="users.html" title="Users">Users</A></LI>
+ <LI><A href="contributing.html" title="Contributing">Contributing</A></LI>
+ <LI><A href="team.html" title="Team">Team</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Support"></A><A href="support.html" title="Support">Support</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><SPAN class="nobr"><A href="http://issues.apache.org/activemq/browse/AMQ" title="Visit page outside Confluence" rel="nofollow">Issues<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://issues.apache.org/activemq/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel" title="Visit page outside Confluence" rel="nofollow">Roadmap<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://issues.apache.org/activemq/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel" title="Visit page outside Confluence" rel="nofollow">Change log<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+</UL>
+
+
+<H3><A name="Navigation-UsingActiveMQ"></A><A href="using-activemq.html" title="Using ActiveMQ">Using ActiveMQ</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="getting-started.html" title="Getting Started">Getting Started</A></LI>
+ <LI><A href="initial-configuration.html" title="Initial Configuration">Initial Configuration</A></LI>
+ <LI><A href="run-broker.html" title="Run Broker">Running a Broker</A></LI>
+ <LI><A href="configuring-transports.html" title="Configuring Transports">Configuring Transports</A></LI>
+ <LI><A href="destination-options.html" title="Destination Options">Destination Options</A></LI>
+ <LI><A href="examples.html" title="Examples">Examples</A></LI>
+ <LI><A href="how-can-i-monitor-activemq.html" title="How can I monitor ActiveMQ">Monitoring the Broker</A></LI>
+ <LI><A href="xml-configuration.html" title="Xml Configuration">Xml Configuration</A></LI>
+ <LI><A href="xml-reference.html" title="Xml Reference">Xml Reference</A></LI>
+ <LI><A href="web-samples.html" title="Web Samples">Web Samples</A></LI>
+ <LI><A href="hello-world.html" title="Hello World">Hello World</A></LI>
+ <LI><A href="use-cases.html" title="Use Cases">Use Cases</A></LI>
+ <LI><A href="topologies.html" title="Topologies">Topologies</A></LI>
+ <LI><A href="how-do-i-embed-a-broker-inside-a-connection.html" title="How do I embed a Broker inside a Connection">Embedded Brokers</A></LI>
+ <LI><A href="jmeter-performance-tests.html" title="JMeter Performance Tests">Performance Testing</A></LI>
+ <LI><A href="performance-tuning.html" title="Performance Tuning">Performance Tuning</A></LI>
+ <LI><A href="activemq-command-line-tools-reference.html" title="ActiveMQ Command Line Tools Reference">Command Line Tools</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Features"></A><A href="features.html" title="Features">Features</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="jmx.html" title="JMX">JMX</A></LI>
+ <LI><A href="performance.html" title="Performance">Performance</A></LI>
+ <LI><A href="protocols.html" title="Protocols">Protocols</A></LI>
+ <LI><A href="persistence.html" title="Persistence">Persistence</A></LI>
+ <LI><A href="jdbc-support.html" title="JDBC Support">JDBC Support</A></LI>
+ <LI><A href="security.html" title="Security">Security</A></LI>
+ <LI><A href="interceptors.html" title="Interceptors">Interceptors</A></LI>
+ <LI><A href="clustering.html" title="Clustering">Clustering</A></LI>
+ <LI><A href="discovery.html" title="Discovery">Discovery</A></LI>
+ <LI><A href="wildcard.html" title="Wildcard">Wildcard Support</A></LI>
+ <LI><A href="composite-destinations.html" title="Composite Destinations">Composite Destinations</A></LI>
+ <LI><A href="jms-streams.html" title="JMS Streams">JMS Streams</A></LI>
+ <LI><A href="advisory-message.html" title="Advisory Message">Advisory Message</A></LI>
+ <LI><A href="resource-adapter.html" title="Resource Adapter">JCA 1.5 Resource Adapter</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Featuresin4.x"></A>Features in 4.x</H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="message-groups.html" title="Message Groups">Message Groups</A></LI>
+ <LI><A href="masterslave.html" title="MasterSlave">MasterSlave</A></LI>
+ <LI><A href="networks-of-brokers.html" title="Networks of Brokers">Networks of Brokers</A></LI>
+ <LI><A href="exclusive-consumer.html" title="Exclusive Consumer">Exclusive Consumer</A></LI>
+ <LI><A href="total-ordering.html" title="Total Ordering">Total Ordering</A></LI>
+ <LI><A href="consumer-priority.html" title="Consumer Priority">Consumer Priority</A></LI>
+ <LI><A href="retroactive-consumer.html" title="Retroactive Consumer">Retroactive Consumer</A></LI>
+ <LI><A href="jms-to-jms-bridge.html" title="JMS to JMS Bridge">JMS to JMS Bridge</A></LI>
+ <LI><A href="visualisation.html" title="Visualisation">Visualisation</A></LI>
+ <LI><A href="kaha-persistence.html" title="Kaha Persistence">Kaha Persistence</A></LI>
+ <LI><A href="async-sends.html" title="Async Sends">Async Sends</A></LI>
+ <LI><A href="jmsxuserid.html" title="JMSXUserID">JMSXUserID</A></LI>
+ <LI><A href="new-features.html" title="New Features">More New Features</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Connectivity"></A><A href="connectivity.html" title="Connectivity">Connectivity</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="ajax.html" title="Ajax">Ajax</A></LI>
+ <LI><A href="axis-support.html" title="Axis Support">Axis Support</A></LI>
+ <LI><A href="c-integration.html" title="C Integration">C Integration</A></LI>
+ <LI><A href="cms.html" title="CMS">C++ Integration</A></LI>
+ <LI><A href="dot-net.html" title="dot Net">C# and .Net Integration</A></LI>
+ <LI><A href="geronimo.html" title="Geronimo">Geronimo</A></LI>
+ <LI><A href="j2ee.html" title="J2EE">J2EE</A></LI>
+ <LI><A href="jboss-integration.html" title="JBoss Integration">JBoss Integration</A></LI>
+ <LI><A href="jndi-support.html" title="JNDI Support">JNDI Support</A></LI>
+ <LI><A href="openwire.html" title="OpenWire">OpenWire</A></LI>
+ <LI><A href="rest.html" title="REST">REST</A></LI>
+ <LI><A href="rss-and-atom.html" title="RSS and Atom">RSS and Atom</A></LI>
+ <LI><A href="spring-support.html" title="Spring Support">Spring Support</A></LI>
+ <LI><A href="stomp.html" title="Stomp">Stomp</A></LI>
+ <LI><A href="sun-jndi.html" title="Sun JNDI">Sun JNDI</A></LI>
+ <LI><A href="tomcat.html" title="Tomcat">Tomcat</A></LI>
+ <LI><A href="unix-service.html" title="Unix Service">Unix Service</A></LI>
+ <LI><A href="wsif.html" title="WSIF">WSIF</A></LI>
+</UL>
+
+
+<H3><A name="Navigation-Tools"></A><A href="tools.html" title="Tools">Tools</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="web-console.html" title="Web Console">Web Console</A></LI>
+ <LI><A href="jca-container.html" title="JCA Container">JCA Container</A></LI>
+ <LI><A href="hermes-jms.html" title="Hermes Jms">Hermes Jms</A></LI>
+ <LI><SPAN class="nobr"><A href="http://jakarta.apache.org/jmeter" title="Visit page outside Confluence" rel="nofollow">JMeter<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+</UL>
+
+
+<H3><A name="Navigation-RelatedProjects"></A>Related Projects</H3>
+
+<UL class="alternate" type="square">
+ <LI><SPAN class="nobr"><A href="http://incubator.apache.org/servicemix/" title="Distributed Enterprise Service Bus based on JBI" rel="nofollow">Apache ServiceMix<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://lingo.codehaus.org/" title="POJO Remoting using JMS" rel="nofollow">Lingo<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://jencks.org/" title="Message Driven POJOs and pooling for JMS and JDBC" rel="nofollow">Jencks<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://stomp.codehaus.org/" title="Simple cross language protocol for messaging" rel="nofollow">Stomp<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://activecluster.codehaus.org/" title="Visit page outside Confluence" rel="nofollow">ActiveCluster<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://activespace.codehaus.org/" title="Visit page outside Confluence" rel="nofollow">ActiveSpace<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://www.springframework.org/" title="Visit page outside Confluence" rel="nofollow">Spring<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><SPAN class="nobr"><A href="http://geronimo.apache.org/" title="Visit page outside Confluence" rel="nofollow">Geronimo<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+</UL>
+
+
+<H3><A name="Navigation-Developers"></A><A href="developers.html" title="Developers">Developers</A></H3>
+
+<UL class="alternate" type="square">
+ <LI><A href="source.html" title="Source">Source</A></LI>
+ <LI><A href="building.html" title="Building">Building</A></LI>
+ <LI><A href="code-overview.html" title="Code Overview">Code Overview</A></LI>
+ <LI><A href="wire-protocol.html" title="Wire Protocol">Wire Protocol</A></LI>
+ <LI><A href="developer-guide.html" title="Developer Guide">Developer Guide</A></LI>
+ <LI><A href="becoming-a-committer.html" title="Becoming a committer">Becoming a committer</A></LI>
+ <LI><SPAN class="nobr"><A href="http://ci.gbuild.org/continuum/" title="Visit page outside Confluence" rel="nofollow">GBuild<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><A href="integration-tests.html" title="Integration Tests">Integration Tests</A></LI>
+ <LI><A href="activemq-performance-module-users-manual.html" title="ActiveMQ Performance Module Users Manual">Maven2 Performance Plugin</A></LI>
+ <LI><A href="benchmark-tests.html" title="Benchmark Tests">Benchmark Tests</A></LI>
+ <LI><A href="jmeter-performance-tests.html" title="JMeter Performance Tests">JMeter Performance Tests</A></LI>
+ <LI><A href="release-guide.html" title="Release Guide">Release Guide</A></LI>
+ <LI><A href="junit-reports.html" title="JUnit Reports">JUnit Reports</A></LI>
+ <LI><SPAN class="nobr"><A href="http://activemq.codehaus.org/maven/clover/" title="Visit page outside Confluence" rel="nofollow">Clover Report<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+ <LI><A href="source-xref.html" title="Source XRef">Source XRef</A></LI>
+ <LI><A href="test-source-xref.html" title="Test Source XRef">Test Source XRef</A></LI>
+ <LI><SPAN class="nobr"><A href="http://activemq.codehaus.org/maven/activemq.xsd.html" title="Visit page outside Confluence" rel="nofollow">XSD<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></LI>
+</UL>
+
+
+<H3><A name="Navigation-Toolsweuse"></A>Tools we use</H3>
+
+<P><SPAN class="nobr"><A href="http://www.yourkit.com/" title="Visit page outside Confluence" rel="nofollow"><IMG src="http://incubator.apache.org/activemq/images/yourkit.jpg" align="absmiddle" border="0"><SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN><BR>
+<SPAN class="nobr"><A href="http://www.ej-technologies.com/products/jprofiler/overview.html" title="Visit page outside Confluence" rel="nofollow"><IMG src="http://incubator.apache.org/activemq/images/logo_jprofiler01.gif" width="120" height="40" align="absmiddle" border="0"><SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P>
+ </DIV>
+ </TD>
+ <TD valign="top">
+ <DIV id="site-page">
+
+<!--
+ <div class="pagetitle">ActiveMQ CPP Client</div>
+-->
+ <DIV class="wiki-content"><P>ActiveMQ CPP is a C++ API to JMS/MOM implemented currently using <A href="stomp.html" title="Stomp">Stomp</A> but we hope to have an implementation using <A href="openwire.html" title="OpenWire">OpenWire</A> soon.</P>
+
+<P>ActiveMQ CPP is a complete rewrite of the original <A href="cms.html" title="CMS">CMS</A> library and is a full-on replacement with AMQ 4.0.1 or later.</P>
+
+<P>In addition to providing a JMS 1.1-like API, it also provides a robust set of classes that support things such as threading, I/O, sockets, etc. You may find many of these classes useful, such as the "synchronized" macro that let's you use a Java-like synchronization on any object that implements the activemq::concurrent::Synchronizable interface.</P>
+
+<P>The source code for the ActiveMQ CPP is <SPAN class="nobr"><A href="http://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-cpp/" title="Visit page outside Confluence" rel="nofollow">here<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN></P>
+
+<H3><A name="ActiveMQCPPClient-Example"></A>Example</H3>
+
+<P>The following example shows ActiveMQ CPP in action</P>
+<DIV class="code"><DIV class="codeContent">
+<PRE class="code-java">#include <activemq/concurrent/<SPAN class="code-object">Thread</SPAN>.h>
+#include <activemq/concurrent/<SPAN class="code-object">Runnable</SPAN>.h>
+#include <activemq/core/ActiveMQConnectionFactory.h>
+#include <cms/Connection.h>
+#include <cms/Session.h>
+#include <cms/TextMessage.h>
+#include <cms/ExceptionListener.h>
+#include <cms/MessageListener.h>
+#include <stdlib.h>
+
+using namespace activemq::core;
+using namespace activemq::concurrent;
+using namespace cms;
+using namespace std;
+
+class HelloWorldProducer : <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">Runnable</SPAN> {
+<SPAN class="code-keyword">private</SPAN>:
+
+ Connection* connection;
+ Session* session;
+ Destination* destination;
+ MessageProducer* producer;
+ <SPAN class="code-object">int</SPAN> numMessages;
+
+<SPAN class="code-keyword">public</SPAN>:
+
+ HelloWorldProducer( <SPAN class="code-object">int</SPAN> numMessages ){
+ connection = NULL;
+ session = NULL;
+ destination = NULL;
+ producer = NULL;
+ <SPAN class="code-keyword">this</SPAN>->numMessages = numMessages;
+ }
+
+ virtual ~HelloWorldProducer(){
+ cleanup();
+ }
+
+ virtual void run() {
+ <SPAN class="code-keyword">try</SPAN> {
+ <SPAN class="code-comment">// Create a ConnectionFactory
+</SPAN> ActiveMQConnectionFactory* connectionFactory = <SPAN class="code-keyword">new</SPAN> ActiveMQConnectionFactory(<SPAN class="code-quote">"127.0.0.1:61613"</SPAN>);
+
+ <SPAN class="code-comment">// Create a Connection
+</SPAN> connection = connectionFactory->createConnection();
+ connection->start();
+
+ <SPAN class="code-comment">// Create a Session
+</SPAN> session = connection->createSession( Session::AutoAcknowledge );
+
+ <SPAN class="code-comment">// Create the destination (Topic or Queue)
+</SPAN> destination = session->createQueue(<SPAN class="code-quote">"TEST.FOO"</SPAN>);
+
+ <SPAN class="code-comment">// Create a MessageProducer from the Session to the Topic or Queue
+</SPAN> producer = session->createProducer(*destination);
+ producer->setDeliveryMode( Message::NONPERSISTANT);
+
+ <SPAN class="code-comment">// Stringify the thread id
+</SPAN> <SPAN class="code-object">char</SPAN> threadIdStr[100];
+ itoa( <SPAN class="code-object">Thread</SPAN>::getId(), threadIdStr, 10 );
+
+ <SPAN class="code-comment">// Create a messages
+</SPAN> string text = (string)<SPAN class="code-quote">"Hello world! from thread "</SPAN> + threadIdStr;
+
+ <SPAN class="code-keyword">for</SPAN>( <SPAN class="code-object">int</SPAN> ix=0; ix<numMessages; ++ix ){
+ TextMessage* message = session->createTextMessage( text );
+
+ <SPAN class="code-comment">// Tell the producer to send the message
+</SPAN> printf( <SPAN class="code-quote">"Sent message from thread %s\n"</SPAN>, threadIdStr );
+ producer->send(*message);
+
+ delete message;
+ }
+
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {
+ e.printStackTrace();
+ }
+ }
+
+<SPAN class="code-keyword">private</SPAN>:
+
+ void cleanup(){
+
+ <SPAN class="code-comment">// Close open resources.
+</SPAN> <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( session != NULL ) session->close();
+ <SPAN class="code-keyword">if</SPAN>( connection != NULL ) connection->close();
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+
+ <SPAN class="code-comment">// Destroy resources.
+</SPAN> <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( destination != NULL ) delete destination;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ destination = NULL;
+
+ <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( producer != NULL ) delete producer;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ producer = NULL;
+
+ <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( session != NULL ) delete session;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ session = NULL;
+
+ <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( connection != NULL ) delete connection;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ connection = NULL;
+ }
+};
+
+class HelloWorldConsumer : <SPAN class="code-keyword">public</SPAN> ExceptionListener,
+ <SPAN class="code-keyword">public</SPAN> MessageListener,
+ <SPAN class="code-keyword">public</SPAN> <SPAN class="code-object">Runnable</SPAN> {
+
+<SPAN class="code-keyword">private</SPAN>:
+
+ Connection* connection;
+ Session* session;
+ Destination* destination;
+ MessageConsumer* consumer;
+ <SPAN class="code-object">long</SPAN> waitMillis;
+
+<SPAN class="code-keyword">public</SPAN>:
+
+ HelloWorldConsumer( <SPAN class="code-object">long</SPAN> waitMillis ){
+ connection = NULL;
+ session = NULL;
+ destination = NULL;
+ consumer = NULL;
+ <SPAN class="code-keyword">this</SPAN>->waitMillis = waitMillis;
+ }
+ virtual ~HelloWorldConsumer(){
+ cleanup();
+ }
+
+ virtual void run() {
+
+ <SPAN class="code-keyword">try</SPAN> {
+
+ <SPAN class="code-comment">// Create a ConnectionFactory
+</SPAN> ActiveMQConnectionFactory* connectionFactory = <SPAN class="code-keyword">new</SPAN> ActiveMQConnectionFactory(<SPAN class="code-quote">"127.0.0.1:61613"</SPAN>);
+
+ <SPAN class="code-comment">// Create a Connection
+</SPAN> connection = connectionFactory->createConnection();
+ delete connectionFactory;
+ connection->start();
+
+ connection->setExceptionListener(<SPAN class="code-keyword">this</SPAN>);
+
+ <SPAN class="code-comment">// Create a Session
+</SPAN> session = connection->createSession( Session::AutoAcknowledge );
+
+ <SPAN class="code-comment">// Create the destination (Topic or Queue)
+</SPAN> destination = session->createQueue(<SPAN class="code-quote">"TEST.FOO"</SPAN>);
+
+ <SPAN class="code-comment">// Create a MessageConsumer from the Session to the Topic or Queue
+</SPAN> consumer = session->createConsumer(*destination);
+
+ consumer->setMessageListener( <SPAN class="code-keyword">this</SPAN> );
+
+ <SPAN class="code-comment">// Sleep <SPAN class="code-keyword">while</SPAN> asynchronous messages come in.
+</SPAN> <SPAN class="code-object">Thread</SPAN>::sleep( waitMillis );
+
+ } <SPAN class="code-keyword">catch</SPAN> (CMSException& e) {
+ e.printStackTrace();
+ }
+ }
+
+ virtual void onMessage( <SPAN class="code-keyword">const</SPAN> Message& message ){
+
+ <SPAN class="code-keyword">try</SPAN>
+ {
+ <SPAN class="code-keyword">const</SPAN> TextMessage& textMessage = dynamic_cast<<SPAN class="code-keyword">const</SPAN> TextMessage&>(message);
+ string text = textMessage.getText();
+ printf( <SPAN class="code-quote">"Received: %s\n"</SPAN>, text.c_str() );
+ }
+ <SPAN class="code-keyword">catch</SPAN>( std::bad_cast& ex )
+ {
+ printf( <SPAN class="code-quote">"Received something other than a text Message\n"</SPAN> );
+ }
+ }
+
+ virtual void onException( <SPAN class="code-keyword">const</SPAN> CMSException& ex ) {
+ printf(<SPAN class="code-quote">"JMS Exception occured. Shutting down client.\n"</SPAN>);
+ }
+
+<SPAN class="code-keyword">private</SPAN>:
+
+ void cleanup(){
+
+ <SPAN class="code-comment">// Close open resources.
+</SPAN> <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( session != NULL ) session->close();
+ <SPAN class="code-keyword">if</SPAN>( connection != NULL ) connection->close();
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+
+ <SPAN class="code-comment">// Destroy resources.
+</SPAN> <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( destination != NULL ) delete destination;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ destination = NULL;
+
+ <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( consumer != NULL ) delete consumer;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ consumer = NULL;
+
+ <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( session != NULL ) delete session;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ session = NULL;
+
+ <SPAN class="code-keyword">try</SPAN>{
+ <SPAN class="code-keyword">if</SPAN>( connection != NULL ) delete connection;
+ }<SPAN class="code-keyword">catch</SPAN> (CMSException& e) {}
+ connection = NULL;
+ }
+};
+
+void main(<SPAN class="code-object">int</SPAN> argc, <SPAN class="code-object">char</SPAN>* argv[]) {
+
+ HelloWorldProducer producer( 1000 );
+ HelloWorldConsumer consumer( 5000 );
+
+ <SPAN class="code-comment">// Start the consumer thread.
+</SPAN> <SPAN class="code-object">Thread</SPAN> consumerThread( &consumer );
+ consumerThread.start();
+
+ <SPAN class="code-comment">// Start the producer thread.
+</SPAN> <SPAN class="code-object">Thread</SPAN> producerThread( &producer );
+ producerThread.start();
+
+ <SPAN class="code-comment">// Wait <SPAN class="code-keyword">for</SPAN> the threads to complete.
+</SPAN> producerThread.join();
+ consumerThread.join();
+}</PRE>
+</DIV></DIV>
+</DIV>
+
+ </DIV>
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <DIV id="site-footer">
+ Added by <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=nmittler">Nathan Mittler</A>,
+ last edited by <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=nmittler">Nathan Mittler</A> on Jul 06, 2006
+
+ (<A href="http://goopen.org/confluence/pages/editpage.action?pageId=8971">edit page</A>)
+ </DIV>
+
+ </BODY>
+
+</HTML>
\ No newline at end of file
Modified: incubator/activemq/site/c-integration.html
URL: http://svn.apache.org/viewvc/incubator/activemq/site/c-integration.html?rev=419595&r1=419594&r2=419595&view=diff
==============================================================================
--- incubator/activemq/site/c-integration.html (original)
+++ incubator/activemq/site/c-integration.html Thu Jul 6 09:04:45 2006
@@ -250,7 +250,7 @@
<UL>
<LI>use the <A href="openwire-c-client.html" title="OpenWire C Client">OpenWire C Client</A> which is only available in ActiveMQ 4.x or later.</LI>
<LI>we are working on the <A href="openwire-cpp-client.html" title="OpenWire CPP Client">OpenWire CPP Client</A></LI>
- <LI>the <SPAN class="nobr"><A href="http://goopen.org/confluence/pages/createpage.action?spaceKey=ACTIVEMQ&title=ActiveMQ%20CPP%20Client&linkCreation=true&fromPageId=187" title="Create Page: ActiveMQ CPP Client" class="createlink">ActiveMQ CPP Client<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/plus.gif" height="7" width="7" align="absmiddle" alt="" border="0"></SUP></A></SPAN> is currently a C++ API to <SPAN class="nobr"><A href="http://stomp.codehaus.org/" title="Visit page outside Confluence" rel="nofollow">Stomp<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN>, and is a full-blown replacement for CMS for AMQ v4.0.1 and later. In the future this will be expanded to support <A href="openwire.html" title="OpenWire">OpenWire</A> as well.</LI>
+ <LI>the <A href="activemq-cpp-client.html" title="ActiveMQ CPP Client">ActiveMQ CPP Client</A> is currently a C++ API to <SPAN class="nobr"><A href="http://stomp.codehaus.org/" title="Visit page outside Confluence" rel="nofollow">Stomp<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN>, and is a full-blown replacement for CMS for AMQ v4.0.1 and later. In the future this will be expanded to support <A href="openwire.html" title="OpenWire">OpenWire</A> as well.</LI>
<LI>the <A href="cms.html" title="CMS">CMS</A> C++ client which is a C++ API to <SPAN class="nobr"><A href="http://stomp.codehaus.org/" title="Visit page outside Confluence" rel="nofollow">Stomp<SUP><IMG class="rendericon" src="http://goopen.org/confluence/images/icons/linkext7.gif" height="0" width="0" align="absmiddle" alt="" border="0"></SUP></A></SPAN> which can also be implemented with <A href="openwire.html" title="OpenWire">OpenWire</A></LI>
</UL>
@@ -280,7 +280,10 @@
<a href="javascript:hideChildren()">Hide Children</a></span>
</div>
<div class="greybox" id="children" style="display: none;">
- <a href="http://goopen.org/confluence/display/ACTIVEMQ/CMS" title="CMS">CMS</a>
+ <a href="http://goopen.org/confluence/display/ACTIVEMQ/ActiveMQ+CPP+Client" title="ActiveMQ CPP Client">ActiveMQ CPP Client</a>
+ <span class="smalltext">(ActiveMQ)</span>
+ <br>
+ <a href="http://goopen.org/confluence/display/ACTIVEMQ/CMS" title="CMS">CMS</a>
<span class="smalltext">(ActiveMQ)</span>
<br>
<a href="http://goopen.org/confluence/display/ACTIVEMQ/OpenWire+C+Client" title="OpenWire C Client">OpenWire C Client</a>
Modified: incubator/activemq/site/connectivity.html
URL: http://svn.apache.org/viewvc/incubator/activemq/site/connectivity.html?rev=419595&r1=419594&r2=419595&view=diff
==============================================================================
--- incubator/activemq/site/connectivity.html (original)
+++ incubator/activemq/site/connectivity.html Thu Jul 6 09:04:45 2006
@@ -246,7 +246,7 @@
<!--
<div class="pagetitle">Connectivity</div>
-->
- <DIV class="wiki-content"><UL><LI><A href="ajax.html" title="Ajax">Ajax</A></LI><LI><A href="c-integration.html" title="C Integration">C Integration</A><UL><LI><A href="c-integration-scenarios.html" title="C integration scenarios">C integration scenarios</A></LI><LI><A href="cms.html" title="CMS">CMS</A></LI><LI><A href="compile-activemq-with-gcj.html" title="Compile ActiveMQ with GCJ">Compile ActiveMQ with GCJ</A></LI><LI><A href="openwire-c-client.html" title="OpenWire C Client">OpenWire C Client</A></LI><LI><A href="openwire-cpp-client.html" title="OpenWire CPP Client">OpenWire CPP Client</A></LI></UL></LI><LI><A href="dot-net.html" title="dot Net">dot Net</A></LI><LI><A href="geronimo.html" title="Geronimo">Geronimo</A></LI><LI><A href="j2ee.html" title="J2EE">J2EE</A></LI><LI><A href="jboss-integration.html" title="JBoss Integration">JBoss Integration</A><UL><LI><A href="inbound-communication.html" title="Inbound Communication">Inbound Communication</A></LI>
<LI><A href="outbound-communication.html" title="Outbound Communication">Outbound Communication</A></LI></UL></LI><LI><A href="jca-container.html" title="JCA Container">JCA Container</A></LI><LI><A href="jms-to-jms-bridge.html" title="JMS to JMS Bridge">JMS to JMS Bridge</A></LI><LI><A href="jmx.html" title="JMX">JMX</A></LI><LI><A href="jmx-support.html" title="JMX Support">JMX Support</A></LI><LI><A href="jndi-support.html" title="JNDI Support">JNDI Support</A></LI><LI><A href="openwire.html" title="OpenWire">OpenWire</A><UL><LI><A href="openwire-dotnet.html" title="OpenWire dotNet">OpenWire dotNet</A><UL><LI><A href="building-csharp-code.html" title="Building CSharp Code">Building CSharp Code</A></LI></UL></LI></UL></LI><LI><A href="resource-adapter.html" title="Resource Adapter">Resource Adapter</A><UL><LI><A href="activation-spec-properties.html" title="Activation Spec Properties">Activation Spec Properties</A></LI><LI><A href="connection-factory-properties.html" title=
"Connection Factory Properties">Connection Factory Properties</A></LI><LI><A href="resource-adapter-properties.html" title="Resource Adapter Properties">Resource Adapter Properties</A></LI></UL></LI><LI><A href="rest.html" title="REST">REST</A></LI><LI><A href="rss-and-atom.html" title="RSS and Atom">RSS and Atom</A></LI><LI><A href="setting-up-activemq-with-tomcat-559.html" title="Setting up ActiveMQ with Tomcat 5.5.9">Setting up ActiveMQ with Tomcat 5.5.9</A></LI><LI><A href="spring-support.html" title="Spring Support">Spring Support</A><UL><LI><A href="jmstemplate-gotchas.html" title="JmsTemplate Gotchas">JmsTemplate Gotchas</A></LI></UL></LI><LI><A href="stomp.html" title="Stomp">Stomp</A></LI><LI><A href="sun-jndi.html" title="Sun JNDI">Sun JNDI</A></LI><LI><A href="tomcat.html" title="Tomcat">Tomcat</A></LI><LI><A href="wsif.html" title="WSIF">WSIF</A></LI></UL> </DIV>
+ <DIV class="wiki-content"><UL><LI><A href="ajax.html" title="Ajax">Ajax</A></LI><LI><A href="c-integration.html" title="C Integration">C Integration</A><UL><LI><A href="activemq-cpp-client.html" title="ActiveMQ CPP Client">ActiveMQ CPP Client</A></LI><LI><A href="c-integration-scenarios.html" title="C integration scenarios">C integration scenarios</A></LI><LI><A href="cms.html" title="CMS">CMS</A></LI><LI><A href="compile-activemq-with-gcj.html" title="Compile ActiveMQ with GCJ">Compile ActiveMQ with GCJ</A></LI><LI><A href="openwire-c-client.html" title="OpenWire C Client">OpenWire C Client</A></LI><LI><A href="openwire-cpp-client.html" title="OpenWire CPP Client">OpenWire CPP Client</A></LI></UL></LI><LI><A href="dot-net.html" title="dot Net">dot Net</A></LI><LI><A href="geronimo.html" title="Geronimo">Geronimo</A></LI><LI><A href="j2ee.html" title="J2EE">J2EE</A></LI><LI><A href="jboss-integration.html" title="JBoss Integration">JBoss Integration</A><UL><LI><A
href="inbound-communication.html" title="Inbound Communication">Inbound Communication</A></LI><LI><A href="outbound-communication.html" title="Outbound Communication">Outbound Communication</A></LI></UL></LI><LI><A href="jca-container.html" title="JCA Container">JCA Container</A></LI><LI><A href="jms-to-jms-bridge.html" title="JMS to JMS Bridge">JMS to JMS Bridge</A></LI><LI><A href="jmx.html" title="JMX">JMX</A></LI><LI><A href="jmx-support.html" title="JMX Support">JMX Support</A></LI><LI><A href="jndi-support.html" title="JNDI Support">JNDI Support</A></LI><LI><A href="openwire.html" title="OpenWire">OpenWire</A><UL><LI><A href="openwire-dotnet.html" title="OpenWire dotNet">OpenWire dotNet</A><UL><LI><A href="building-csharp-code.html" title="Building CSharp Code">Building CSharp Code</A></LI></UL></LI></UL></LI><LI><A href="resource-adapter.html" title="Resource Adapter">Resource Adapter</A><UL><LI><A href="activation-spec-properties.html" title="Activation Spec Propert
ies">Activation Spec Properties</A></LI><LI><A href="connection-factory-properties.html" title="Connection Factory Properties">Connection Factory Properties</A></LI><LI><A href="resource-adapter-properties.html" title="Resource Adapter Properties">Resource Adapter Properties</A></LI></UL></LI><LI><A href="rest.html" title="REST">REST</A></LI><LI><A href="rss-and-atom.html" title="RSS and Atom">RSS and Atom</A></LI><LI><A href="setting-up-activemq-with-tomcat-559.html" title="Setting up ActiveMQ with Tomcat 5.5.9">Setting up ActiveMQ with Tomcat 5.5.9</A></LI><LI><A href="spring-support.html" title="Spring Support">Spring Support</A><UL><LI><A href="jmstemplate-gotchas.html" title="JmsTemplate Gotchas">JmsTemplate Gotchas</A></LI></UL></LI><LI><A href="stomp.html" title="Stomp">Stomp</A></LI><LI><A href="sun-jndi.html" title="Sun JNDI">Sun JNDI</A></LI><LI><A href="tomcat.html" title="Tomcat">Tomcat</A></LI><LI><A href="wsif.html" title="WSIF">WSIF</A></LI></UL> </DIV>
<!--
<div class="tabletitle">
@@ -257,7 +257,10 @@
<a href="javascript:hideChildren()">Hide Children</a></span>
</div>
<div class="greybox" id="children" style="display: none;">
- <a href="http://goopen.org/confluence/display/ACTIVEMQ/JMS+to+JMS+Bridge" title="JMS to JMS Bridge">JMS to JMS Bridge</a>
+ <a href="http://goopen.org/confluence/display/ACTIVEMQ/C+Integration" title="C Integration">C Integration</a>
+ <span class="smalltext">(ActiveMQ)</span>
+ <br>
+ <a href="http://goopen.org/confluence/display/ACTIVEMQ/JMS+to+JMS+Bridge" title="JMS to JMS Bridge">JMS to JMS Bridge</a>
<span class="smalltext">(ActiveMQ)</span>
<br>
<a href="http://goopen.org/confluence/display/ACTIVEMQ/Stomp" title="Stomp">Stomp</a>
@@ -315,9 +318,6 @@
<span class="smalltext">(ActiveMQ)</span>
<br>
<a href="http://goopen.org/confluence/display/ACTIVEMQ/Ajax" title="Ajax">Ajax</a>
- <span class="smalltext">(ActiveMQ)</span>
- <br>
- <a href="http://goopen.org/confluence/display/ACTIVEMQ/C+Integration" title="C Integration">C Integration</a>
<span class="smalltext">(ActiveMQ)</span>
<br>
</div>