Hi,

if you create a JMS Message with CorrellationID ( byte [] x = new byte
[]{0,0,0} ), then you receive such exceptions. I dont know whether it is a
bug or a feature ...




Hasnain Muhammad Iqbal wrote:
> 
> Hi,
> 
> I am running IBM Performance Harness with ActiveMQ 4.1.1 and it is giving
> me
> bad string error (Caused by: java.io.UTFDataFormatException: bad string)
> when it is unmashalling the data on correlationId  ... the database is
> Derby
> and i am using jdbcPersistance adapter for persistence. Can someone pls
> telling why this is happening.
> 
> O.S = Ubuntu
> version=4.1.1 (ActiveMQ)
> IBM Performance Harness address:
> http://www.alphaworks.ibm.com/tech/perfharness
> 
> *
> The command that i ran for testing is:*
> 
> java -cp ./apache-activemq-4.1.1.jar:./perfharness.jar JMSPerfHarness -tc
> jms.r11.PutGet -nt 1 -pp -tx -pc JNDI -ii
> org.apache.activemq.jndi.ActiveMQInitialContextFactory -iu
> tcp://localhost:61616 -cf ConnectionFactory -d dynamicQueues/myqueue -rl
> 20
> -mu true -rt 100 -mf message.txt
> 
> *ActiveMQ configuration:*
> 
> <beans>
> 
>   <!-- Allows us to use system properties as variables in this
> configuration
> file -->
>   <bean class="
> org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
> 
>   <broker brokerName="localhost" useJmx="true" xmlns="
> http://activemq.org/config/1.0";>
> 
>     <!-- In ActiveMQ 4, you can setup destination policies -->
>     <destinationPolicy>
>       <policyMap><policyEntries>
> 
>           <policyEntry topic="FOO.>">
>             <dispatchPolicy>
>               <strictOrderDispatchPolicy />
>             </dispatchPolicy>
>             <subscriptionRecoveryPolicy>
>               <lastImageSubscriptionRecoveryPolicy />
>             </subscriptionRecoveryPolicy>
>           </policyEntry>
> 
>       </policyEntries></policyMap>
>     </destinationPolicy>
> 
> 
>     <persistenceAdapter>
>       <jdbcPersistenceAdapter  dataSource="#derby-ds"/>
>     </persistenceAdapter>
> 
>     <transportConnectors>
>        <transportConnector name="openwire" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>        <transportConnector name="ssl"     uri="ssl://localhost:61617"/>
>        <transportConnector name="stomp"   uri="stomp://localhost:61613"/>
>     </transportConnectors>
> 
>     <networkConnectors>
>       <networkConnector name="default-nc" uri="multicast://default"/>
>     </networkConnectors>
> 
>   </broker>
>   <!-- Embedded Derby DataSource Sample Setup -->
>   <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
>     <property name="databaseName" value="derbydb"/>
>     <property name="createDatabase" value="create"/>
>   </bean>
> 
> </beans>
> 
> 
> *Error:*
> java.lang.RuntimeException: java.io.IOException: Failed to broker message:
> ID:StarDust-47427-1195051460634-1:0:1:1:1 in container:
> java.io.UTFDataFormatException: bad string
>         at
> org.apache.activemq.broker.region.IndirectMessageReference.incrementReferenceCount
> (IndirectMessageReference.java:103)
>         at org.apache.activemq.filter.MessageEvaluationContext.getMessage(
> MessageEvaluationContext.java:55)
>         at org.apache.activemq.filter.MessageEvaluationContext.isDropped(
> MessageEvaluationContext.java:48)
>         at org.apache.activemq.filter.PropertyExpression.evaluate(
> PropertyExpression.java:152)
>         at org.apache.activemq.filter.ComparisonExpression$1.evaluate(
> ComparisonExpression.java:197)
>         at org.apache.activemq.filter.ComparisonExpression.matches(
> ComparisonExpression.java:455)
>         at org.apache.activemq.broker.region.AbstractSubscription.matches(
> AbstractSubscription.java:92)
>         at
> org.apache.activemq.broker.region.policy.RoundRobinDispatchPolicy.dispatch(
> RoundRobinDispatchPolicy.java:52)
>         at
> org.apache.activemq.broker.region.Queue.dispatch(Queue.java:520)
>         at
> org.apache.activemq.broker.region.Queue.access$600(Queue.java:75)
>         at
> org.apache.activemq.broker.region.Queue$3.afterCommit(Queue.java
> :341)
>         at org.apache.activemq.transaction.Transaction.fireAfterCommit(
> Transaction.java:83)
>         at org.apache.activemq.transaction.LocalTransaction.commit(
> LocalTransaction.java:71)
>         at org.apache.activemq.broker.TransactionBroker.commitTransaction(
> TransactionBroker.java:154)
>         at org.apache.activemq.broker.BrokerFilter.commitTransaction(
> BrokerFilter.java:94)
>         at org.apache.activemq.broker.BrokerFilter.commitTransaction(
> BrokerFilter.java:94)
>         at
> org.apache.activemq.broker.MutableBrokerFilter.commitTransaction(
> MutableBrokerFilter.java:104)
>         at
> org.apache.activemq.broker.TransportConnection.processCommitTransactionOnePhase
> (TransportConnection.java:424)
>         at org.apache.activemq.command.TransactionInfo.visit(
> TransactionInfo.java:99)
>         at org.apache.activemq.broker.TransportConnection.service(
> TransportConnection.java:294)
>         at org.apache.activemq.broker.TransportConnection$1.onCommand(
> TransportConnection.java:185)
>         at org.apache.activemq.transport.TransportFilter.onCommand(
> TransportFilter.java:65)
>         at org.apache.activemq.transport.WireFormatNegotiator.onCommand(
> WireFormatNegotiator.java:133)
>         at org.apache.activemq.transport.InactivityMonitor.onCommand(
> InactivityMonitor.java:122)
>         at org.apache.activemq.transport.TransportSupport.doConsume(
> TransportSupport.java:84)
>         at org.apache.activemq.transport.tcp.TcpTransport.run(
> TcpTransport.java:137)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.io.IOException: Failed to broker message:
> ID:StarDust-47427-1195051460634-1:0:1:1:1 in container:
> java.io.UTFDataFormatException: bad string
>         at org.apache.activemq.util.IOExceptionSupport.create(
> IOExceptionSupport.java:31)
>         at org.apache.activemq.store.jdbc.JDBCMessageStore.getMessage(
> JDBCMessageStore.java:107)
>         at org.apache.activemq.store.ProxyMessageStore.getMessage(
> ProxyMessageStore.java:48)
>         at
> org.apache.activemq.broker.region.IndirectMessageReference.incrementReferenceCount
> (IndirectMessageReference.java:95)
>         ... 26 more
> Caused by: java.io.UTFDataFormatException: bad string
>         at org.apache.activemq.util.DataByteArrayInputStream.readUTF(
> DataByteArrayInputStream.java:277)
>         at
> org.apache.activemq.openwire.v2.BaseDataStreamMarshaller.looseUnmarshalString
> (BaseDataStreamMarshaller.java:536)
>         at
> org.apache.activemq.openwire.v2.MessageMarshaller.looseUnmarshal(
> MessageMarshaller.java:201)
>         at
> org.apache.activemq.openwire.v2.ActiveMQMessageMarshaller.looseUnmarshal(
> ActiveMQMessageMarshaller.java:101)
>         at
> org.apache.activemq.openwire.v2.ActiveMQTextMessageMarshaller.looseUnmarshal
> (ActiveMQTextMessageMarshaller.java:101)
>         at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(
> OpenWireFormat.java:349)
>         at org.apache.activemq.openwire.OpenWireFormat.unmarshal(
> OpenWireFormat.java:204)
>         at org.apache.activemq.store.jdbc.JDBCMessageStore.getMessage(
> JDBCMessageStore.java:104)
>         ... 28 more
> 
> 
> -- 
> Regards,
> Hasnain M Iqbal
> M.Sc Software Engineering in Distributed System
> KTH - Royal Institute of Technology
> 
> For what shall it profit a man, if he shall gain the whole world, and lose
> his own soul?
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ActiveMQ---IBM-Performance-Harness-tf4806005s2354.html#a13756227
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to