Skip to content

Commit 658df61

Browse files
committed
ActiveMQ Implementation
1 parent e8e9331 commit 658df61

File tree

9 files changed

+202
-1
lines changed

9 files changed

+202
-1
lines changed

.idea/vcs.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ActiveMQ-Client/.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
!**/src/main/**/target/
4+
!**/src/test/**/target/
5+
6+
### IntelliJ IDEA ###
7+
.idea/modules.xml
8+
.idea/jarRepositories.xml
9+
.idea/compiler.xml
10+
.idea/libraries/
11+
*.iws
12+
*.iml
13+
*.ipr
14+
15+
### Eclipse ###
16+
.apt_generated
17+
.classpath
18+
.factorypath
19+
.project
20+
.settings
21+
.springBeans
22+
.sts4-cache
23+
24+
### NetBeans ###
25+
/nbproject/private/
26+
/nbbuild/
27+
/dist/
28+
/nbdist/
29+
/.nb-gradle/
30+
build/
31+
!**/src/main/**/build/
32+
!**/src/test/**/build/
33+
34+
### VS Code ###
35+
.vscode/
36+
37+
### Mac OS ###
38+
.DS_Store

ActiveMQ-Client/.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ActiveMQ-Client/.idea/encodings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ActiveMQ-Client/.idea/misc.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ActiveMQ-Client/pom.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>com.deltacodex.ee</groupId>
8+
<artifactId>ActiveMQ-Client</artifactId>
9+
<version>1.0</version>
10+
11+
<properties>
12+
<maven.compiler.source>11</maven.compiler.source>
13+
<maven.compiler.target>11</maven.compiler.target>
14+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15+
</properties>
16+
17+
<dependencies>
18+
<dependency>
19+
<groupId>org.apache.activemq</groupId>
20+
<artifactId>activemq-all</artifactId>
21+
<version>5.18.6</version>
22+
</dependency>
23+
<dependency>
24+
<groupId>org.apache.logging.log4j</groupId>
25+
<artifactId>log4j-core</artifactId>
26+
<version>2.23.1</version>
27+
</dependency>
28+
</dependencies>
29+
30+
</project>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.deltacodex.ee.activemq;
2+
3+
import org.apache.activemq.ActiveMQConnectionFactory;
4+
5+
import javax.jms.*;
6+
7+
public class MessageReceiver {
8+
public static void main(String[] args) {
9+
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
10+
try {
11+
Connection connection = activeMQConnectionFactory.createConnection();
12+
connection.setClientID("ActiveMQ-ClientApp-1.1.0");
13+
connection.start();
14+
15+
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
16+
Topic topic = session.createTopic("activeMQTopic");
17+
18+
MessageConsumer consumer = session.createConsumer(topic);
19+
consumer.setMessageListener(new MessageListener() {
20+
public void onMessage(Message message) {
21+
try {
22+
System.out.println("Received message: " + message.getBody(String.class));
23+
} catch (JMSException e) {
24+
throw new RuntimeException(e);
25+
}
26+
}
27+
});
28+
29+
while (true) {}
30+
31+
// consumer.close();
32+
// session.close();
33+
// connection.close();
34+
35+
} catch (JMSException e) {
36+
throw new RuntimeException(e);
37+
}
38+
}
39+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.deltacodex.ee.activemq;
2+
3+
import org.apache.activemq.ActiveMQConnectionFactory;
4+
5+
import javax.jms.*;
6+
7+
public class MessageSender {
8+
public static void main(String[] args) {
9+
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
10+
try {
11+
Connection connection = activeMQConnectionFactory.createConnection();
12+
connection.setClientID("ActiveMQ-ClientApp-1.0.0");
13+
connection.start();
14+
15+
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
16+
Topic topic = session.createTopic("activeMQTopic");
17+
18+
MessageProducer producer = session.createProducer(topic);
19+
TextMessage textMessage = session.createTextMessage("Hello, This is ActiveMQ Message Sender");
20+
producer.send(textMessage);
21+
22+
producer.close();
23+
session.close();
24+
connection.close();
25+
26+
} catch (JMSException e) {
27+
throw new RuntimeException(e);
28+
}
29+
}
30+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.tharindu.me.auctionSystem.web.jms.message;
2+
3+
import jakarta.annotation.PostConstruct;
4+
import jakarta.ejb.ActivationConfigProperty;
5+
import jakarta.ejb.MessageDriven;
6+
import jakarta.jms.JMSException;
7+
import jakarta.jms.Message;
8+
import jakarta.jms.MessageListener;
9+
10+
//Message Driven Bean
11+
@MessageDriven(activationConfig = {
12+
// @ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "jms/myQueue"), //For Queue Connections
13+
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "jakarta.jms.Topic"),
14+
@ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "activeMQTopic"),
15+
@ActivationConfigProperty(propertyName = "destination", propertyValue = "activeMQTopic"),
16+
@ActivationConfigProperty(propertyName = "resourceAdapter", propertyValue = "activemq-rar-6.1.6"),
17+
//@ActivationConfigProperty(propertyName = "maxPoolSize", propertyValue = "1"), //Server-specific -->> (maxSession or maxPoolSize)
18+
//@ActivationConfigProperty(propertyName = "poolResizeQuantity", propertyValue = "1"), //Server-specific
19+
})
20+
public class MessageReceiver implements MessageListener {
21+
22+
@PostConstruct
23+
public void init() {
24+
System.out.println("MessageReceiver init...");
25+
}
26+
27+
@Override
28+
public void onMessage(Message message) {
29+
try {
30+
System.out.println(this + " Received message: "+message.getJMSMessageID()+" : " + message.getBody(String.class));
31+
//OUTPUT >> com.deltacodex.ee.jms.web.message.MessageReceiver@75cecc43 Received message: ID:57-192.168.57.55(98:a2:ee:3e:d1:ab)-60700-1746737930643 : I'm JMS Provider 49
32+
} catch (JMSException e) {
33+
throw new RuntimeException(e);
34+
}
35+
}
36+
}

0 commit comments

Comments
 (0)