activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jstrac...@apache.org
Subject svn commit: r374430 [31/45] - /incubator/activemq/site/
Date Thu, 02 Feb 2006 16:33:52 GMT
Added: incubator/activemq/site/OpenWire
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/OpenWire?rev=374430&view=auto
==============================================================================
--- incubator/activemq/site/OpenWire (added)
+++ incubator/activemq/site/OpenWire Thu Feb  2 08:31:10 2006
@@ -0,0 +1,278 @@
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <link rel="stylesheet" href="site.css" type="text/css">
+
+
+
+    <title>ActiveMQ - OpenWire</title>
+  </head>
+
+  <body>
+    <table width="100%" id="layout" style="padding:0px;margin0px;border-collapse:collapse;">
+      <tr>
+        <td colspan="3" style="padding:8px;">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr id="header_row">
+              <td align="left" valign="middle" style="padding:0px;margin:0px;">
+                <span id="Content"><span><span class="nobr"><a href="http://incubator.apache.org/activemq" rel="nofollow"><img align="absmiddle" border=0 src="images/logo.gif"></a></span></span></span>
+
+              </td>
+              
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="breadcrumbs">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr>
+              <td align="left">
+                <a href="">Home</a>  | <a href="Navigation">Navigation</a> &gt; OpenWire
+              </td>
+              <td align="right">
+                  <span id="Content"><span><a href="Download" title="Download">Download</a> | <span class="nobr"><a href="http://activemq.codehaus.org/maven/apidocs/" rel="nofollow">JavaDocs for 4.x</a></span> <span class="nobr"><a href="http://activemq.org/maven/activemq-3/activemq-core/apidocs/" rel="nofollow">3.x</a></span> | <a href="Source" title="Source">Source</a> | <span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span> |<span class="nobr"><a href="irc://irc.codehaus.org/activemq" rel="nofollow">IRC</a></span> | <span class="nobr"><a href="http://servlet.uwyn.com/drone/log/hausbot/activemq" rel="nofollow">IRC Log</a></span> | <a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a> | <span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span> | <span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Support
 </a></span></span></span>
+
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td id="leftColumn" valign="top" style="padding-top: 0px;">
+          <span id="Content"><h3><a name="Navigation-Overview"></a>Overview</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Home" title="Home">Home</a></li>
+    <li><a href="News" title="News">News</a></li>
+    <li><a href="Changes+in+4.0" title="Changes in 4.0">New in 4.0</a></li>
+    <li><a href="FAQ" title="FAQ">FAQ</a></li>
+    <li><a href="Articles" title="Articles">Articles</a></li>
+    <li><a href="Download" title="Download">Download</a></li>
+  </ul>
+  <h3><a name="Navigation-Community"></a>Community</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span></li>
+    <li><a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a></li>
+    <li><span class="nobr"><a href="http://gmane.org/find.php?list=activemq" rel="nofollow">News Reader</a></span></li>
+    <li><span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span></li>
+    <li><a href="Projects+Using+ActiveMQ" title="Projects Using ActiveMQ">Projects Using ActiveMQ</a></li>
+    <li><a href="Users" title="Users">Users</a></li>
+    <li><a href="Contributing" title="Contributing">Contributing</a></li>
+    <li><a href="Team" title="Team">Team</a></li>
+  </ul>
+  <h3><a name="Navigation-UsingActiveMQ"></a>Using ActiveMQ</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Getting+Started" title="Getting Started">Getting Started</a></li>
+    <li><a href="Installation" title="Installation">Installation</a></li>
+    <li><a href="Building" title="Building">Building</a></li>
+    <li><a href="Run+Broker" title="Run Broker">Running a Broker</a></li>
+    <li><a href="Examples" title="Examples">Examples</a></li>
+    <li><a href="How+can+I+monitor+ActiveMQ" title="How can I monitor ActiveMQ">Monitoring the Broker</a></li>
+    <li><a href="Xml+Configuration" title="Xml Configuration">Xml Configuration</a></li>
+    <li><a href="Xml+Reference" title="Xml Reference">Xml Reference</a></li>
+    <li><a href="Use+Cases" title="Use Cases">Use Cases</a></li>
+    <li><a href="Topologies" title="Topologies">Topologies</a></li>
+    <li><a href="Configuring+Transports" title="Configuring Transports">Configuring Transports</a></li>
+    <li><a href="How+do+I+embed+a+Broker+inside+a+Connection" title="How do I embed a Broker inside a Connection">Embedded Brokers</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">Performance Testing</a></li>
+    <li><a href="Web+Samples" title="Web Samples">Web Samples</a></li>
+    <li><a href="Hello+World" title="Hello World">Hello World</a></li>
+  </ul>
+  <h3><a name="Navigation-Features"></a>Features</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JMX" title="JMX">JMX</a></li>
+    <li><a href="Performance" title="Performance">Performance</a></li>
+    <li><a href="Protocols" title="Protocols">Protocols</a></li>
+    <li><a href="Persistence" title="Persistence">Persistence</a></li>
+    <li><a href="JDBC+Support" title="JDBC Support">JDBC Support</a></li>
+    <li><a href="Clustering" title="Clustering">Clustering</a></li>
+    <li><a href="Discovery" title="Discovery">Discovery</a></li>
+    <li><a href="Networks+of+Brokers" title="Networks of Brokers">Networks of Brokers</a></li>
+    <li><a href="Composite+Destinations" title="Composite Destinations">Composite Destinations</a></li>
+    <li><a href="JMS+Streams" title="JMS Streams">JMS Streams</a></li>
+    <li><a href="Advisory+Message" title="Advisory Message">Advisory Message</a></li>
+    <li><a href="Resource+Adapter" title="Resource Adapter">JCA 1.5 Resource Adapter</a></li>
+  </ul>
+  <h3><a name="Navigation-Connectivitiy"></a>Connectivitiy</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Ajax" title="Ajax">Ajax</a></li>
+    <li><a href="Axis+Support" title="Axis Support">Axis Support</a></li>
+    <li><a href="C+Integration" title="C Integration">C Integration</a></li>
+    <li><a href="dot+Net" title="dot Net">.Net Integration</a></li>
+    <li><a href="Geronimo" title="Geronimo">Geronimo</a></li>
+    <li><a href="J2EE" title="J2EE">J2EE</a></li>
+    <li><a href="JBoss+Integration" title="JBoss Integration">JBoss Integration</a></li>
+    <li><a href="JNDI+Support" title="JNDI Support">JNDI Support</a></li>
+    <li><a href="OpenWire" title="OpenWire">OpenWire</a></li>
+    <li><a href="REST" title="REST">REST</a></li>
+    <li><a href="Spring+Support" title="Spring Support">Spring Support</a></li>
+    <li><a href="Stomp" title="Stomp">Stomp</a></li>
+    <li><a href="Tomcat" title="Tomcat">Tomcat</a></li>
+    <li><a href="WSIF" title="WSIF">WSIF</a></li>
+  </ul>
+  <h3><a name="Navigation-Utilities"></a>Utilities</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JCA+Container" title="JCA Container">JCA Container</a></li>
+  </ul>
+  <h3><a name="Navigation-ExternalTools"></a>External Tools</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Hermes+Jms" title="Hermes Jms">Hermes Jms</a></li>
+    <li><a href="Sun+JNDI" title="Sun JNDI">Sun JNDI</a></li>
+    <li><span class="nobr"><a href="http://jakarta.apache.org/jmeter" rel="nofollow">JMeter</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://servicemix.org/" rel="nofollow">ServiceMix</a></span></li>
+    <li><span class="nobr"><a href="http://lingo.codehaus.org/" rel="nofollow">Lingo</a></span></li>
+    <li><span class="nobr"><a href="http://jencks.org/" rel="nofollow">Jencks</a></span></li>
+    <li><span class="nobr"><a href="http://stomp.codehaus.org/" rel="nofollow">Stomp</a></span></li>
+    <li><span class="nobr"><a href="http://activecluster.codehaus.org/" rel="nofollow">ActiveCluster</a></span></li>
+    <li><span class="nobr"><a href="http://activespace.codehaus.org/" rel="nofollow">ActiveSpace</a></span></li>
+    <li><span class="nobr"><a href="http://activesoap.codehaus.org/" rel="nofollow">ActiveSOAP</a></span></li>
+    <li><span class="nobr"><a href="http://www.springframework.org/" rel="nofollow">Spring</a></span></li>
+    <li><span class="nobr"><a href="http://geronimo.apache.org/" rel="nofollow">Geronimo</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Support"></a>Support</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Issues</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel" rel="nofollow">Roadmap</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel" rel="nofollow">Change log</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Developers"></a>Developers</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Source" title="Source">Source</a></li>
+    <li><a href="Code+Overview" title="Code Overview">Code Overview</a></li>
+    <li><a href="Wire+Protocol" title="Wire Protocol">Wire Protocol</a></li>
+    <li><a href="ActiveMQ+4.0" title="ActiveMQ 4.0">ActiveMQ 4.0</a></li>
+    <li><a href="Becoming+a+committer" title="Becoming a committer">Becoming a committer</a></li>
+    <li><a href="Integration+Tests" title="Integration Tests">Integration Tests</a></li>
+    <li><a href="Benchmark+Tests" title="Benchmark Tests">Benchmark Tests</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">JMeter Performance Tests</a></li>
+    <li><a href="Release+Guide" title="Release Guide">Release Guide</a></li>
+    <li><a href="JUnit+Reports" title="JUnit Reports">JUnit Reports</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/clover/" rel="nofollow">Clover Report</a></span></li>
+    <li><a href="Source+XRef" title="Source XRef">Source XRef</a></li>
+    <li><a href="Test+Source+XRef" title="Test Source XRef">Test Source XRef</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/activemq.xsd.html" rel="nofollow">XSD</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Toolsweuse"></a>Tools we use</h3><span><span class="nobr"><a href="http://www.yourkit.com" rel="nofollow"><img align="absmiddle" border=0 src="/download/attachments/23786/yourkit.jpg"></a></span></span></span>
+
+            <h3 class="heading3">Feeds</h3>
+            <table border="0" cellspacing="4px">
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a><br/>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false">Site</a>
+              </td>
+            </tr>
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ">News</a>
+              </td>
+            </tr>
+            </table>
+        </td>
+        <td id="rightColumn" valign="top">
+
+          <div id="page_title">
+            <table width="100%">
+              <tr>
+                <td>
+            OpenWire 
+                </td>
+                <td align="right">
+            
+                </td>
+              </tr>
+            </table>
+          </div>
+
+
+          <div>
+  <div id="Content">
+    <p>OpenWire is our cross language <a href="Wire+Protocol" title="Wire Protocol">Wire Protocol</a> to allow native access to ActiveMQ from a number of different languages and platforms. The Java OpenWire transport is the default transport in ActiveMQ 4.x or later. For other languages see the following...</p>
+    <ul>
+      <li><a href="OpenWire+C+Client" title="OpenWire C Client">OpenWire C Client</a></li>
+      <li><a href="OpenWire+dotNet" title="OpenWire dotNet">OpenWire dotNet</a></li>
+    </ul>
+    <p><b>Note</b> that you can also use <a href="Stomp" title="Stomp">Stomp</a> to access ActiveMQ from many different languages as well as use <a href="How+do+I+access+ActiveMQ+from+C" title="How do I access ActiveMQ from C">GCJ</a> or <a href="How+do+I+access+ActiveMQ+from+CSharp+or+dotNet" title="How do I access ActiveMQ from CSharp or dotNet">IKVM</a> to access the Java code for ActiveMQ from C/C++ or .Net respectively without using OpenWire.</p>
+    <h3><a name="OpenWire-Howitworks"></a>How it works</h3>
+    <p>OpenWire works by code generating language specific commands and marshalling code which understands the core OpenWire protocol. Then we can write language specific extensions for the low level protocol to provide a nice and easy to use client API in different languages.</p>
+    <p>To give you an idea, <span class="nobr"><a href="http://activemq.org/checkout/activemq/modules/openwire/src/script/" rel="nofollow">here</a></span> are the Groovy scripts which code generate the C# and Java client code.</p>
+    <p>So OpenWire automates the creation of language specific <a href="Wire+Protocol" title="Wire Protocol">Wire Protocol</a> implementations; then its a matter of wrapping the language specific TCP/IP socket code and wrapping the API in some easy to use functions/classes.</p>
+    <h3><a name="OpenWire-CoreIOprimitives"></a>Core IO primitives</h3>
+    <p>Each command gets marshalled to and from the wire using a code generated marshaller for the language in question (Java, C#, C, Ruby etc). The core IO primitives are as follows</p>
+    <ul>
+      <li>read/write String: ideally would use read/writeUTF format from Java's DataIn/Out interfaces; but could just use double byte character format</li>
+      <li>read/write byte, short, long - using Java's endian</li>
+      <li>read/write Destinations. See below for how those are sent.</li>
+      <li>read/write properties: this uses Java syntax for properties; each line contains a key/value pair separated by '='.</li>
+      <li>read/write bytes: done by writing an int for the length followed by the number of bytes.</li>
+    </ul>
+    <h3><a name="OpenWire-Destinationmarshalling"></a>Destination marshalling</h3>
+    <p>We write a byte first to describe the type of destination.</p>
+    <p class="paragraph">
+      <table class="confluenceTable">
+        <tbody>
+          <tr>
+            <th class="confluenceTh">Byte value</th>
+            <th class="confluenceTh">Type of Destination</th>
+            <th class="confluenceTh">See</th>
+          </tr>
+          <tr>
+            <td class="confluenceTd">1</td>
+            <td class="confluenceTd">JMS Topic </td>
+            <td class="confluenceTd">ActiveMQDestination.ACTIVEMQ_TOPIC</td>
+          </tr>
+          <tr>
+            <td class="confluenceTd">2</td>
+            <td class="confluenceTd">JMS Temporary Topic </td>
+            <td class="confluenceTd">ActiveMQDestination.ACTIVEMQ_TEMPORARY_TOPIC</td>
+          </tr>
+          <tr>
+            <td class="confluenceTd">3</td>
+            <td class="confluenceTd">JMS Queue </td>
+            <td class="confluenceTd">ActiveMQDestination.ACTIVEMQ_QUEUE</td>
+          </tr>
+          <tr>
+            <td class="confluenceTd">4</td>
+            <td class="confluenceTd">JMS Temporary Queue </td>
+            <td class="confluenceTd">ActiveMQDestination.ACTIVEMQ_TEMPORARY_QUEUE</td>
+          </tr>
+        </tbody>
+      </table>
+    </p>
+    <p>Then we write the destination string (which may have operations set on it using a URL style syntax).</p>
+    <h3><a name="OpenWire-Implementationdetails"></a>Implementation details</h3>
+    <p>We use a javadoc tag @Transient to mark any properties on the Java command objects as being transient caches and so not marshalled over the OpenWire transport.</p>
+  </div>
+</div>
+
+          &nbsp;
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="footer">
+          <table width="100%"> 
+            <tr>
+              <td align="left" valign="top">
+          
+              </td>
+              <td align="right" valign="top">
+          <a style="color:#999;" href="http://docs.codehaus.org/pages/editpage.action?spaceKey=ACTIVEMQ&title=OpenWire">[ edit ]</a>
+              </td>
+            </tr>
+          <table>
+        </td>
+      </tr>
+    </table>
+  </body>
+
+</html>
+
+

Added: incubator/activemq/site/OpenWire+C+Client
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/OpenWire%2BC%2BClient?rev=374430&view=auto
==============================================================================
--- incubator/activemq/site/OpenWire+C+Client (added)
+++ incubator/activemq/site/OpenWire+C+Client Thu Feb  2 08:31:10 2006
@@ -0,0 +1,228 @@
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <link rel="stylesheet" href="site.css" type="text/css">
+
+
+
+    <title>ActiveMQ - OpenWire C Client</title>
+  </head>
+
+  <body>
+    <table width="100%" id="layout" style="padding:0px;margin0px;border-collapse:collapse;">
+      <tr>
+        <td colspan="3" style="padding:8px;">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr id="header_row">
+              <td align="left" valign="middle" style="padding:0px;margin:0px;">
+                <span id="Content"><span><span class="nobr"><a href="http://incubator.apache.org/activemq" rel="nofollow"><img align="absmiddle" border=0 src="images/logo.gif"></a></span></span></span>
+
+              </td>
+              
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="breadcrumbs">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr>
+              <td align="left">
+                <a href="">Home</a>  | <a href="C+Integration">C&nbsp;Integration</a> &gt; OpenWire C Client
+              </td>
+              <td align="right">
+                  <span id="Content"><span><a href="Download" title="Download">Download</a> | <span class="nobr"><a href="http://activemq.codehaus.org/maven/apidocs/" rel="nofollow">JavaDocs for 4.x</a></span> <span class="nobr"><a href="http://activemq.org/maven/activemq-3/activemq-core/apidocs/" rel="nofollow">3.x</a></span> | <a href="Source" title="Source">Source</a> | <span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span> |<span class="nobr"><a href="irc://irc.codehaus.org/activemq" rel="nofollow">IRC</a></span> | <span class="nobr"><a href="http://servlet.uwyn.com/drone/log/hausbot/activemq" rel="nofollow">IRC Log</a></span> | <a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a> | <span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span> | <span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Support
 </a></span></span></span>
+
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td id="leftColumn" valign="top" style="padding-top: 0px;">
+          <span id="Content"><h3><a name="Navigation-Overview"></a>Overview</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Home" title="Home">Home</a></li>
+    <li><a href="News" title="News">News</a></li>
+    <li><a href="Changes+in+4.0" title="Changes in 4.0">New in 4.0</a></li>
+    <li><a href="FAQ" title="FAQ">FAQ</a></li>
+    <li><a href="Articles" title="Articles">Articles</a></li>
+    <li><a href="Download" title="Download">Download</a></li>
+  </ul>
+  <h3><a name="Navigation-Community"></a>Community</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span></li>
+    <li><a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a></li>
+    <li><span class="nobr"><a href="http://gmane.org/find.php?list=activemq" rel="nofollow">News Reader</a></span></li>
+    <li><span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span></li>
+    <li><a href="Projects+Using+ActiveMQ" title="Projects Using ActiveMQ">Projects Using ActiveMQ</a></li>
+    <li><a href="Users" title="Users">Users</a></li>
+    <li><a href="Contributing" title="Contributing">Contributing</a></li>
+    <li><a href="Team" title="Team">Team</a></li>
+  </ul>
+  <h3><a name="Navigation-UsingActiveMQ"></a>Using ActiveMQ</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Getting+Started" title="Getting Started">Getting Started</a></li>
+    <li><a href="Installation" title="Installation">Installation</a></li>
+    <li><a href="Building" title="Building">Building</a></li>
+    <li><a href="Run+Broker" title="Run Broker">Running a Broker</a></li>
+    <li><a href="Examples" title="Examples">Examples</a></li>
+    <li><a href="How+can+I+monitor+ActiveMQ" title="How can I monitor ActiveMQ">Monitoring the Broker</a></li>
+    <li><a href="Xml+Configuration" title="Xml Configuration">Xml Configuration</a></li>
+    <li><a href="Xml+Reference" title="Xml Reference">Xml Reference</a></li>
+    <li><a href="Use+Cases" title="Use Cases">Use Cases</a></li>
+    <li><a href="Topologies" title="Topologies">Topologies</a></li>
+    <li><a href="Configuring+Transports" title="Configuring Transports">Configuring Transports</a></li>
+    <li><a href="How+do+I+embed+a+Broker+inside+a+Connection" title="How do I embed a Broker inside a Connection">Embedded Brokers</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">Performance Testing</a></li>
+    <li><a href="Web+Samples" title="Web Samples">Web Samples</a></li>
+    <li><a href="Hello+World" title="Hello World">Hello World</a></li>
+  </ul>
+  <h3><a name="Navigation-Features"></a>Features</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JMX" title="JMX">JMX</a></li>
+    <li><a href="Performance" title="Performance">Performance</a></li>
+    <li><a href="Protocols" title="Protocols">Protocols</a></li>
+    <li><a href="Persistence" title="Persistence">Persistence</a></li>
+    <li><a href="JDBC+Support" title="JDBC Support">JDBC Support</a></li>
+    <li><a href="Clustering" title="Clustering">Clustering</a></li>
+    <li><a href="Discovery" title="Discovery">Discovery</a></li>
+    <li><a href="Networks+of+Brokers" title="Networks of Brokers">Networks of Brokers</a></li>
+    <li><a href="Composite+Destinations" title="Composite Destinations">Composite Destinations</a></li>
+    <li><a href="JMS+Streams" title="JMS Streams">JMS Streams</a></li>
+    <li><a href="Advisory+Message" title="Advisory Message">Advisory Message</a></li>
+    <li><a href="Resource+Adapter" title="Resource Adapter">JCA 1.5 Resource Adapter</a></li>
+  </ul>
+  <h3><a name="Navigation-Connectivitiy"></a>Connectivitiy</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Ajax" title="Ajax">Ajax</a></li>
+    <li><a href="Axis+Support" title="Axis Support">Axis Support</a></li>
+    <li><a href="C+Integration" title="C Integration">C Integration</a></li>
+    <li><a href="dot+Net" title="dot Net">.Net Integration</a></li>
+    <li><a href="Geronimo" title="Geronimo">Geronimo</a></li>
+    <li><a href="J2EE" title="J2EE">J2EE</a></li>
+    <li><a href="JBoss+Integration" title="JBoss Integration">JBoss Integration</a></li>
+    <li><a href="JNDI+Support" title="JNDI Support">JNDI Support</a></li>
+    <li><a href="OpenWire" title="OpenWire">OpenWire</a></li>
+    <li><a href="REST" title="REST">REST</a></li>
+    <li><a href="Spring+Support" title="Spring Support">Spring Support</a></li>
+    <li><a href="Stomp" title="Stomp">Stomp</a></li>
+    <li><a href="Tomcat" title="Tomcat">Tomcat</a></li>
+    <li><a href="WSIF" title="WSIF">WSIF</a></li>
+  </ul>
+  <h3><a name="Navigation-Utilities"></a>Utilities</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JCA+Container" title="JCA Container">JCA Container</a></li>
+  </ul>
+  <h3><a name="Navigation-ExternalTools"></a>External Tools</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Hermes+Jms" title="Hermes Jms">Hermes Jms</a></li>
+    <li><a href="Sun+JNDI" title="Sun JNDI">Sun JNDI</a></li>
+    <li><span class="nobr"><a href="http://jakarta.apache.org/jmeter" rel="nofollow">JMeter</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://servicemix.org/" rel="nofollow">ServiceMix</a></span></li>
+    <li><span class="nobr"><a href="http://lingo.codehaus.org/" rel="nofollow">Lingo</a></span></li>
+    <li><span class="nobr"><a href="http://jencks.org/" rel="nofollow">Jencks</a></span></li>
+    <li><span class="nobr"><a href="http://stomp.codehaus.org/" rel="nofollow">Stomp</a></span></li>
+    <li><span class="nobr"><a href="http://activecluster.codehaus.org/" rel="nofollow">ActiveCluster</a></span></li>
+    <li><span class="nobr"><a href="http://activespace.codehaus.org/" rel="nofollow">ActiveSpace</a></span></li>
+    <li><span class="nobr"><a href="http://activesoap.codehaus.org/" rel="nofollow">ActiveSOAP</a></span></li>
+    <li><span class="nobr"><a href="http://www.springframework.org/" rel="nofollow">Spring</a></span></li>
+    <li><span class="nobr"><a href="http://geronimo.apache.org/" rel="nofollow">Geronimo</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Support"></a>Support</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Issues</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel" rel="nofollow">Roadmap</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel" rel="nofollow">Change log</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Developers"></a>Developers</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Source" title="Source">Source</a></li>
+    <li><a href="Code+Overview" title="Code Overview">Code Overview</a></li>
+    <li><a href="Wire+Protocol" title="Wire Protocol">Wire Protocol</a></li>
+    <li><a href="ActiveMQ+4.0" title="ActiveMQ 4.0">ActiveMQ 4.0</a></li>
+    <li><a href="Becoming+a+committer" title="Becoming a committer">Becoming a committer</a></li>
+    <li><a href="Integration+Tests" title="Integration Tests">Integration Tests</a></li>
+    <li><a href="Benchmark+Tests" title="Benchmark Tests">Benchmark Tests</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">JMeter Performance Tests</a></li>
+    <li><a href="Release+Guide" title="Release Guide">Release Guide</a></li>
+    <li><a href="JUnit+Reports" title="JUnit Reports">JUnit Reports</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/clover/" rel="nofollow">Clover Report</a></span></li>
+    <li><a href="Source+XRef" title="Source XRef">Source XRef</a></li>
+    <li><a href="Test+Source+XRef" title="Test Source XRef">Test Source XRef</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/activemq.xsd.html" rel="nofollow">XSD</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Toolsweuse"></a>Tools we use</h3><span><span class="nobr"><a href="http://www.yourkit.com" rel="nofollow"><img align="absmiddle" border=0 src="/download/attachments/23786/yourkit.jpg"></a></span></span></span>
+
+            <h3 class="heading3">Feeds</h3>
+            <table border="0" cellspacing="4px">
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a><br/>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false">Site</a>
+              </td>
+            </tr>
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ">News</a>
+              </td>
+            </tr>
+            </table>
+        </td>
+        <td id="rightColumn" valign="top">
+
+          <div id="page_title">
+            <table width="100%">
+              <tr>
+                <td>
+            OpenWire C Client 
+                </td>
+                <td align="right">
+            
+                </td>
+              </tr>
+            </table>
+          </div>
+
+
+          <div>
+  <div id="Content">
+    <p>This is the C library which is based on the <a href="OpenWire" title="OpenWire">OpenWire</a> protocol.</p>
+    <p>You can browse the code here</p>
+    <p><span class="nobr"><a href="http://svn.activemq.org/branches/activemq-4-0/activemq/openwire-c/" rel="nofollow">http://svn.activemq.org/branches/activemq-4-0/activemq/openwire-c/</a></span></p>
+    <p>e.g. here's an example of it in use...</p>
+    <p><span class="nobr"><a href="http://svn.activemq.org/branches/activemq-4-0/activemq/openwire-c/src/examples/" rel="nofollow">http://svn.activemq.org/branches/activemq-4-0/activemq/openwire-c/src/examples/</a></span></p>
+  </div>
+</div>
+
+          &nbsp;
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="footer">
+          <table width="100%"> 
+            <tr>
+              <td align="left" valign="top">
+          
+              </td>
+              <td align="right" valign="top">
+          <a style="color:#999;" href="http://docs.codehaus.org/pages/editpage.action?spaceKey=ACTIVEMQ&title=OpenWire+C+Client">[ edit ]</a>
+              </td>
+            </tr>
+          <table>
+        </td>
+      </tr>
+    </table>
+  </body>
+
+</html>
+
+

Added: incubator/activemq/site/OpenWire+CPP+Client
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/OpenWire%2BCPP%2BClient?rev=374430&view=auto
==============================================================================
--- incubator/activemq/site/OpenWire+CPP+Client (added)
+++ incubator/activemq/site/OpenWire+CPP+Client Thu Feb  2 08:31:10 2006
@@ -0,0 +1,267 @@
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <link rel="stylesheet" href="site.css" type="text/css">
+
+
+
+    <title>ActiveMQ - OpenWire CPP Client</title>
+  </head>
+
+  <body>
+    <table width="100%" id="layout" style="padding:0px;margin0px;border-collapse:collapse;">
+      <tr>
+        <td colspan="3" style="padding:8px;">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr id="header_row">
+              <td align="left" valign="middle" style="padding:0px;margin:0px;">
+                <span id="Content"><span><span class="nobr"><a href="http://incubator.apache.org/activemq" rel="nofollow"><img align="absmiddle" border=0 src="images/logo.gif"></a></span></span></span>
+
+              </td>
+              
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="breadcrumbs">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr>
+              <td align="left">
+                <a href="">Home</a>  | <a href="C+Integration">C&nbsp;Integration</a> &gt; OpenWire CPP Client
+              </td>
+              <td align="right">
+                  <span id="Content"><span><a href="Download" title="Download">Download</a> | <span class="nobr"><a href="http://activemq.codehaus.org/maven/apidocs/" rel="nofollow">JavaDocs for 4.x</a></span> <span class="nobr"><a href="http://activemq.org/maven/activemq-3/activemq-core/apidocs/" rel="nofollow">3.x</a></span> | <a href="Source" title="Source">Source</a> | <span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span> |<span class="nobr"><a href="irc://irc.codehaus.org/activemq" rel="nofollow">IRC</a></span> | <span class="nobr"><a href="http://servlet.uwyn.com/drone/log/hausbot/activemq" rel="nofollow">IRC Log</a></span> | <a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a> | <span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span> | <span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Support
 </a></span></span></span>
+
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td id="leftColumn" valign="top" style="padding-top: 0px;">
+          <span id="Content"><h3><a name="Navigation-Overview"></a>Overview</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Home" title="Home">Home</a></li>
+    <li><a href="News" title="News">News</a></li>
+    <li><a href="Changes+in+4.0" title="Changes in 4.0">New in 4.0</a></li>
+    <li><a href="FAQ" title="FAQ">FAQ</a></li>
+    <li><a href="Articles" title="Articles">Articles</a></li>
+    <li><a href="Download" title="Download">Download</a></li>
+  </ul>
+  <h3><a name="Navigation-Community"></a>Community</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span></li>
+    <li><a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a></li>
+    <li><span class="nobr"><a href="http://gmane.org/find.php?list=activemq" rel="nofollow">News Reader</a></span></li>
+    <li><span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span></li>
+    <li><a href="Projects+Using+ActiveMQ" title="Projects Using ActiveMQ">Projects Using ActiveMQ</a></li>
+    <li><a href="Users" title="Users">Users</a></li>
+    <li><a href="Contributing" title="Contributing">Contributing</a></li>
+    <li><a href="Team" title="Team">Team</a></li>
+  </ul>
+  <h3><a name="Navigation-UsingActiveMQ"></a>Using ActiveMQ</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Getting+Started" title="Getting Started">Getting Started</a></li>
+    <li><a href="Installation" title="Installation">Installation</a></li>
+    <li><a href="Building" title="Building">Building</a></li>
+    <li><a href="Run+Broker" title="Run Broker">Running a Broker</a></li>
+    <li><a href="Examples" title="Examples">Examples</a></li>
+    <li><a href="How+can+I+monitor+ActiveMQ" title="How can I monitor ActiveMQ">Monitoring the Broker</a></li>
+    <li><a href="Xml+Configuration" title="Xml Configuration">Xml Configuration</a></li>
+    <li><a href="Xml+Reference" title="Xml Reference">Xml Reference</a></li>
+    <li><a href="Use+Cases" title="Use Cases">Use Cases</a></li>
+    <li><a href="Topologies" title="Topologies">Topologies</a></li>
+    <li><a href="Configuring+Transports" title="Configuring Transports">Configuring Transports</a></li>
+    <li><a href="How+do+I+embed+a+Broker+inside+a+Connection" title="How do I embed a Broker inside a Connection">Embedded Brokers</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">Performance Testing</a></li>
+    <li><a href="Web+Samples" title="Web Samples">Web Samples</a></li>
+    <li><a href="Hello+World" title="Hello World">Hello World</a></li>
+  </ul>
+  <h3><a name="Navigation-Features"></a>Features</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JMX" title="JMX">JMX</a></li>
+    <li><a href="Performance" title="Performance">Performance</a></li>
+    <li><a href="Protocols" title="Protocols">Protocols</a></li>
+    <li><a href="Persistence" title="Persistence">Persistence</a></li>
+    <li><a href="JDBC+Support" title="JDBC Support">JDBC Support</a></li>
+    <li><a href="Clustering" title="Clustering">Clustering</a></li>
+    <li><a href="Discovery" title="Discovery">Discovery</a></li>
+    <li><a href="Networks+of+Brokers" title="Networks of Brokers">Networks of Brokers</a></li>
+    <li><a href="Composite+Destinations" title="Composite Destinations">Composite Destinations</a></li>
+    <li><a href="JMS+Streams" title="JMS Streams">JMS Streams</a></li>
+    <li><a href="Advisory+Message" title="Advisory Message">Advisory Message</a></li>
+    <li><a href="Resource+Adapter" title="Resource Adapter">JCA 1.5 Resource Adapter</a></li>
+  </ul>
+  <h3><a name="Navigation-Connectivitiy"></a>Connectivitiy</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Ajax" title="Ajax">Ajax</a></li>
+    <li><a href="Axis+Support" title="Axis Support">Axis Support</a></li>
+    <li><a href="C+Integration" title="C Integration">C Integration</a></li>
+    <li><a href="dot+Net" title="dot Net">.Net Integration</a></li>
+    <li><a href="Geronimo" title="Geronimo">Geronimo</a></li>
+    <li><a href="J2EE" title="J2EE">J2EE</a></li>
+    <li><a href="JBoss+Integration" title="JBoss Integration">JBoss Integration</a></li>
+    <li><a href="JNDI+Support" title="JNDI Support">JNDI Support</a></li>
+    <li><a href="OpenWire" title="OpenWire">OpenWire</a></li>
+    <li><a href="REST" title="REST">REST</a></li>
+    <li><a href="Spring+Support" title="Spring Support">Spring Support</a></li>
+    <li><a href="Stomp" title="Stomp">Stomp</a></li>
+    <li><a href="Tomcat" title="Tomcat">Tomcat</a></li>
+    <li><a href="WSIF" title="WSIF">WSIF</a></li>
+  </ul>
+  <h3><a name="Navigation-Utilities"></a>Utilities</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JCA+Container" title="JCA Container">JCA Container</a></li>
+  </ul>
+  <h3><a name="Navigation-ExternalTools"></a>External Tools</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Hermes+Jms" title="Hermes Jms">Hermes Jms</a></li>
+    <li><a href="Sun+JNDI" title="Sun JNDI">Sun JNDI</a></li>
+    <li><span class="nobr"><a href="http://jakarta.apache.org/jmeter" rel="nofollow">JMeter</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://servicemix.org/" rel="nofollow">ServiceMix</a></span></li>
+    <li><span class="nobr"><a href="http://lingo.codehaus.org/" rel="nofollow">Lingo</a></span></li>
+    <li><span class="nobr"><a href="http://jencks.org/" rel="nofollow">Jencks</a></span></li>
+    <li><span class="nobr"><a href="http://stomp.codehaus.org/" rel="nofollow">Stomp</a></span></li>
+    <li><span class="nobr"><a href="http://activecluster.codehaus.org/" rel="nofollow">ActiveCluster</a></span></li>
+    <li><span class="nobr"><a href="http://activespace.codehaus.org/" rel="nofollow">ActiveSpace</a></span></li>
+    <li><span class="nobr"><a href="http://activesoap.codehaus.org/" rel="nofollow">ActiveSOAP</a></span></li>
+    <li><span class="nobr"><a href="http://www.springframework.org/" rel="nofollow">Spring</a></span></li>
+    <li><span class="nobr"><a href="http://geronimo.apache.org/" rel="nofollow">Geronimo</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Support"></a>Support</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Issues</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel" rel="nofollow">Roadmap</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel" rel="nofollow">Change log</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Developers"></a>Developers</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Source" title="Source">Source</a></li>
+    <li><a href="Code+Overview" title="Code Overview">Code Overview</a></li>
+    <li><a href="Wire+Protocol" title="Wire Protocol">Wire Protocol</a></li>
+    <li><a href="ActiveMQ+4.0" title="ActiveMQ 4.0">ActiveMQ 4.0</a></li>
+    <li><a href="Becoming+a+committer" title="Becoming a committer">Becoming a committer</a></li>
+    <li><a href="Integration+Tests" title="Integration Tests">Integration Tests</a></li>
+    <li><a href="Benchmark+Tests" title="Benchmark Tests">Benchmark Tests</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">JMeter Performance Tests</a></li>
+    <li><a href="Release+Guide" title="Release Guide">Release Guide</a></li>
+    <li><a href="JUnit+Reports" title="JUnit Reports">JUnit Reports</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/clover/" rel="nofollow">Clover Report</a></span></li>
+    <li><a href="Source+XRef" title="Source XRef">Source XRef</a></li>
+    <li><a href="Test+Source+XRef" title="Test Source XRef">Test Source XRef</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/activemq.xsd.html" rel="nofollow">XSD</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Toolsweuse"></a>Tools we use</h3><span><span class="nobr"><a href="http://www.yourkit.com" rel="nofollow"><img align="absmiddle" border=0 src="/download/attachments/23786/yourkit.jpg"></a></span></span></span>
+
+            <h3 class="heading3">Feeds</h3>
+            <table border="0" cellspacing="4px">
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a><br/>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false">Site</a>
+              </td>
+            </tr>
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ">News</a>
+              </td>
+            </tr>
+            </table>
+        </td>
+        <td id="rightColumn" valign="top">
+
+          <div id="page_title">
+            <table width="100%">
+              <tr>
+                <td>
+            OpenWire CPP Client 
+                </td>
+                <td align="right">
+            
+                </td>
+              </tr>
+            </table>
+          </div>
+
+
+          <div>
+  <div id="Content">
+    <h1><a name="OpenWireCPPClient-OpenWireC%5CClient"></a>OpenWire C++ Client</h1>
+    <h2><a name="OpenWireCPPClient-Goals"></a>Goals</h2>
+    <p> We want to be able to provide a C++ API to ActiveMQ that retains rough feature-parity with the Java API while at the same time allowing for more flexibility in application design by opening up lower levels of the event system. We have come up with an API / programming model that maximizes the ways in which the messaging library can adapt to the application using it, not the other way around. Specifically, our goals are:</p>
+    <ul>
+      <li>Make no assumption about the threading constraints of the containing application (specifically, allow asynchronous receives within a single-threaded application)</li>
+      <li>Make no assumption about the event loop characteristics of the containing application</li>
+      <li>Make no assumption about libraries needed &ndash; i.e. dont enforce use of a particular library or smart pointer implementation</li>
+      <li>Offer tradeoffs in flexibility versus application complexity</li>
+      <li>Provide distinctly C++-friendly APIs for asynchronous event notification</li>
+      <li>Provide pluggable data transports</li>
+      <li>Maximize portability</li>
+    </ul>
+    <p>It makes no assumptions about the threading or event loop model of the containing application, and so puts no restrictions on C++ program design as inherent costs of doing asynchronous messaging. As a result of this flexible and pluggable design, this library is particularly easy to implement as a native layer to a high-level scripting language interface to ActiveMQ since it makes no assumptions about the threading capabilities of the language.</p>
+    <p>When we use the term programming model, we are referring to the handling of the most complex part of asynchronous messaging APIs &ndash; message delivery to the application.</p>
+    <h2><a name="OpenWireCPPClient-JMS%2FJavaprogrammingmodel"></a>JMS / Java programming model</h2>
+    <p>JMS 1.1 provides two ways for an application to receive messages. One is by a blocking receive in the MsgConsumer class' receive() function. This will suspend the calling thread until a message is received. The other method is through callbacks in subclasses of MessageListener. The OnMessage function is called when a message is received on the topic or queue that the MessageListener was created for.</p>
+    <p>To sum up &ndash; The JMS model imposes a threading structure on the application developer. Either they must use multiple threads each doing synchronous receive() calls, or rely on a separate thread to deliver messages to them. A single-threaded model is impossible.</p>
+    <h2><a name="OpenWireCPPClient-WherewhatsbestforC%5CandJavaAPIsdiverge"></a>Where whats best for C++ and Java APIs diverge</h2>
+    <p>The JMS API enforces a particular model of threading on an application. This is fine and well-accepted in the Java programming space, since Java is designed for it to be easiest to multiplex communications with threads. Threads are very easy and well-supported in Java.</p>
+    <p>However, in C++ the common practice is different. Most C++ programs that handle network communication in an event-driven fashion use an event loop. This is a thread that waits for activity on a number of file descriptors, relying on the OS to wake it up when one has data. File descriptors are the lingua franca of event-driven C and C++ programs, since the OS makes it easy to use them for any kind of event, as well as providing rich functionality to wait on multiple file descriptors at once. In C and C++, threads are error-prone (due to no concurrency features in the language) and often unnecessary when a flexible enough event loop is used. The upshot of this is that the most optimal C++ API for an asynchronous messaging system is one that works within this common practice of C++ programs, rather than imposing arbitrary restrictions. In particular, even background threads that share no data or code with the application can affect it since the interaction of multiple th
 reads and UNIX signals is not well defined.</p>
+    <p>In conclusion, C++ developers expect a level of openness and flexibility when using libraries that can deliver events, so that they can integrate multiple sources of events together without resorting to multithreading. Most libraries that do this properly expose the underlying file descriptor of the network connection directly to the application &ndash; X11 does this for example &ndash; and we will start there with the actual design specification.</p>
+    <p>C++s lower level nature presents many more inherent design decisions than does Java. In particular, one of the largest issues is that there is no standard smart pointer implementation. Boost is popular, but every enterprise has its own, and every developer has personal preference. It is for this reason that this library does not propose to use any particular smart pointer implementation, as it enforces a design decision on enterprises that have their own requirements in that space. Through careful use of references and API semantics we can make memory ownership explicit enough to avoid the pitfalls. As it is, the API policy is that all returned pointers are the application's responsibility to free. This should make it sufficiently unambiguous.</p>
+    <p>We are proposing a three-tiered approach to provide the tradeoff between application simplicity and flexibility. The lowest level will do the least and allow the widest range of applications to use it, the next level will be much more functional, but with some design tradeoffs, and the highest we will leave up to enterprise-specific needs.</p>
+    <h2><a name="OpenWireCPPClient-ProposedC%5CAPIDesign"></a>Proposed C++ API Design</h2>
+    <p>The design that we are proposing consists of two layers. The core library owns no threads and acts simply as a filter &ndash; taking data from the broker in and dispatching messages if necessary. This core layer of the library is exposed to allow those C++ developers who do not want any threads other than their own managing events, and/or want to use non-TCP methods of communication with the broker. The socket to the ActiveMQ broker is be exposed to the application by the transport layer, and data received on it is be passed opaquely to the core library by the application. This allows for asynchronous messaging with a single-threaded program &ndash; a hard requirement for some developers.<br> There are shortcomings to this approach. If the application blocks on some other activity and data from the broker is never processed, the TCP socket will back up and messages will build up on the broker side. Also, the single-threaded nature of the library means that the applica
 tion must do all the I/O work itself, and implement a separate thread in order to make meaningful use of the blocking receive.</p>
+    <p>We can build a second layer (we call it BrokerSession) on top of the first that provides these features &ndash; still integrating into the applications existing event structure, but at the price of a background thread. The background thread handles data from ActiveMQ and passes it to the core library, putting any resulting messages into an internal message buffer (or potentially multiple &ndash; see details below). With this the library can provide a much simpler and more direct messaging interface to the application, since it handles broker communication itself in the same way that an application using the core library would.</p>
+    <p>The second layer simply invokes an interior instance of the first to perform any ActiveMQ-related messaging tasks &ndash; no messaging-system-specific code is outside of the core lower level library. As a result, the second layer is a thin one &ndash; just the thread, interaction with the transport abstraction layer and functionality passthroughs to the core library.</p>
+    <p>There is a third level &ndash; there is a need for higher-level, application framework libraries for messaging, that might take all control flow from the user and provide the simplest possible environment. The lower levels are designed to allow the most flexibility in the design and requirements of the third level, which is most often enterprise-specific and lies outside the scope of this document. An example of a library at this level would be one that provides a framework that makes it easy to write a completely callback-based application. Since this would require that an application be designed for it from the start, it is at this level that design decisions such as selecting a smart pointer implementation would be appropriate. It is likely that for a particular enterprise, most applications would use something like this, which would be implemented as a thin wrapper over the BrokerSession library.</p>
+    <h2><a name="OpenWireCPPClient-Transportlayerabstractionoverview"></a>Transport layer abstraction overview</h2>
+    <p> Similar to ActiveMQ itself, we provide a transport layer abstraction that manages connection and I/O on file descriptors. Initially only TCP socket support will be provided, but there is value in other implementations &ndash; in-process pipe, playing back from a file, UDP, etc. This layer provides logical connect, send, recv, and close operations.</p>
+    <h2><a name="OpenWireCPPClient-Corelibraryoverview"></a>Core library overview</h2>
+    <p>The core layer of the library provides a very simple interface &ndash; data in, messages out.</p>
+    <p>When the returned file descriptor from the transport layer's connect() call reads active in the applications event loop, the application reads available data and passes that to the library. The library itself has an internal buffer that will deliver a message when one has been fully accumulated. The purpose of this disconnect is that the core library <b>will not make any blocking I/O calls &ndash; or any system calls at all for that matter</b>. This satisfies the portability goal, as well as ensuring that a single-threaded application can use this library without the potential for losing control of its thread.</p>
+    <p>Publication and subscription work in the conventional ways, except that they return data to be sent by the transport layer instead of directly sending it. This allows a higher level to determine exactly how the data is sent for example, it allows use of non-blocking I/O.</p>
+    <p>The application is given two choices for message receipt. The library does this by means of one or more internal message consumer objects. There are two kinds one for synchronous receives, and one for asynchronous. The synchronous consumer offers a blocking receive that multiple threads can wait on for messages. The asynchronous message consumer uses an event-based interface, notifying the application that a message is ready via a byte written down a pipe. The NonBlockingMsgConsumer class can dispense its event file descriptor as well as received messages &ndash; the asynchronous receive() call is nonblocking and returns NULL if no message is ready.</p>
+    <h2><a name="OpenWireCPPClient-BrokerSessionlibraryoverview"></a>BrokerSession library overview</h2>
+    <p>The higher level library's interface offers a much simpler and more direct API to the developer than the first layer, as a result of having an internal thread to process data from the ActiveMQ broker.</p>
+    <p>Since the BrokerSession library contains a copy of the core library, ActiveMQ-specific code is kept encapsulated there. The code in the BrokerSession library does the legwork of managing the core library and broker communication for the application. The use of a background thread to do this and deliver incoming messages to the message consumers greatly simplifies application development.</p>
+    <p>As in the core library, message dispatch is done explicitly by the application, not from the background thread. Neither library stores message callbacks &ndash; it is not required that they be used. This ensures that only threads that are known by the calling application execute application code &ndash; the result being that thread-safe programming is not enforced or required (satisfying the goal of not mandating a particular thread model).</p>
+    <p>This library allows both a JMS-like programming model of multiple threads waiting on message queues as well as an event-driven, select-loop model that is more common in C++ programs. This makes it adaptable to the varying requirements of new and existing C++ applications that have design constraints imposed by things other than the messaging library.</p>
+    <h2><a name="OpenWireCPPClient-Logginganderrorhandling"></a>Logging and error handling</h2>
+    <p>To fit with the goals of not enforcing particular dependencies and allowing easy enterprise integration, the libraries have a callback-based model for logging. The application registers callbacks with the library to be called when log events occur for example, an application registers a function to be called for debug messages, a function to be called for error messages, etc. This allows the easiest integration with existing logging systems, as these callbacks can then call directly into the native logging environment (such as syslog) or log to a file, or anything else that is appropriate in the particular application.</p>
+    <p>Error handling is slightly different. The native C++ way of doing error handling is through exceptions. Exceptions work very well for something like the core library, so when an error occurs it will throw an instance of ActiveMQ::Exception to the caller. In the BrokerSession library, however, such exceptions may be caught by the background thread. In this case, that thread will call an application callback to pass along the exception. This ensures that all errors reach the application and can be dealt with appropriately.</p>
+    <p>Default callbacks for both logging and exception handling simply print the relevant message to standard error.</p>
+  </div>
+</div>
+
+          &nbsp;
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="footer">
+          <table width="100%"> 
+            <tr>
+              <td align="left" valign="top">
+          
+              </td>
+              <td align="right" valign="top">
+          <a style="color:#999;" href="http://docs.codehaus.org/pages/editpage.action?spaceKey=ACTIVEMQ&title=OpenWire+CPP+Client">[ edit ]</a>
+              </td>
+            </tr>
+          <table>
+        </td>
+      </tr>
+    </table>
+  </body>
+
+</html>
+
+

Added: incubator/activemq/site/OpenWire+dotNet
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/OpenWire%2BdotNet?rev=374430&view=auto
==============================================================================
--- incubator/activemq/site/OpenWire+dotNet (added)
+++ incubator/activemq/site/OpenWire+dotNet Thu Feb  2 08:31:10 2006
@@ -0,0 +1,248 @@
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <link rel="stylesheet" href="site.css" type="text/css">
+
+
+
+    <title>ActiveMQ - OpenWire dotNet</title>
+  </head>
+
+  <body>
+    <table width="100%" id="layout" style="padding:0px;margin0px;border-collapse:collapse;">
+      <tr>
+        <td colspan="3" style="padding:8px;">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr id="header_row">
+              <td align="left" valign="middle" style="padding:0px;margin:0px;">
+                <span id="Content"><span><span class="nobr"><a href="http://incubator.apache.org/activemq" rel="nofollow"><img align="absmiddle" border=0 src="images/logo.gif"></a></span></span></span>
+
+              </td>
+              
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="breadcrumbs">
+          <table width="100%" id="banner" style="padding:0px;margin:0px">
+            <tr>
+              <td align="left">
+                <a href="">Home</a>  | <a href="Navigation">Navigation</a> &gt; <a href="OpenWire">OpenWire</a> &gt; OpenWire dotNet
+              </td>
+              <td align="right">
+                  <span id="Content"><span><a href="Download" title="Download">Download</a> | <span class="nobr"><a href="http://activemq.codehaus.org/maven/apidocs/" rel="nofollow">JavaDocs for 4.x</a></span> <span class="nobr"><a href="http://activemq.org/maven/activemq-3/activemq-core/apidocs/" rel="nofollow">3.x</a></span> | <a href="Source" title="Source">Source</a> | <span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span> |<span class="nobr"><a href="irc://irc.codehaus.org/activemq" rel="nofollow">IRC</a></span> | <span class="nobr"><a href="http://servlet.uwyn.com/drone/log/hausbot/activemq" rel="nofollow">IRC Log</a></span> | <a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a> | <span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span> | <span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Support
 </a></span></span></span>
+
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+      <tr>
+        <td id="leftColumn" valign="top" style="padding-top: 0px;">
+          <span id="Content"><h3><a name="Navigation-Overview"></a>Overview</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Home" title="Home">Home</a></li>
+    <li><a href="News" title="News">News</a></li>
+    <li><a href="Changes+in+4.0" title="Changes in 4.0">New in 4.0</a></li>
+    <li><a href="FAQ" title="FAQ">FAQ</a></li>
+    <li><a href="Articles" title="Articles">Articles</a></li>
+    <li><a href="Download" title="Download">Download</a></li>
+  </ul>
+  <h3><a name="Navigation-Community"></a>Community</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://forums.logicblaze.com/forums/show/1.page" rel="nofollow">Discussion Forum</a></span></li>
+    <li><a href="Mailing+Lists" title="Mailing Lists">Mailing Lists</a></li>
+    <li><span class="nobr"><a href="http://gmane.org/find.php?list=activemq" rel="nofollow">News Reader</a></span></li>
+    <li><span class="nobr"><a href="http://docs.codehaus.org/pages/listpages.action?key=ACTIVEMQ" rel="nofollow">Wiki</a></span></li>
+    <li><a href="Projects+Using+ActiveMQ" title="Projects Using ActiveMQ">Projects Using ActiveMQ</a></li>
+    <li><a href="Users" title="Users">Users</a></li>
+    <li><a href="Contributing" title="Contributing">Contributing</a></li>
+    <li><a href="Team" title="Team">Team</a></li>
+  </ul>
+  <h3><a name="Navigation-UsingActiveMQ"></a>Using ActiveMQ</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Getting+Started" title="Getting Started">Getting Started</a></li>
+    <li><a href="Installation" title="Installation">Installation</a></li>
+    <li><a href="Building" title="Building">Building</a></li>
+    <li><a href="Run+Broker" title="Run Broker">Running a Broker</a></li>
+    <li><a href="Examples" title="Examples">Examples</a></li>
+    <li><a href="How+can+I+monitor+ActiveMQ" title="How can I monitor ActiveMQ">Monitoring the Broker</a></li>
+    <li><a href="Xml+Configuration" title="Xml Configuration">Xml Configuration</a></li>
+    <li><a href="Xml+Reference" title="Xml Reference">Xml Reference</a></li>
+    <li><a href="Use+Cases" title="Use Cases">Use Cases</a></li>
+    <li><a href="Topologies" title="Topologies">Topologies</a></li>
+    <li><a href="Configuring+Transports" title="Configuring Transports">Configuring Transports</a></li>
+    <li><a href="How+do+I+embed+a+Broker+inside+a+Connection" title="How do I embed a Broker inside a Connection">Embedded Brokers</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">Performance Testing</a></li>
+    <li><a href="Web+Samples" title="Web Samples">Web Samples</a></li>
+    <li><a href="Hello+World" title="Hello World">Hello World</a></li>
+  </ul>
+  <h3><a name="Navigation-Features"></a>Features</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JMX" title="JMX">JMX</a></li>
+    <li><a href="Performance" title="Performance">Performance</a></li>
+    <li><a href="Protocols" title="Protocols">Protocols</a></li>
+    <li><a href="Persistence" title="Persistence">Persistence</a></li>
+    <li><a href="JDBC+Support" title="JDBC Support">JDBC Support</a></li>
+    <li><a href="Clustering" title="Clustering">Clustering</a></li>
+    <li><a href="Discovery" title="Discovery">Discovery</a></li>
+    <li><a href="Networks+of+Brokers" title="Networks of Brokers">Networks of Brokers</a></li>
+    <li><a href="Composite+Destinations" title="Composite Destinations">Composite Destinations</a></li>
+    <li><a href="JMS+Streams" title="JMS Streams">JMS Streams</a></li>
+    <li><a href="Advisory+Message" title="Advisory Message">Advisory Message</a></li>
+    <li><a href="Resource+Adapter" title="Resource Adapter">JCA 1.5 Resource Adapter</a></li>
+  </ul>
+  <h3><a name="Navigation-Connectivitiy"></a>Connectivitiy</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Ajax" title="Ajax">Ajax</a></li>
+    <li><a href="Axis+Support" title="Axis Support">Axis Support</a></li>
+    <li><a href="C+Integration" title="C Integration">C Integration</a></li>
+    <li><a href="dot+Net" title="dot Net">.Net Integration</a></li>
+    <li><a href="Geronimo" title="Geronimo">Geronimo</a></li>
+    <li><a href="J2EE" title="J2EE">J2EE</a></li>
+    <li><a href="JBoss+Integration" title="JBoss Integration">JBoss Integration</a></li>
+    <li><a href="JNDI+Support" title="JNDI Support">JNDI Support</a></li>
+    <li><a href="OpenWire" title="OpenWire">OpenWire</a></li>
+    <li><a href="REST" title="REST">REST</a></li>
+    <li><a href="Spring+Support" title="Spring Support">Spring Support</a></li>
+    <li><a href="Stomp" title="Stomp">Stomp</a></li>
+    <li><a href="Tomcat" title="Tomcat">Tomcat</a></li>
+    <li><a href="WSIF" title="WSIF">WSIF</a></li>
+  </ul>
+  <h3><a name="Navigation-Utilities"></a>Utilities</h3>
+  <ul class="alternate" type="square">
+    <li><a href="JCA+Container" title="JCA Container">JCA Container</a></li>
+  </ul>
+  <h3><a name="Navigation-ExternalTools"></a>External Tools</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Hermes+Jms" title="Hermes Jms">Hermes Jms</a></li>
+    <li><a href="Sun+JNDI" title="Sun JNDI">Sun JNDI</a></li>
+    <li><span class="nobr"><a href="http://jakarta.apache.org/jmeter" rel="nofollow">JMeter</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://servicemix.org/" rel="nofollow">ServiceMix</a></span></li>
+    <li><span class="nobr"><a href="http://lingo.codehaus.org/" rel="nofollow">Lingo</a></span></li>
+    <li><span class="nobr"><a href="http://jencks.org/" rel="nofollow">Jencks</a></span></li>
+    <li><span class="nobr"><a href="http://stomp.codehaus.org/" rel="nofollow">Stomp</a></span></li>
+    <li><span class="nobr"><a href="http://activecluster.codehaus.org/" rel="nofollow">ActiveCluster</a></span></li>
+    <li><span class="nobr"><a href="http://activespace.codehaus.org/" rel="nofollow">ActiveSpace</a></span></li>
+    <li><span class="nobr"><a href="http://activesoap.codehaus.org/" rel="nofollow">ActiveSOAP</a></span></li>
+    <li><span class="nobr"><a href="http://www.springframework.org/" rel="nofollow">Spring</a></span></li>
+    <li><span class="nobr"><a href="http://geronimo.apache.org/" rel="nofollow">Geronimo</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Support"></a>Support</h3>
+  <ul class="alternate" type="square">
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ" rel="nofollow">Issues</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:roadmap-panel" rel="nofollow">Roadmap</a></span></li>
+    <li><span class="nobr"><a href="http://jira.logicblaze.com/jira/browse/AMQ?report=com.atlassian.jira.plugin.system.project:changelog-panel" rel="nofollow">Change log</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Developers"></a>Developers</h3>
+  <ul class="alternate" type="square">
+    <li><a href="Source" title="Source">Source</a></li>
+    <li><a href="Code+Overview" title="Code Overview">Code Overview</a></li>
+    <li><a href="Wire+Protocol" title="Wire Protocol">Wire Protocol</a></li>
+    <li><a href="ActiveMQ+4.0" title="ActiveMQ 4.0">ActiveMQ 4.0</a></li>
+    <li><a href="Becoming+a+committer" title="Becoming a committer">Becoming a committer</a></li>
+    <li><a href="Integration+Tests" title="Integration Tests">Integration Tests</a></li>
+    <li><a href="Benchmark+Tests" title="Benchmark Tests">Benchmark Tests</a></li>
+    <li><a href="JMeter+Performance+Tests" title="JMeter Performance Tests">JMeter Performance Tests</a></li>
+    <li><a href="Release+Guide" title="Release Guide">Release Guide</a></li>
+    <li><a href="JUnit+Reports" title="JUnit Reports">JUnit Reports</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/clover/" rel="nofollow">Clover Report</a></span></li>
+    <li><a href="Source+XRef" title="Source XRef">Source XRef</a></li>
+    <li><a href="Test+Source+XRef" title="Test Source XRef">Test Source XRef</a></li>
+    <li><span class="nobr"><a href="http://activemq.codehaus.org/maven/activemq.xsd.html" rel="nofollow">XSD</a></span></li>
+  </ul>
+  <h3><a name="Navigation-Toolsweuse"></a>Tools we use</h3><span><span class="nobr"><a href="http://www.yourkit.com" rel="nofollow"><img align="absmiddle" border=0 src="/download/attachments/23786/yourkit.jpg"></a></span></span></span>
+
+            <h3 class="heading3">Feeds</h3>
+            <table border="0" cellspacing="4px">
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a><br/>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/rss.action?key=ACTIVEMQ&newPages=false">Site</a>
+              </td>
+            </tr>
+            <tr>
+              <td align="right">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ"><img src="http://docs.codehaus.org/images/icons/rss.gif" border="0"></a>
+              </td>
+              <td align="left">
+                <a href="http://docs.codehaus.org/spaces/blogrss.action?key=ACTIVEMQ">News</a>
+              </td>
+            </tr>
+            </table>
+        </td>
+        <td id="rightColumn" valign="top">
+
+          <div id="page_title">
+            <table width="100%">
+              <tr>
+                <td>
+            OpenWire dotNet 
+                </td>
+                <td align="right">
+            
+                </td>
+              </tr>
+            </table>
+          </div>
+
+
+          <div>
+  <div id="Content">
+    <p><a href="OpenWire" title="OpenWire">OpenWire</a> .Net is still under development. This page currently hosts development notes.</p>
+    <p>You can use <span class="nobr"><a href="http://www.mono-project.com" rel="nofollow">Mono</a></span> to build the code on Linux and OS X. The build uses <span class="nobr"><a href="http://nant.sourceforge.net/" rel="nofollow">NAnt</a></span>.</p>
+    <h3><a name="OpenWiredotNet-BuildingthecodeonOSX"></a>Building the code on OS X</h3>
+    <p>To use NAnt on OSX</p>
+    <ul>
+      <li>download the binary of <span class="nobr"><a href="http://nant.sourceforge.net/" rel="nofollow">NAnt</a></span></li>
+      <li>create a script file called nant</li>
+      <li>chmod a+x nant</li>
+      <li>put the following into the script...</li>
+    </ul>
+    <p class="paragraph">
+      <div class="code">
+        <div class="codeContent"><pre class="code-java">#!/bin/sh
+exec /usr/bin/mono /path/to/nant/NAnt.exe <span class="code-quote">&quot;$@&quot;</span></pre></div>
+      </div>
+    </p>
+    <p>Thanks to the hints from <span class="nobr"><a href="http://cs-sdl.sourceforge.net/index.php/The_absolute_newbies_guide_to_SDL.NET" rel="nofollow">this page</a></span>.</p>
+    <h3><a name="OpenWiredotNet-UsingEclipsetoeditC%23"></a>Using Eclipse to edit C#</h3>
+    <p>You can use Eclipse as your IDE to edit C# code. If you are on Windows then we highly recommend using <span class="nobr"><a href="http://www.jetbrains.com/resharper/" rel="nofollow">ReSharper</a></span> - its a shame there is not a distro for OS X and Linux <img align="absmiddle" alt="" border=0 class="emoticon" height=20 src="/images/icons/emoticons/sad.gif" width=20>.</p>
+    <p>If you want to use Eclipse there are the following two C# eclipse plugins we are aware of</p>
+    <ul>
+      <li><span class="nobr"><a href="http://black-sun.sourceforge.net/" rel="nofollow">BlackSun</a></span></li>
+      <li><span class="nobr"><a href="http://www.improve-technologies.com/alpha/esharp/" rel="nofollow">Improve C#</a></span></li>
+    </ul>
+    <p>We tend to use BlackSun as it has auto-format and outline view support along with compiler warnings (though you might want to change the default font size).</p>
+  </div>
+</div>
+
+          &nbsp;
+        </td>
+      </tr>
+      <tr>
+        <td colspan="3" id="footer">
+          <table width="100%"> 
+            <tr>
+              <td align="left" valign="top">
+          
+              </td>
+              <td align="right" valign="top">
+          <a style="color:#999;" href="http://docs.codehaus.org/pages/editpage.action?spaceKey=ACTIVEMQ&title=OpenWire+dotNet">[ edit ]</a>
+              </td>
+            </tr>
+          <table>
+        </td>
+      </tr>
+    </table>
+  </body>
+
+</html>
+
+



Mime
View raw message