Skip to content

m-reza-rahman/jakarta-nosql-cosmosdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jakarta NoSQL with Cosmos DB

This repository shows how to use Cosmos DB with the Jakarta NoSQL specification. The repository hosts the demo for this talk.

We will be using the MongoDB API for Cosmos DB. You could also use the Cassandra or Gremlin API for Cosmos DB with Jakarta NoSQL.

Setup

  • Install JDK 17+ (we used Eclipse Temurin OpenJDK 17 LTS).
  • Install the Eclipse IDE for Enterprise Java Developers from here.
  • You will need an Azure subscription. If you don't have one, you can get one for free for one year here.
  • Download this repository somewhere in your file system (easiest way might be to download as a zip and extract).

Start Azure Cosmos DB

We first need to set up the database on Azure.

  • Go to the Azure portal.
  • Select 'Create a resource'. In the search box, enter and select 'Azure Cosmos DB for MongoDB'. Hit create.
  • Choose 'Request unit (RU) database account'. Hit create.
  • Create a new resource group named azure-game-store-group-<your suffix> (the suffix could be your first name such as "reza"). Specify the account name to be azure-game-store-db-<your suffix> (the suffix could be your first name such as "reza"). Hit 'Create'. It will take a moment for the database to deploy and be ready for use.
  • In the portal, go to 'All resources'. Find and click on azure-game-store-db-<your suffix>. Open the connection string panel. Note down the primary connection string.

Once you are done exploring the demo, you should delete the azure-game-store-group-<your suffix> resource group. You can do this by going to the portal, going to resource groups, finding and clicking on azure-game-store-group-<your suffix> and hitting delete. This is especially important if you are not using a free subscription!

Running the Application

The next step is to get the application up and running. Follow the steps below to do so.

  • Start Eclipse.
  • Get the application into the IDE. In order to do that, go to File -> Import -> Maven -> Existing Maven Projects. Then browse to where you have this repository code in your file system and select the root directory. Accept the rest of the defaults and finish.
  • Once the application loads, open the properties file and replace <Your Cosmos DB connection string> with the connection string you noted down earlier.
  • Do a full Maven build by righting click the application -> Run As -> Maven install.
  • After the build - find, explore and run the unit test. You can run the unit test in Eclipse by right clicking the unit test class -> Run As -> JUnit Test.
  • You can take a look at the data through the Azure portal. In the portal, go to 'All resources'. Find and click on azure-game-store-db-<your suffix>. Open the Data Explorer panel.

To Do

  • Incorporate Cassandra
  • Incorporate Gremlin

Releases

No releases published

Packages

No packages published

Languages