activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nmitt...@apache.org
Subject svn commit: r431268 - in /incubator/activemq/trunk/activemq-cpp/src/examples: examples.vcproj main.cpp
Date Sun, 13 Aug 2006 23:01:56 GMT
Author: nmittler
Date: Sun Aug 13 16:01:56 2006
New Revision: 431268

URL: http://svn.apache.org/viewvc?rev=431268&view=rev
Log:
AMQ-874 - updating example on the wiki for basic activemq-cpp usage

Added:
    incubator/activemq/trunk/activemq-cpp/src/examples/examples.vcproj
Modified:
    incubator/activemq/trunk/activemq-cpp/src/examples/main.cpp

Added: incubator/activemq/trunk/activemq-cpp/src/examples/examples.vcproj
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/examples/examples.vcproj?rev=431268&view=auto
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/examples/examples.vcproj (added)
+++ incubator/activemq/trunk/activemq-cpp/src/examples/examples.vcproj Sun Aug 13 16:01:56
2006
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="examples"
+	ProjectGUID="{5830D72A-1239-45B7-B94E-04153B2D4EA4}"
+	RootNamespace="examples"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="&quot;D:\Program Files\Microsoft Platform SDK\Include&quot;;&quot;E:\Eclipse\ActiveMQ\activemq-cpp\src\main&quot;;&quot;E:\dev\cppunit-1.11.6\include&quot;;&quot;E:\Eclipse\ActiveMQ\activemq-cpp\src\test&quot;"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="2"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="activemq-cpp.lib ws2_32.lib cppunitd.lib rpcrt4.lib"
+				LinkIncremental="2"
+				AdditionalLibraryDirectories="&quot;E:\dev\cppunit-1.11.6\lib&quot;;&quot;D:\Program
Files\Microsoft Platform SDK\Lib&quot;;&quot;E:\Eclipse\ActiveMQ\activemq-cpp\src\main\Debug&quot;"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="kernel32.lib $(NoInherit)"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath=".\main.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: incubator/activemq/trunk/activemq-cpp/src/examples/main.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/examples/main.cpp?rev=431268&r1=431267&r2=431268&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/examples/main.cpp (original)
+++ incubator/activemq/trunk/activemq-cpp/src/examples/main.cpp Sun Aug 13 16:01:56 2006
@@ -1,243 +1,243 @@
-
-// START SNIPPET: demo
-
-#include <activemq/concurrent/Thread.h>
-#include <activemq/concurrent/Runnable.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 : public Runnable {
-private:
-	
-	Connection* connection;
-	Session* session;
-	Destination* destination;
-	MessageProducer* producer;
-	int numMessages;
-
-public:
-	
-	HelloWorldProducer( int numMessages ){
-		connection = NULL;
-    	session = NULL;
-    	destination = NULL;
-    	producer = NULL;
-    	this->numMessages = numMessages;
-	}
-	
-	virtual ~HelloWorldProducer(){
-		cleanup();
-	}
-	
-    virtual void run() {
-        try {
-            // Create a ConnectionFactory
-            ActiveMQConnectionFactory* connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61613");
-
-            // Create a Connection
-            connection = connectionFactory->createConnection();
-            connection->start();
-
-            // Create a Session
-            session = connection->createSession( Session::AutoAcknowledge );
-
-            // Create the destination (Topic or Queue)
-            destination = session->createQueue("TEST.FOO");
-
-            // Create a MessageProducer from the Session to the Topic or Queue
-            producer = session->createProducer(*destination);
-            producer->setDeliveryMode( Message::NONPERSISTANT);
-
-            // Stringify the thread id
-            char threadIdStr[100];
-            itoa( Thread::getId(), threadIdStr, 10 );
-            
-            // Create a messages
-            string text = (string)"Hello world! from thread " + threadIdStr;
-            
-            for( int ix=0; ix<numMessages; ++ix ){
-	            TextMessage* message = session->createTextMessage( text );
-
-    	        // Tell the producer to send the message
-        	    printf( "Sent message from thread %s\n", threadIdStr );
-            	producer->send(*message);
-            	
-            	delete message;
-            }
-			
-        }catch (CMSException& e) {
-            e.printStackTrace();
-        }
-    }
-    
-private:
-
-    void cleanup(){
-    	
-    		// Close open resources.
-    		try{
-    			if( session != NULL ) session->close();
-    			if( connection != NULL ) connection->close();
-			}catch (CMSException& e) {}
-			
-			// Destroy resources.
-			try{                        
-            	if( destination != NULL ) delete destination;
-			}catch (CMSException& e) {}
-			destination = NULL;
-			
-			try{
-	            if( producer != NULL ) delete producer;
-			}catch (CMSException& e) {}
-			producer = NULL;
-			
-			try{
-            	if( session != NULL ) delete session;
-			}catch (CMSException& e) {}
-			session = NULL;
-			
-			try{
-            	if( connection != NULL ) delete connection;
-			}catch (CMSException& e) {}
-    		connection = NULL;
-    }
-};
-
-class HelloWorldConsumer : public ExceptionListener, 
-                           public MessageListener,
-                           public Runnable {
-	
-private:
-	
-	Connection* connection;
-	Session* session;
-	Destination* destination;
-	MessageConsumer* consumer;
-	long waitMillis;
-		
-public: 
-
-	HelloWorldConsumer( long waitMillis ){
-		connection = NULL;
-    	session = NULL;
-    	destination = NULL;
-    	consumer = NULL;
-    	this->waitMillis = waitMillis;
-	}
-    virtual ~HelloWorldConsumer(){    	
-    	cleanup();
-    }
-    
-    virtual void run() {
-    	    	
-        try {
-
-            // Create a ConnectionFactory
-            ActiveMQConnectionFactory* connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61613");
-
-            // Create a Connection
-            connection = connectionFactory->createConnection();
-            delete connectionFactory;
-            connection->start();
-            
-            connection->setExceptionListener(this);
-
-            // Create a Session
-            session = connection->createSession( Session::AutoAcknowledge );
-
-            // Create the destination (Topic or Queue)
-            destination = session->createQueue("TEST.FOO");
-
-            // Create a MessageConsumer from the Session to the Topic or Queue
-            consumer = session->createConsumer(*destination);
-            
-            consumer->setMessageListener( this );
-            
-            // Sleep while asynchronous messages come in.
-            Thread::sleep( waitMillis );		
-            
-        } catch (CMSException& e) {
-            e.printStackTrace();
-        }
-    }
-    
-    virtual void onMessage( const Message& message ){
-    	
-        try
-        {
-    	    const TextMessage& textMessage = dynamic_cast<const TextMessage&>(message);
-            string text = textMessage.getText();
-            printf( "Received: %s\n", text.c_str() );
-        }
-        catch( std::bad_cast& ex )
-        {
-            printf( "Received something other than a text Message\n" );
-        }
-    }
-
-    virtual void onException( const CMSException& ex ) {
-        printf("JMS Exception occured.  Shutting down client.\n");
-    }
-    
-private:
-
-    void cleanup(){
-    	
-		// Close open resources.
-		try{
-			if( session != NULL ) session->close();
-			if( connection != NULL ) connection->close();
-		}catch (CMSException& e) {}
-		
-		// Destroy resources.
-		try{                        
-        	if( destination != NULL ) delete destination;
-		}catch (CMSException& e) {}
-		destination = NULL;
-		
-		try{
-            if( consumer != NULL ) delete consumer;
-		}catch (CMSException& e) {}
-		consumer = NULL;
-		
-		try{
-        	if( session != NULL ) delete session;
-		}catch (CMSException& e) {}
-		session = NULL;
-		
-		try{
-        	if( connection != NULL ) delete connection;
-		}catch (CMSException& e) {}
-		connection = NULL;
-    }
-};
-    
-void main(int argc, char* argv[]) {
-    
-    HelloWorldProducer producer( 1000 );
-	HelloWorldConsumer consumer( 5000 );
-	
-	// Start the consumer thread.
-	Thread consumerThread( &consumer );
-	consumerThread.start();
-	
-	// Start the producer thread.
-	Thread producerThread( &producer );
-	producerThread.start();
-
-	// Wait for the threads to complete.
-	producerThread.join();
-	consumerThread.join();
-}
-    
-// END SNIPPET: demo
+
+// START SNIPPET: demo
+
+#include <activemq/concurrent/Thread.h>
+#include <activemq/concurrent/Runnable.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 : public Runnable {
+private:
+	
+	Connection* connection;
+	Session* session;
+	Destination* destination;
+	MessageProducer* producer;
+	int numMessages;
+
+public:
+	
+	HelloWorldProducer( int numMessages ){
+		connection = NULL;
+    	session = NULL;
+    	destination = NULL;
+    	producer = NULL;
+    	this->numMessages = numMessages;
+	}
+	
+	virtual ~HelloWorldProducer(){
+		cleanup();
+	}
+	
+    virtual void run() {
+        try {
+            // Create a ConnectionFactory
+            ActiveMQConnectionFactory* connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61613");
+
+            // Create a Connection
+            connection = connectionFactory->createConnection();
+            connection->start();
+
+            // Create a Session
+            session = connection->createSession( Session::AUTO_ACKNOWLEDGE );
+
+            // Create the destination (Topic or Queue)
+            destination = session->createQueue( "TEST.FOO" );
+
+            // Create a MessageProducer from the Session to the Topic or Queue
+            producer = session->createProducer( destination );
+            producer->setDeliveryMode( DeliveryMode::NON_PERSISTANT );
+
+            // Stringify the thread id
+            char threadIdStr[100];
+            itoa( Thread::getId(), threadIdStr, 10 );
+            
+            // Create a messages
+            string text = (string)"Hello world! from thread " + threadIdStr;
+            
+            for( int ix=0; ix<numMessages; ++ix ){
+	            TextMessage* message = session->createTextMessage( text );
+
+    	        // Tell the producer to send the message
+        	    printf( "Sent message from thread %s\n", threadIdStr );
+            	producer->send( message );
+            	
+            	delete message;
+            }
+			
+        }catch ( CMSException& e ) {
+            e.printStackTrace();
+        }
+    }
+    
+private:
+
+    void cleanup(){
+    				
+			// Destroy resources.
+			try{                        
+            	if( destination != NULL ) delete destination;
+			}catch ( CMSException& e ) {}
+			destination = NULL;
+			
+			try{
+	            if( producer != NULL ) delete producer;
+			}catch ( CMSException& e ) {}
+			producer = NULL;
+			
+    		// Close open resources.
+    		try{
+    			if( session != NULL ) session->close();
+    			if( connection != NULL ) connection->close();
+			}catch ( CMSException& e ) {}
+
+			try{
+            	if( session != NULL ) delete session;
+			}catch ( CMSException& e ) {}
+			session = NULL;
+			
+            try{
+            	if( connection != NULL ) delete connection;
+			}catch ( CMSException& e ) {}
+    		connection = NULL;
+    }
+};
+
+class HelloWorldConsumer : public ExceptionListener, 
+                           public MessageListener,
+                           public Runnable {
+	
+private:
+	
+	Connection* connection;
+	Session* session;
+	Destination* destination;
+	MessageConsumer* consumer;
+	long waitMillis;
+		
+public: 
+
+	HelloWorldConsumer( long waitMillis ){
+		connection = NULL;
+    	session = NULL;
+    	destination = NULL;
+    	consumer = NULL;
+    	this->waitMillis = waitMillis;
+	}
+    virtual ~HelloWorldConsumer(){    	
+    	cleanup();
+    }
+    
+    virtual void run() {
+    	    	
+        try {
+
+            // Create a ConnectionFactory
+            ActiveMQConnectionFactory* connectionFactory = 
+                new ActiveMQConnectionFactory( "tcp://127.0.0.1:61613" );
+
+            // Create a Connection
+            connection = connectionFactory->createConnection();
+            delete connectionFactory;
+            connection->start();
+            
+            connection->setExceptionListener(this);
+
+            // Create a Session
+            session = connection->createSession( Session::AUTO_ACKNOWLEDGE );
+
+            // Create the destination (Topic or Queue)
+            destination = session->createQueue( "TEST.FOO" );
+
+            // Create a MessageConsumer from the Session to the Topic or Queue
+            consumer = session->createConsumer( destination );
+            
+            consumer->setMessageListener( this );
+            
+            // Sleep while asynchronous messages come in.
+            Thread::sleep( waitMillis );		
+            
+        } catch (CMSException& e) {
+            e.printStackTrace();
+        }
+    }
+    
+    virtual void onMessage( const Message* message ){
+    	
+        try
+        {
+    	    const TextMessage* textMessage = 
+                dynamic_cast< const TextMessage* >( message );
+            string text = textMessage->getText();
+            printf( "Received: %s\n", text.c_str() );
+        } catch (CMSException& e) {
+            e.printStackTrace();
+        }
+    }
+
+    virtual void onException( const CMSException& ex ) {
+        printf("JMS Exception occured.  Shutting down client.\n");
+    }
+    
+private:
+
+    void cleanup(){
+    	
+		// Destroy resources.
+		try{                        
+        	if( destination != NULL ) delete destination;
+		}catch (CMSException& e) {}
+		destination = NULL;
+		
+		try{
+            if( consumer != NULL ) delete consumer;
+		}catch (CMSException& e) {}
+		consumer = NULL;
+		
+		// Close open resources.
+		try{
+			if( session != NULL ) session->close();
+			if( connection != NULL ) connection->close();
+		}catch (CMSException& e) {}
+		
+        try{
+        	if( session != NULL ) delete session;
+		}catch (CMSException& e) {}
+		session = NULL;
+		
+		try{
+        	if( connection != NULL ) delete connection;
+		}catch (CMSException& e) {}
+		connection = NULL;
+    }
+};
+    
+void main(int argc, char* argv[]) {
+    
+    HelloWorldProducer producer( 1000 );
+	HelloWorldConsumer consumer( 5000 );
+	
+	// Start the consumer thread.
+	Thread consumerThread( &consumer );
+	consumerThread.start();
+	
+	// Start the producer thread.
+	Thread producerThread( &producer );
+	producerThread.start();
+
+	// Wait for the threads to complete.
+	producerThread.join();
+	consumerThread.join();
+}
+    
+// END SNIPPET: demo



Mime
View raw message