GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - optimizely/java-sdk: Java SDK for Optimizely Feature Experimentation and Optimizely Full Stack (legacy).

BranchesTags
Open more actions menu

Latest commit

 

History

487 Commits
487 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
core-api
core-api
 
 
core-httpclient-impl
core-httpclient-impl
 
 
docs
docs
 
 
gradle
gradle
 
 
java-quickstart
java-quickstart
 
 
resources
resources
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CODEOWNERS
CODEOWNERS
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
build.gradle
build.gradle
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle
settings.gradle
 
 

Repository files navigation

Optimizely Java SDK

Maven Central Build Status Coverage Status Apache 2.0

This repository houses the Java SDK for use with Optimizely Feature Experimentation and Optimizely Full Stack (legacy).

Optimizely Feature Experimentation is an A/B testing and feature management tool for product development teams that enables you to experiment at every step. Using Optimizely Feature Experimentation allows for every feature on your roadmap to be an opportunity to discover hidden insights. Learn more at Optimizely.com, or see the developer documentation.

Optimizely Rollouts is free feature flags for development teams. You can easily roll out and roll back features in any application without code deploys, mitigating risk for every feature on your roadmap.

Get started

Refer to the Java SDK's developer documentation for detailed instructions on getting started with using the SDK.

Requirements

Java 8 or higher versions.

Install the SDK

The Java SDK is distributed through Maven Central and is created with source and target compatibility of Java 1.8. The core-api and httpclient packages are optimizely-sdk-core-api and optimizely-sdk-httpclient, respectively.

core-api requires org.slf4j:slf4j-api:1.7.16 and a supported JSON parser. We currently integrate with Jackson, GSON, json.org, and json-simple; if any of those packages are available at runtime, they will be used by core-api. If none of those packages are already provided in your project's classpath, one will need to be added.

core-httpclient-impl is an optional dependency that implements the event dispatcher and requires org.apache.httpcomponents:httpclient:4.5.2.


NOTE

Optimizely previously distributed the Java SDK through Bintray/JCenter. But, as of April 27, 2021, Bintray/JCenter will become a read-only repository indefinitely. The publish repository has been migrated to MavenCentral for the SDK version 3.8.1 or later.


repositories {
  mavenCentral()
  jcenter()
}

dependencies {
  compile 'com.optimizely.ab:core-api:{VERSION}'
  compile 'com.optimizely.ab:core-httpclient-impl:{VERSION}'
  // The SDK integrates with multiple JSON parsers, here we use Jackson.
  compile 'com.fasterxml.jackson.core:jackson-core:2.13.5'
  compile 'com.fasterxml.jackson.core:jackson-annotations:2.13.5'
  compile 'com.fasterxml.jackson.core:jackson-databind:2.13.5'
}

Feature Management Access

To access the Feature Management configuration in the Optimizely dashboard, please contact your Optimizely customer success manager.

Use the Java SDK

See the Optimizely Feature Experimentation developer documentation to learn how to set up your first Java project and use the SDK.

SDK Development

Unit tests

You can run all unit tests with:


./gradlew test

Checking for bugs

We utilize SpotBugs to identify possible bugs in the SDK. To run the check:


./gradlew check

Benchmarking

JMH benchmarks can be run through gradle:


./gradlew core-api:jmh

Results are generated in $buildDir/reports/jmh.

Contributing

Please see CONTRIBUTING.

Credits

First-party code (under core-api/ and core-httpclient-impl) is copyright Optimizely, Inc. and contributors, licensed under Apache 2.0.

Additional Code

This software incorporates code from the following open source projects:

core-api module

SLF4J https://www.slf4j.org

Copyright © 2004-2017 QOS.ch

License (MIT): https://www.slf4j.org/license.html

Jackson Annotations https://github.com/FasterXML/jackson-annotations

License (Apache 2.0): https://github.com/FasterXML/jackson-annotations/blob/master/src/main/resources/META-INF/LICENSE

Gson https://github.com/google/gson

Copyright © 2008 Google Inc.

License (Apache 2.0): https://github.com/google/gson/blob/master/LICENSE

JSON-java https://github.com/stleary/JSON-java

Copyright © 2002 JSON.org

License (The JSON License): https://github.com/stleary/JSON-java/blob/master/LICENSE

JSON.simple https://code.google.com/archive/p/json-simple/

Copyright © January 2004

License (Apache 2.0): https://github.com/fangyidong/json-simple/blob/master/LICENSE.txt

Jackson Databind https://github.com/FasterXML/jackson-databind

License (Apache 2.0): https://github.com/FasterXML/jackson-databind/blob/master/src/main/resources/META-INF/LICENSE

core-httpclient-impl module

Gson https://github.com/google/gson

Copyright © 2008 Google Inc.

License (Apache 2.0): https://github.com/google/gson/blob/master/LICENSE

Apache HttpClient https://hc.apache.org/httpcomponents-client-ga/index.html

Copyright © January 2004

License (Apache 2.0): https://github.com/apache/httpcomponents-client/blob/master/LICENSE.txt

Other Optimzely SDKs

  • Agent - https://github.com/optimizely/agent

  • Android - https://github.com/optimizely/android-sdk

  • C# - https://github.com/optimizely/csharp-sdk

  • Flutter - https://github.com/optimizely/optimizely-flutter-sdk

  • Go - https://github.com/optimizely/go-sdk

  • JavaScript - https://github.com/optimizely/javascript-sdk

  • PHP - https://github.com/optimizely/php-sdk

  • Python - https://github.com/optimizely/python-sdk

  • React - https://github.com/optimizely/react-sdk

  • Ruby - https://github.com/optimizely/ruby-sdk

  • Swift - https://github.com/optimizely/swift-sdk

About

Java SDK for Optimizely Feature Experimentation and Optimizely Full Stack (legacy).

docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/java-sdk

Topics

experimentationoptimizely-environment-prodoptimizely-environment-publicoptimizely-owner-pxproduction

Resources

Readme
Apache-2.0 license

Contributing

Contributing
Activity
Custom properties

Stars

44 stars

Watchers

91 watching

Forks

32 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.