diff --git a/pom.xml b/pom.xml
index d3375ad..ef38d8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,6 +69,11 @@
${junit.version}
test
+
+ javax.enterprise
+ cdi-api
+ 2.0.SP1
+
diff --git a/src/main/java/io/devcon5/jsonb/jackson/JacksonJsonbBuilder.java b/src/main/java/io/devcon5/jsonb/jackson/JacksonJsonbBuilder.java
index 4e8aa64..9eae4f9 100644
--- a/src/main/java/io/devcon5/jsonb/jackson/JacksonJsonbBuilder.java
+++ b/src/main/java/io/devcon5/jsonb/jackson/JacksonJsonbBuilder.java
@@ -15,7 +15,11 @@
*/
package io.devcon5.jsonb.jackson;
+import java.util.Optional;
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.inject.Provider;
import javax.json.bind.Jsonb;
import javax.json.bind.JsonbBuilder;
import javax.json.bind.JsonbConfig;
@@ -27,6 +31,7 @@
/**
* Jackson2 based implmentation of Jsonb API
*/
+@ApplicationScoped
public class JacksonJsonbBuilder implements JsonbBuilder {
/**
@@ -60,11 +65,13 @@ public JsonbBuilder withProvider(final JsonProvider jsonProvider) {
//noop
return this;
}
-
+
+ @Inject
+ private Provider mapper;
+
@Override
public Jsonb build() {
-
- final ObjectMapper mapper = new ObjectMapper();
+ final ObjectMapper mapper=Optional.ofNullable(this.mapper).map(Provider::get).orElseGet(ObjectMapper::new);
if(!includeNulls){
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
if(!includeEmpty){
diff --git a/src/main/resources/META-INF/beans.xml b/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000..6661375
--- /dev/null
+++ b/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,6 @@
+
+
+
\ No newline at end of file