15 Ağustos 2023 Salı

Hazelcast Jet Sources.jmsQueue metodu

Giriş
İmzası şöyle. jakarta.jms.ConnectionFactory arayüzünü gerçekleştiren bir sınıf bekliyor.
public static StreamSource<Message> jmsQueue(String name, 
  SupplierEx<? extends ConnectionFactory> factorySupplier);
JMS bağlantısının kurulabilmesi için şu yöntemlerden birisini yapmak gerekir

1. Member Class Path'e JMS client bağımlılığı eklenir.
Açıklaması şöyle
To use a JMS broker, such as ActiveMQ, you need the client libraries on your members' classpath.
Örneğin
Şöyle member'daki pom.xml dosyasında şöyle yaparız
<dependency>
  <groupId>org.apache.activemq</groupId>
  <artifactId>activemq-client-jakarta</artifactId>
  <version>5.18.2</version>
</dependency>
2. JobConfig nesnesine addJar() çağrısı ile gerekli client jar'ları eklenir. 
Bu yöntemi burada gördüm. Ama bence iyi bir çözüm değil

Örnek
Şöyle yapmak gerekir
jobConfig.addJar("artemis-jakarta-client-all-2.30.0.jar");

Kullanım
Örnek - Artemis
Şöyle yaparız
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;

Pipeline pipeline = Pipeline.create();
pipeline.readFrom(Sources.jmsQueue("JCG_QUEUE",
  () -> new ActiveMQConnectionFactory("tcp://activemq:61616")))
  .withoutTimestamps()
  .writeTo(Sinks.logger()
);

Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt