We seems to experience the same issue upgrading from 5.6.0 to 515.8, but in
our case we use SQL database as a message store. As it was mentioned and
confirmed by us KahaDB has a fallback capability when it encounter older
(Version 6) of OpenWire.
Unfortunately, it looks like for SQL databases there is no fallback option
implemented:
2019-04-17 15:50:26,361 ERROR [Thread-8] (BrokerService.java:639) - Failed
to start Apache ActiveMQ (RTCV180R1GPWR78QA12T3DEV-NY-CONNEX61616, null)
java.io.UTFDataFormatException: bad string
        at
org.apache.activemq.util.DataByteArrayInputStream.readUTF(DataByteArrayInputStream.java:265)
        at
org.apache.activemq.openwire.v11.BaseDataStreamMarshaller.looseUnmarshalString(BaseDataStreamMarshaller.java:571)
        at
org.apache.activemq.openwire.v11.MessageIdMarshaller.looseUnmarshal(MessageIdMarshaller.java:122)
        at
org.apache.activemq.openwire.OpenWireFormat.looseUnmarshalNestedObject(OpenWireFormat.java:474)
        at
org.apache.activemq.openwire.v11.BaseDataStreamMarshaller.looseUnmarsalNestedObject(BaseDataStreamMarshaller.java:466)
        at
org.apache.activemq.openwire.v11.MessageMarshaller.looseUnmarshal(MessageMarshaller.java:220)
        at
org.apache.activemq.openwire.v11.ActiveMQMessageMarshaller.looseUnmarshal(ActiveMQMessageMarshaller.java:101)
        at
org.apache.activemq.openwire.v11.ActiveMQTextMessageMarshaller.looseUnmarshal(ActiveMQTextMessageMarshaller.java:101)
        at
org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:367)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:201)
        at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getLastMessageBrokerSequenceId(JDBCPersistenceAdapter.java:266)
        at
org.apache.activemq.broker.region.DestinationFactoryImpl.getLastMessageBrokerSequenceId(DestinationFactoryImpl.java:147)
        at
org.apache.activemq.broker.region.RegionBroker.<init>(RegionBroker.java:130)
        at
org.apache.activemq.broker.jmx.ManagedRegionBroker.<init>(ManagedRegionBroker.java:108)
        at
org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:2399)
        at
org.apache.activemq.broker.BrokerService.createRegionBroker(BrokerService.java:2391)
        at
org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:2348)
        at
org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:1045)
        at
org.apache.activemq.broker.BrokerService.getAdminConnectionContext(BrokerService.java:2619)
        at
org.apache.activemq.broker.BrokerService.startVirtualConsumerDestinations(BrokerService.java:2780)
        at
org.apache.activemq.broker.BrokerService.startDestinations(BrokerService.java:2610)
        at
org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:739)
        at
org.apache.activemq.broker.BrokerService.startBroker(BrokerService.java:733)
        at 
org.apache.activemq.broker.BrokerService.start(BrokerService.java:636)
        at
COM.olf.adapter.jbroker.JBrokerService.startBroker(JBrokerService.java:1507)
        at 
COM.olf.adapter.jbroker.JBrokerComponent.run(JBrokerComponent.java:220)
        at java.lang.Thread.run(Thread.java:748)

I'm wondering if there is a way to enable backward compatibility via some
kind of property, or  there are some other ways to do it?




--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Reply via email to