Skip to content

Spring Cloud Oracle, eases the integration with Oracle Database and OCI services, and offers a convenient way to interact with Oracle Database and OCI-provided services using well-known Spring idioms and APIs.

License

Notifications You must be signed in to change notification settings

oracle/spring-cloud-oracle

Repository files navigation

Spring Cloud Oracle

Many Oracle customers make extensive use of Spring in their environments. They use Oracle Database and Oracle Cloud Infrastructure (OCI) services. Oracle Database is available in OCI, Azure, GCP and AWS, making it truly a multi-cloud database, and on-premises including in containers and Kubernetes. Oracle is trusted by many of the world’s top businesses, governments and other organizations to protect their most sensitive data.

Spring Cloud Oracle provides tools and services to integrate Oracle Cloud Infrastructure and Software with the Spring ecosystem in an idiomatic and flexible manner. It is designed to simplify microservices development that uses Oracle Database, middleware, and messaging on Oracle and non-Oracle clouds as well as on-premises.

Spring Cloud Oracle 1.2.0 is the most recent release which brings together in one place Spring Boot Starters, autoconfiguration and sample code for Oracle Database and OCI services.

Spring Cloud Oracle goes beyond simply wrapping the OCI APIs in starters and adds idiomatic ways to integrate with Spring including for example the ability to use OCI Vault as a Spring Property Source and OCI Object Storage as a Spring Resource provider. We also provide Spring CLI integration with a project catalog to help you create Spring Boot projects using Oracle.

The following sub-projects are included in Spring Cloud Oracle:

Project Description
Spring Cloud OCI Use OCI services with well-known Spring idioms and APIs
Oracle Database Spring Boot Starters Integrate Oracle Database with Spring Boot
Spring Cloud Stream Binder for Oracle TxEventQ Build highly scalable event-driven microservices with Oracle TxEventQ.

Some key features

  • Compatible with Spring Boot 3.2 and 3.3
  • Support for several common OCI services including Object Storage, Functions, Logging, Notifications, Queues, Streaming, Email Delivery, Vault, Autonomous Database and Generative AI (for embeddings and inferencing)
  • Improved autoconfiguration for Spring Boot Starters for Oracle Database, and support for Oracle Database 23ai
  • OCI service components are built on top of OCI SDK for Java and a core module provides OCI configuration and authentication support

Documentation

We encourage you to learn more in the Spring Cloud Oracle documentation:

Version Reference Docs API Docs
Spring Cloud Oracle 1.0.0 Reference Docs API Docs
Spring Cloud Oracle 1.0.1 Reference Docs API Docs
Spring Cloud Oracle 1.1.0 Reference Docs API Docs
Spring Cloud Oracle 1.2.0 Reference Docs API Docs
Spring Cloud Oracle 1.3.0 Reference Docs API Docs

Additionally, you can explore sample applications for each module in the samples directory.

Roadmap

Spring Cloud Oracle has a strong and constantly evolving roadmap as we work to provide comprehensive up-to-date coverage. Right now, we are working on the following updates:

  • Spring Cloud Stream Binder for Oracle Transactional Event Queues
  • A Spring Boot Starter for JSON Collections in the Oracle Database
  • A Spring Boot Starter for OKafka and TxEventQ
  • OpenRewrite recipes to ease migration from HikariCP to Oracle Universal Connection Pool
  • Further simplification of running Spring Boot applications as OCI Functions, including as native images using GraalVM Native Image compilation
  • Further improvement of the idiomaticity of OCI Service modules and the expansion of adoption of the Spring Template pattern
  • Additional Spring CLI project templates and example applications, particularly in the Spring AI space, focusing on retrieval augmented generation and agentic use cases

We’d love to hear from you! Please let us know about your experiences using Spring Cloud Oracle, and what else you would like to see supported by opening an issue in our GitHub repository.

More great stuff to check out

If you are building Spring Boot applications with Oracle Database, you should also check out Oracle Backend for Spring Boot and Microservices which simplifies the task of building, testing, and operating microservices platforms for reliable, secure, and scalable enterprise applications on any cloud or on your own infrastructure.

If you'd like to try it out yourself, CloudBank AI is a great way to learn more. It's a free self-paced hands-on lab that shows you how to build Spring Boot microservices and covers topics like REST, asynchronous services with JMS, storing data in Oracle, service dsicovery, using Spring Actuator for monitoring, Prometheus, Grafana, Loki, OpenTelemetry and Jaeger, implementing the saga pattern with Long Running Actions, exposing services using APISIX API Gateway and building an AI ChatBot using Ollama.

Contributing

This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide

Security

Please consult the security guide for our responsible security vulnerability disclosure process

License

Copyright (c) 2023, 2024, Oracle and/or its affiliates.

Released under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl/.

About

Spring Cloud Oracle, eases the integration with Oracle Database and OCI services, and offers a convenient way to interact with Oracle Database and OCI-provided services using well-known Spring idioms and APIs.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages