> I am using Cassandra in place of the local file, in-memory, etc, that is built into ActiveMQ for Idempotentcy.
Did you write or find a persistence adapter for Cassandra? In what specific way will Cassandra enable idempotency where other options (e.g. KahaDB, JDBC database, etc.) won't? > ActiveMQ Classic is being used as the default messaging platform along with the built-in Camel components. Camel itself provides an idempotent consumer [1] that might be useful here. Justin [1] https://camel.apache.org/components/4.10.x/eips/idempotentConsumer-eip.html On Tue, May 27, 2025 at 12:05 PM Jason Jackson <jason.jack...@itechag.com.invalid> wrote: > I am using Cassandra in place of the local file, in-memory, etc, that is > built into ActiveMQ for Idempotentcy. > > ActiveMQ Classic is being used as the default messaging platform along > with the built-in Camel components. There are certain instances where > Camel can send duplicate data; to prevent the duplicate data from being > sent you have to implement Idempotentcy that way it is filtered out. > > I am using it within Spring along with my ActiveMQ and Camel configuration > setting. > > I will leave this information here but also reach out to the Cassandra > community. > > Thank you. > > > Jason > > > ________________________________ > From: Justin Bertram <jbert...@apache.org> > Sent: Tuesday, May 27, 2025 11:35 AM > To: users@activemq.apache.org <users@activemq.apache.org> > Subject: Re: Apache ActiveMQ Classic Idempotency Using Apache Cassandra > > CAUTION: This email originated from outside of the organization. Do not > click links or open attachments unless you recognize the sender and know > the content is safe. > > > Can you clarify your use-case? > > Are you attempting to use Apache Cassandra as the storage mechanism for > ActiveMQ Classic? If so, you'll need to implement a Cassandra-based > persistence adapter since it doesn't provide a JDBC driver or other means > of integration. It's possible such an adapter already exists, but the best > information I could find [1] references a defunct project [2] that hasn't > been updated in 15 years. > > If you're simply trying to start an instance of Cassandra via Spring and > use it from your application along with ActiveMQ Classic I think the > Cassandra community would be a better resource for you. I don't see > anything directly related to ActiveMQ in your question. > > > Justin > > [1] > > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F4978730%2Fapache-cassandra-as-a-message-data-store-for-activemq&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744358075%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=e2ekWpU%2BVQ2KlA%2FCKw0sKf26uOZfZhWKvs%2BsCplNjD8%3D&reserved=0 > < > https://stackoverflow.com/questions/4978730/apache-cassandra-as-a-message-data-store-for-activemq > > > [2] > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fticktock%2Fqsandra&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744375811%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=sJoh%2FW7hYi8KgLtTYXoBw6k%2B%2Fev3KmZK4Lbxmkb8tEQ%3D&reserved=0 > <https://github.com/ticktock/qsandra> > > On Tue, May 27, 2025 at 9:56 AM Jason Jackson > <jason.jack...@itechag.com.invalid> wrote: > > > I am working on using Idempotency within ActiveMQ Classic using Apache > > Cassandra as my DB. > > > > I have the following jar files that are loaded with ActiveMQ: > > > > camel-cassandraql-4.10.4.jar > > cassandra-driver-core-3.10.0.jar > > java-driver-core-4.17.0.jar > > java-driver-shaded.guava-25.1-jre-graal-sub-1.jar > > native-protocol-1.5.1.jar > > > > Using documentation and information on the following Spring sites I > > believe I have been able to understand some of the components that need > to > > be loaded in the Spring XML file. > > > > > > > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.spring.io%2Fspring-data%2Fcassandra%2Fdocs%2F1.0.2.RELEASE%2Freference%2Fhtml%2Fcassandra.core.html&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744401155%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=zTiILrzyEsxFogPXOGARkTTur4l0RsqKtnSTCC8BAYo%3D&reserved=0 > < > https://docs.spring.io/spring-data/cassandra/docs/1.0.2.RELEASE/reference/html/cassandra.core.html > > > > > > > > > https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.spring.io%2Fspring-data%2Fcassandra%2Freference%2Fcassandra%2Fconfiguration.html&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744418475%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=XUo%2FQvjEyQM7hl3MxivDgTh0s%2B1SHTc9qde26vLVrqI%3D&reserved=0 > < > https://docs.spring.io/spring-data/cassandra/reference/cassandra/configuration.html > > > > > > Here are some of the options that are listed for the XML configuration > > settings: > > > > Link 1 > > <context:property-placeholder location="classpath:cassandra.properties" > /> > > <cassandra:cluster contact-points="${cassandra.contactpoints}" > > port="${cassandra.port}" /> > > <cassandra:session keyspace-name="${cassandra.keyspace}" /> > > <cassandra:mapping /> > > <cassandra:converter /> > > <cassandra:template id="cassandraTemplate" /> > > <cassandra:repositories base-package="org.spring.cassandra.example.repo" > /> > > > > Link 2 > > <cassandra:session contact-points="localhost" port="9042"> > > <cassandra:keyspace action="CREATE_DROP" name="mykeyspace" /> > > </cassandra:session> > > > > <cassandra:session-factory> > > <cassandra:script > > > location="classpath:/org/springframework/data/cassandra/config/schema.cql"/> > > </cassandra:session-factory> > > > > Here is what I currently have in my XML file and everything loads fine. > > > > > > <beans > > > > xmlns= > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744433550%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=zZ0sSK7cJLaY4YN1xmxYt3jv%2BPdnDro2t0%2BoO%2BalmBQ%3D&reserved=0 > > > > xmlns:xsi= > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744447595%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=xx1ERszNlxI5dCO3iwdGbmul14BCSC%2BmejupEy%2Bq%2FPI%3D&reserved=0 > > > > xmlns:cassandra= > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744461357%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=bYQDoursT7e%2BTl%2FPwvWIknfKxDNC2ag3ewX2lWii2Po%3D&reserved=0 > > > > xmlns:context= > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fcontext&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744474701%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=xPpVqggFFWhD4a5cjPLoACmJJY1Nz%2Byjzy3fpDgW5xc%3D&reserved=0 > > > > xsi:schemaLocation= > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744487810%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=Nt78PUnEm6H2%2FAWQVw584tkvtyjHHifRmXCdTxKjdzA%3D&reserved=0 > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2Fspring-cql.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744500770%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=bMrOcFtO3IKxPKKeUh%2BUUfcFkcGPmQ83sFon6mmU7Sg%3D&reserved=0 > <http://www.springframework.org/schema/data/cassandra/spring-cql.xsd> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744514273%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=CJH5Ao5XxWjdJ3Yo0V0lagqUfgq5o%2FKoUKQ7gTUEulc%3D&reserved=0 > <http://www.springframework.org/schema/data/cassandra> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2Fspring-cassandra.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744527317%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=BDnB3dy1kWGOJp3WEQDVWqJt%2BuWULDKeXhMBtp%2FLNWg%3D&reserved=0 > <http://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd > > > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744540746%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=wNsk3VBKSjwCzGN2PVWx4q6uQSqRVaNYKE6jfDwj7h8%3D&reserved=0 > <http://camel.apache.org/schema/spring> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring%2Fcamel-spring.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744555320%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=QEFpsxRwilju7kjFC8EAmrgZ9neZbO4SZ%2FaVcaSIGHE%3D&reserved=0 > <http://camel.apache.org/schema/spring/camel-spring.xsd> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744569158%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=e2DU8aemcEcaEVUTj0OegKqbABaKJET6igmcQb%2F027s%3D&reserved=0 > <http://www.springframework.org/schema/beans> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans%2Fspring-beans.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744582912%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=IFcClSUFulqWVmgTG%2BRJRKiEcIi9amWzeGM3WqhGgb4%3D&reserved=0 > <http://www.springframework.org/schema/beans/spring-beans.xsd> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fcontext&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744596044%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=IMKgEzIwJ5qqYtjKkUlPI1OnoJra2mekJLGV%2F2N1iKE%3D&reserved=0 > <http://www.springframework.org/schema/context> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fcontext%2Fspring-context.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744608243%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=d2cko%2BEn%2F2v0wLD6OUlBPtMht3NM%2FE%2FVIOOLiHDmX0s%3D&reserved=0 > <<http://www.springframework.org/schema/context/spring-context.xsd> > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2520http%3A%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2Fspring-cql.xsd%2520http%3A%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2520http%3A%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2Fspring-cassandra.xsd%2520http%3A%2Fcamel.apache.org%2Fschema%2Fspring%2520http%3A%2Fcamel.apache.org%2Fschema%2Fspring%2Fcamel-spring.xsd%2520http%3A%2Fwww.springframework.org%2Fschema%2Fbeans%2520http%3A%2Fwww.springframework.org%2Fschema%2Fbeans%2Fspring-beans.xsd%2520http%3A%2Fwww.springframework.org%2Fschema%2Fcontext%2520http%3A%2Fwww.springframework.org%2Fschema%2Fcontext%2Fspring-context.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744621150%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=n0yLUwvzq60bWuL%2Fvft8NvMA9IaNd7eMzmwZN3Vqw9g%3D&reserved=0 > < > http://www.springframework.org/schema/data/cassandra%20http:/www.springframework.org/schema/data/cassandra/spring-cql.xsd%20http:/www.springframework.org/schema/data/cassandra%20http:/www.springframework.org/schema/data/cassandra/spring-cassandra.xsd%20http:/camel.apache.org/schema/spring%20http:/camel.apache.org/schema/spring/camel-spring.xsd%20http:/www.springframework.org/schema/beans%20http:/www.springframework.org/schema/beans/spring-beans.xsd%20http:/www.springframework.org/schema/context%20http:/www.springframework.org/schema/context/spring-context.xsd > > > > >> > > > > </beans> > > > > > > As soon as I begin adding any of the the Cassandra confiuration settings > > listed under the XML Configuration settings in either link I receive one > of > > the following errors in my log file that states the following: > > > > > > WARN | DTD/XSD XML entity [ > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2Fspring-cql.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744634541%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=hPBMsgLXe0AHuUCCwC4%2FdF6F5w7tLD5S%2B1Wvt66XF6s%3D&reserved=0 > ]<http://www.springframework.org/schema/data/cassandra/spring-cql.xsd> not > > found, falling back to remote https resolution | > > org.springframework.beans.factory.xml.ResourceEntityResolver | main > > > > > > WARN | DTD/XSD XML entity [ > > > https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fdata%2Fcassandra%2Fspring-cassandra.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7Cb36004c66b664a2ae09408dd9d343306%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C638839569744646488%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=JLrOGNDQc2o9IHI6ssMahhBkjUwXINH9zB8gw%2F%2F5oU8%3D&reserved=0 > ]< > http://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd> > > not found, falling back to remote https resolution | > > org.springframework.beans.factory.xml.ResourceEntityResolver | main > > > > > > Does anyone have an idea what I may be missing or doing incorrectly? > > > > > > Jason > > >