diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d6d6b20
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,131 @@
+
+ 4.0.0
+ com.tomecode.oracle.osb12c
+ osb12c-xquery-warmup
+ 0.0.1-SNAPSHOT
+
+
+
+ c:/Oracle/FMW12c1221/wlserver
+ c:/Oracle/FMW12c1221/osb
+ c:/Oracle/FMW12c1221/oracle_common
+
+
+
+
+ com.oracle.weblogic
+ weblogic
+ 12c
+ system
+ ${wls12cHome}/server/lib/weblogic.jar
+
+
+ com.oracle.osb
+ oracle.servicebus.configfwk
+ 12c
+ system
+ ${osb12cHome}/lib/modules/oracle.servicebus.configfwk.jar
+
+
+ com.oracle.osb
+ oracle.servicebus.resources.xquery
+ 12c
+ system
+ ${osb12cHome}/lib/modules/oracle.servicebus.resources.xquery.jar
+
+
+ com.oracle.osb
+ oracle.servicebus.services.core
+ 12c
+ system
+ ${osb12cHome}/lib/modules/oracle.servicebus.services.core.jar
+
+
+ com.oracle.osb
+ oracle.servicebus.resources.core
+ 12c
+ system
+ ${osb12cHome}/lib/modules/oracle.servicebus.resources.core.jar
+
+
+ com.oracle.osb
+ oracle.servicebus.kernel-api
+ 12c
+ system
+ ${osb12cHome}/lib/modules/oracle.servicebus.kernel-api.jar
+
+
+ com.oracle.common
+ xqjapi
+ 12c
+ system
+ ${common12cHome}/modules/oracle.xdk/xqjapi.jar
+
+
+ com.oracle.common
+ xqjapi
+ 12c
+ system
+ ${common12cHome}/modules/oracle.xdk/xqjapi.jar
+
+
+ com.oracle.common
+ com.bea.core.xquery
+ 12c
+ system
+ ${common12cHome}/modules/com.bea.core.xquery_1.8.0.0.jar
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.5.1
+
+
+ 1.8
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.0.0
+
+
+ ear
+ package
+
+ single
+
+
+ false
+
+ ${basedir}/src/main/ear/META-INF/application.xml
+
+
+
+ true
+ true
+
+
+ 1.0
+ ${project.version}-${maven.build.timestamp}
+ APP-INF/lib/${project.artifactId}.jar
+
+
+
+ ${basedir}/src/main/assembly/ear.xml
+
+ ${project.artifactId}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..77c2174
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,23 @@
+# osb12c-xquery-warmup
+Recompile/warm-up any XQueries at runtime in the OSB 12c
+
+# What is it
+ - a simple application (packaged as EAR) deployed in OSB/WLS
+ - activated when the OSB starting or XQuery is/was deployed (or if something is/was changed in XQuery and session is/was activated)
+ - pre-compile/execute Xquery with dummy arguments - warm-up
+
+# Install
+ - Download latest version of application...
+ - Deploy it as enterprise application: _'Install this deployment as an application'_
+ - Deployment Order: 20
+ - Restart the OSB.
+
+# Development
+ - Build is based on the Maven
+ - JVM 1.8
+ - in pom.xml change path for following properties:
+| Plugin | README |
+| wls12cHome | path to FMW WLS 12c home |
+| osb12cHome | path to FMW OSB 12c home |
+| common12cHome | path to FMW 12c Oracle Common home |
+ - mvn clean install
diff --git a/src/main/assembly/ear.xml b/src/main/assembly/ear.xml
new file mode 100644
index 0000000..751dd51
--- /dev/null
+++ b/src/main/assembly/ear.xml
@@ -0,0 +1,23 @@
+
+
+ ear
+
+ ear
+
+ false
+ false
+
+
+
+ /META-INF/
+
+
+
+ /APP-INF/lib/
+ ${project.artifactId}.jar
+
+
+
diff --git a/src/main/ear/META-INF/application.xml b/src/main/ear/META-INF/application.xml
new file mode 100644
index 0000000..6225051
--- /dev/null
+++ b/src/main/ear/META-INF/application.xml
@@ -0,0 +1,10 @@
+
+
+
+ osb12c-xquery-warmup
+
+ /APP-INF/lib/osb12c-xquery-warmup.jar
+
+
\ No newline at end of file
diff --git a/src/main/ear/META-INF/weblogic-application.xml b/src/main/ear/META-INF/weblogic-application.xml
new file mode 100644
index 0000000..085284e
--- /dev/null
+++ b/src/main/ear/META-INF/weblogic-application.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ com.tomecode.oracle.osb12c.warmup.OsbXqueryWamUpLifecycleListener
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/tomecode/oracle/osb12c/warmup/OsbXqueryWamUpLifecycleListener.java b/src/main/java/com/tomecode/oracle/osb12c/warmup/OsbXqueryWamUpLifecycleListener.java
new file mode 100644
index 0000000..9f6a041
--- /dev/null
+++ b/src/main/java/com/tomecode/oracle/osb12c/warmup/OsbXqueryWamUpLifecycleListener.java
@@ -0,0 +1,54 @@
+package com.tomecode.oracle.osb12c.warmup;
+
+import java.security.PrivilegedExceptionAction;
+
+import com.bea.wli.config.ConfigService;
+import com.bea.wli.config.spi.ResourceLifecycleListener;
+import com.bea.wli.sb.ALSBConfigService;
+
+import weblogic.application.ApplicationLifecycleEvent;
+import weblogic.application.ApplicationLifecycleListener;
+import weblogic.logging.NonCatalogLogger;
+
+/**
+ * Application listener
+ *
+ * @author Tome
+ *
+ */
+public final class OsbXqueryWamUpLifecycleListener extends ApplicationLifecycleListener {
+
+ private static final NonCatalogLogger logger = new NonCatalogLogger("OsbXqueryWarmUpListener");
+
+ public final void postStart(ApplicationLifecycleEvent evt) {
+
+ try {
+
+ weblogic.security.Security.runAs(weblogic.security.SubjectUtils.getAnonymousUser(), new PrivilegedExceptionAction