activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tim.b...@sensis.com>
Subject Re: NullPointerException from ActiveMQDestination
Date Mon, 23 Jul 2007 11:43:56 GMT
I'd recommend that you use a stable release of ActiveMQ.  ActiveMQ-CPP
is known to with v4.1.1 of the broker which is the latest stable
release.  There do appear to be some issues with communications with the
5.0-SNAPSHOT broker.


On Mon, 2007-07-23 at 02:02 -0700, seamuskerrigan wrote:
> I'm running on Red Hat Linux 3 and using g++ compiler.
> 
> Here is the C++ code that I'm running (it's taken from the
> HelloWorldProducer example from activemq-cpp). The line in bold is causing
> the NullPointerException in ActiveMQ.
> 
>  	cms::Connection* connection;
>     	Session* session;
>     	Destination* destination;
>     	MessageProducer* producer;
>     	int numMessages;
>     	bool useTopic = false;
>     	std::string brokerURI = "tcp://localhost:61616?wireFormat=openwire";
>         	
>   	try {
>             // Create a ConnectionFactory
>             ActiveMQConnectionFactory* connectionFactory =
>                 new ActiveMQConnectionFactory();
> 	    connectionFactory->setBrokerURL( brokerURI );
> 			
> 			
>             // Create a Connection
>             connection = connectionFactory->createConnection();
>             connection->start();
> 
>             // free the factory, we are done with it.
>             delete connectionFactory;
> 
>             // Create a Session
>             session = connection->createSession( Session::AUTO_ACKNOWLEDGE
> );
> 
>             // Create the destination (Topic or Queue)
>             if( useTopic ) {
>                 destination = session->createTopic( "TEST.FOO" );
>             } else {
>                 destination = session->createQueue( "TEST.FOO" );
>             }
>             		
>             // Create a MessageProducer from the Session to the Topic or
> Queue
>             producer = session->createProducer( destination );
>             producer->setDeliveryMode( DeliveryMode::NON_PERSISTENT );
> 
>             // Create the Thread Id String
>             string threadIdStr = Integer::toString(
> activemq::concurrent::Thread::getId() );
> 
>             // Create a messages
>             string text = (string)"Hello world! from thread ";
> 			
>            for( int ix=0; ix<1; ix++ ){
>                 TextMessage* message = session->createTextMessage( text );
> 
>                 message->setIntProperty( "Integer", ix );
> 
>                 // Tell the producer to send the message
>                 printf( "Sent message #%d from thread %s\n", ix,
> threadIdStr.c_str() );
>                 producer->send( message );
> 				
>                 delete message;
>             }
> 
>         }catch ( CMSException& e ) {
>             e.printStackTrace();
>         }
> 
> 
> Tim Bish wrote:
> > 
> > Could you provide the C++ code?  Also what platform and compiler?
> > 
> > Rob Davies wrote:
> >> the c++ code must be passing in a null value for the destination name
> >>
> >> On Jul 21, 2007, at 4:16 PM, seamuskerrigan wrote:
> >>
> >>>
> >>> I have succesfully set-up and ran the activemq-cpp example. However, 
> >>> when I
> >>> try integrating the HelloWorldProducer into an existing C++ process, 
> >>> I've
> >>> been running into problems creating the TEST.FOO queue. I have tested 
> >>> this
> >>> using ActiveMQ 4.1.1 and 5.0 on Red Hat Linux with the same exception.
> >>>
> >>> I have started ActiveMQ succesfully and connect to
> >>> "tcp://localhost:61616?wireFormat=openwire". But when the C++ code 
> >>> attemps
> >>> the queue creation of TEST.FOO, I get the following exception in the
> >>> ActiveMQ console window (using 5.0):
> >>>
> >>> Exception in thread "ActiveMQ Transport: tcp:///localhost:49120"
> >>> java.lang.NullPointerException
> >>>         at
> >>> org.apache.activemq.command.ActiveMQDestination.setPhysicalName(ActiveMQDestination.java:204)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.v2.ActiveMQDestinationMarshaller.looseUnmarshal(ActiveMQDestinationMarshaller.java:98)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.v2.ActiveMQQueueMarshaller.looseUnmarshal(ActiveMQQueueMarshaller.java:101)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.OpenWireFormat.looseUnmarshalNestedObject(OpenWireFormat.java:450)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.v2.BaseDataStreamMarshaller.looseUnmarsalCachedObject(BaseDataStreamMarshaller.java:454)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.v2.ProducerInfoMarshaller.looseUnmarshal(ProducerInfoMarshaller.java:134)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:351)

> >>>
> >>>         at
> >>> org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:275)

> >>>
> >>>         at
> >>> org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156)

> >>>
> >>>         at
> >>> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136)

> >>>
> >>>         at java.lang.Thread.run(Thread.java:595)
> >>>
> >>>
> >>> The port number in the above trace is 49120 but this varies between 
> >>> runs of
> >>> ActiveMQ.
> >>>
> >>> The executing C++ reports the following exception:
> >>> free(): invalid pointer 0xb54ca26c!
> >>> response from futureResponse was invalid
> >>>         FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 145
> >>>         FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 152
> >>>         FILE: activemq/connector/openwire/OpenWireFormatNegotiator.cpp,
> >>> LINE: 105
> >>>         FILE: activemq/connector/openwire/OpenWireConnector.cpp, 
> >>> LINE: 1468
> >>>         FILE: activemq/connector/openwire/OpenWireConnector.cpp, 
> >>> LINE: 757
> >>>         FILE: activemq/core/ActiveMQSession.cpp, LINE: 376
> >>>
> >>>
> >>> I'm not sure what is causing this issue. Any help would be appreciated.
> >>>
> >>> -- 
> >>> View this message in context: 
> >>> http://www.nabble.com/NullPointerException-from-ActiveMQDestination-tf4122144s2354.html#a11723114

> >>>
> >>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >>>
> > 
> > 
> > 
> > 
> 

Mime
View raw message