diff --git a/README.md b/README.md
index 47821b70..1b672aa9 100644
--- a/README.md
+++ b/README.md
@@ -44,6 +44,7 @@ Currently the following components are supported with more being added over time
- WebSocket 1.1 (Jetty)
- Bean Validation 1.1 (RI Hibernate validator)
- JTA 1.2 (Narayana)
+- JMS 2.0.1 (ActiveMQ)
## Additional features
@@ -208,6 +209,12 @@ To choose your Java EE components with fine grain control include them as your d
com.kumuluz.ee
kumuluzee-jta-narayana
+
+
+
+ com.kumuluz.ee
+ kumuluzee-jms-activemq
+
```
To choose your KumuluzEE extensions include them as your dependencies. You can find the available implementations and options at their respected project pages.
diff --git a/bom/pom.xml b/bom/pom.xml
index 03482c5a..29847a59 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -98,6 +98,11 @@
kumuluzee-jta-narayana
${project.version}
+
+ com.kumuluz.ee
+ kumuluzee-jms-activemq
+ ${project.version}
+
diff --git a/common/src/main/java/com/kumuluz/ee/common/dependencies/EeComponentType.java b/common/src/main/java/com/kumuluz/ee/common/dependencies/EeComponentType.java
index 6679d486..a17a60fc 100644
--- a/common/src/main/java/com/kumuluz/ee/common/dependencies/EeComponentType.java
+++ b/common/src/main/java/com/kumuluz/ee/common/dependencies/EeComponentType.java
@@ -54,7 +54,9 @@ public enum EeComponentType {
BATCH("Batch"),
- MAIL("JavaMail");
+ MAIL("JavaMail"),
+
+ JMS("JMS");
private final String name;
diff --git a/components/jms/activemq/pom.xml b/components/jms/activemq/pom.xml
new file mode 100644
index 00000000..cb0f2cf8
--- /dev/null
+++ b/components/jms/activemq/pom.xml
@@ -0,0 +1,35 @@
+
+
+
+ kumuluzee-jms
+ com.kumuluz.ee
+ 2.5.0-SNAPSHOT
+
+ 4.0.0
+
+ kumuluzee-jms-activemq
+
+ KumuluzEE JMS ActiveMQ
+ KumuluzEE JMS component implemented by ActiveMQ (Apache Software Foundation)
+
+
+
+ com.kumuluz.ee
+ kumuluzee-common
+
+
+
+ javax.jms
+ javax.jms-api
+
+
+
+ org.apache.activemq
+ activemq-client
+ ${activemq.version}
+
+
+
+
\ No newline at end of file
diff --git a/components/jms/activemq/src/main/java/com/kumuluz/ee/jms/activemq/JmsComponent.java b/components/jms/activemq/src/main/java/com/kumuluz/ee/jms/activemq/JmsComponent.java
new file mode 100644
index 00000000..0a4c62d9
--- /dev/null
+++ b/components/jms/activemq/src/main/java/com/kumuluz/ee/jms/activemq/JmsComponent.java
@@ -0,0 +1,31 @@
+package com.kumuluz.ee.jms.activemq;
+
+import com.kumuluz.ee.common.Component;
+import com.kumuluz.ee.common.config.EeConfig;
+import com.kumuluz.ee.common.dependencies.EeComponentDef;
+import com.kumuluz.ee.common.dependencies.EeComponentType;
+import com.kumuluz.ee.common.wrapper.KumuluzServerWrapper;
+
+import java.util.logging.Logger;
+
+/**
+ * @author Dejan Ognjenović
+ * @since 2.5.0
+ */
+@EeComponentDef(name = "ActiveMQ", type = EeComponentType.JMS)
+public class JmsComponent implements Component {
+
+ private Logger log = Logger.getLogger(JmsComponent.class.getSimpleName());
+
+ @Override
+ public void init(KumuluzServerWrapper server, EeConfig eeConfig) {
+
+ }
+
+ @Override
+ public void load() {
+
+ log.info("Initiating ActiveMQ");
+ }
+
+}
diff --git a/components/jms/activemq/src/main/resources/META-INF/services/com.kumuluz.ee.common.Component b/components/jms/activemq/src/main/resources/META-INF/services/com.kumuluz.ee.common.Component
new file mode 100644
index 00000000..19defb27
--- /dev/null
+++ b/components/jms/activemq/src/main/resources/META-INF/services/com.kumuluz.ee.common.Component
@@ -0,0 +1 @@
+com.kumuluz.ee.jms.activemq.JmsComponent
\ No newline at end of file
diff --git a/components/jms/pom.xml b/components/jms/pom.xml
new file mode 100644
index 00000000..49c17ea3
--- /dev/null
+++ b/components/jms/pom.xml
@@ -0,0 +1,22 @@
+
+
+
+ kumuluzee-components
+ com.kumuluz.ee
+ 2.5.0-SNAPSHOT
+
+ 4.0.0
+
+ pom
+ kumuluzee-jms
+
+ KumuluzEE JMS
+ KumuluzEE JMS component
+
+
+ activemq
+
+
+
\ No newline at end of file
diff --git a/components/pom.xml b/components/pom.xml
index 954ee0c0..baff2162 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -26,6 +26,7 @@
jax-ws
ejb
jta
+ jms
kumuluzee-components
diff --git a/pom.xml b/pom.xml
index 197774bf..3453ebec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,7 @@
1.0
3.2
1.2
+ 2.0.1
2.0.3.Final
3.3.0.Final
@@ -75,6 +76,7 @@
9.4.6.v20170531
5.6.4.Final
7.6.0.Final
+ 5.15.2
@@ -281,6 +283,16 @@
${project.version}
pom
+
+ com.kumuluz.ee
+ kumuluzee-jms
+ ${project.version}
+
+
+ com.kumuluz.ee
+ kumuluzee-jms-activemq
+ ${project.version}
+
com.kumuluz.ee
kumuluzee-profiles
@@ -386,6 +398,11 @@
javax.transaction-api
${jta.version}
+
+ javax.jms
+ javax.jms-api
+ ${jms.version}
+