{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.Java-Edge/Java-Concurrency-Progamming-Tutorial","documentNamespace":"https://spdx.org/spdxdocs/protobom/789f7b2e-edff-46ed-bf2b-dcb01ff849a7","comment":"Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependencies-included.","creationInfo":{"creators":["Tool: protobom-v0.0.0-20260327162657-5aefcad73c4c+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-03-29T11:43:06Z"},"packages":[{"name":"org.projectlombok:lombok","SPDXID":"SPDXRef-maven-org.projectlombok-lombok-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.projectlombok/lombok"}]},{"name":"org.springframework.boot:spring-boot-maven-plugin","SPDXID":"SPDXRef-maven-org.springframework.boot-spring-boot-maven-plugin-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.springframework.boot/spring-boot-maven-plugin"}]},{"name":"org.testng:testng","SPDXID":"SPDXRef-maven-org.testng-testng-7.0.0-beta3-75c946","versionInfo":"7.0.0-beta3","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.testng/testng@7.0.0-beta3"}]},{"name":"org.springframework.amqp:spring-rabbit","SPDXID":"SPDXRef-maven-org.springframework.amqp-spring-rabbit-2.1.4-75c946","versionInfo":"2.1.4","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.springframework.amqp/spring-rabbit@2.1.4"}]},{"name":"org.springframework.boot:spring-boot-starter-web","SPDXID":"SPDXRef-maven-org.springframework.boot-spring-boot-starter-web-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.springframework.boot/spring-boot-starter-web"}]},{"name":"junit:junit","SPDXID":"SPDXRef-maven-junit-junit-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/junit/junit"}]},{"name":"org.springframework.boot:spring-boot-test","SPDXID":"SPDXRef-maven-org.springframework.boot-spring-boot-test-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.springframework.boot/spring-boot-test"}]},{"name":"com.google.guava:guava","SPDXID":"SPDXRef-maven-com.google.guava-guava-23.0-75c946","versionInfo":"23.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/com.google.guava/guava@23.0"}]},{"name":"com.rabbitmq:amqp-client","SPDXID":"SPDXRef-maven-com.rabbitmq-amqp-client-5.6.0-75c946","versionInfo":"5.6.0","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright (c) 2007-2019 Pivotal Software, Inc.","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/com.rabbitmq/amqp-client@5.6.0"}]},{"name":"org.springframework.boot:spring-boot-starter-test","SPDXID":"SPDXRef-maven-org.springframework.boot-spring-boot-starter-test-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.springframework.boot/spring-boot-starter-test"}]},{"name":"com.google.code.gson:gson","SPDXID":"SPDXRef-maven-com.google.code.gson-gson-2.8.5-75c946","versionInfo":"2.8.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/com.google.code.gson/gson@2.8.5"}]},{"name":"redis.clients:jedis","SPDXID":"SPDXRef-maven-redis.clients-jedis-2.8.2-75c946","versionInfo":"2.8.2","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"MIT","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/redis.clients/jedis@2.8.2"}]},{"name":"org.springframework.kafka:spring-kafka","SPDXID":"SPDXRef-maven-org.springframework.kafka-spring-kafka-2.1.5-75c946","versionInfo":"2.1.5","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/org.springframework.kafka/spring-kafka@2.1.5"}]},{"name":"joda-time:joda-time","SPDXID":"SPDXRef-maven-joda-time-joda-time-2.9-75c946","versionInfo":"2.9","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/joda-time/joda-time@2.9"}]},{"name":"io.netty:netty-all","SPDXID":"SPDXRef-maven-io.netty-netty-all-4.1.15.Final-75c946","versionInfo":"4.1.15.Final","downloadLocation":"NOASSERTION","filesAnalyzed":false,"licenseConcluded":"Apache-2.0","copyrightText":"Copyright 2012 The Netty Project","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:maven/io.netty/netty-all@4.1.15.Final"}]},{"name":"com.github.Java-Edge/Java-Concurrency-Progamming-Tutorial","SPDXID":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","versionInfo":"master","downloadLocation":"git+https://github.com/Java-Edge/Java-Concurrency-Progamming-Tutorial","filesAnalyzed":false,"licenseDeclared":"Apache-2.0","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/Java-Edge/Java-Concurrency-Progamming-Tutorial@master"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.projectlombok-lombok-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.springframework.boot-spring-boot-starter-web-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-junit-junit-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-redis.clients-jedis-2.8.2-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-com.google.guava-guava-23.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.springframework.kafka-spring-kafka-2.1.5-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.springframework.boot-spring-boot-test-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-com.rabbitmq-amqp-client-5.6.0-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.springframework.boot-spring-boot-starter-test-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-joda-time-joda-time-2.9-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.springframework.boot-spring-boot-maven-plugin-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.testng-testng-7.0.0-beta3-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-org.springframework.amqp-spring-rabbit-2.1.4-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-com.google.code.gson-gson-2.8.5-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relatedSpdxElement":"SPDXRef-maven-io.netty-netty-all-4.1.15.Final-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-Java-Edge-Java-Concurrency-Progamming-Tutorial-master-edc150","relationshipType":"DESCRIBES"}]}