Skip to content

Instantly share code, notes, and snippets.

View anishi1222's full-sized avatar

Akihiro Nishikawa anishi1222

View GitHub Profile
public class Listener implements MessageListener {
public void onMessage(Message m) {
try {
TextMessage msg = (TextMessage) m;
// Show message
System.out.printf("[Dequeued message at %s] %s\n", (new Date()).toString(), msg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
try (JMSContext jmsContext = factory.createContext() ) {
// Create the queue and topic
Queue queue = jmsContext.createQueue("QUEUE_NAME");
// set Message Listener
JMSConsumer consumer = jmsContext.createConsumer(queue);
// Listener implements MessageListener.
consumer.setMessageListener(new Listener());
System.out.println("Receiver is ready, waiting for messages...");
try (JMSContext jmsContext = factory.createContext() ) {
// Create the queue and topic
Queue queue = jmsContext.createQueue("QUEUE_NAME");
// Create the JMS message producer
JMSProducer producer = jmsContext.createProducer();
// Create textmessage
TextMessage msg = jmsContext.createTextMessage(String.format("message sent at %s", (new Date()).toString()));
// send the message to the queue
producer.send(queue, msg);
import com.microsoft.azure.servicebus.jms.ServiceBusJmsConnectionFactory;
import com.microsoft.azure.servicebus.jms.ServiceBusJmsConnectionFactorySettings;
...
ServiceBusJmsConnectionFactorySettings connectionFactorySettings = new ServiceBusJmsConnectionFactorySettings();
connectionFactorySettings.setConnectionIdleTimeoutMS(20000);
ConnectionFactory factory = new ServiceBusJmsConnectionFactory("CONNECTION_STRING", connectionFactorySettings);
<!-- for Cloud Event -->
<dependency>
<groupId>io.cloudevents</groupId>
<artifactId>cloudevents-http-restful-ws</artifactId>
<version>2.0.0-milestone3</version>
</dependency>
<dependency>
<groupId>io.cloudevents</groupId>
<artifactId>cloudevents-json-jackson</artifactId>
<version>2.0.0-milestone3</version>
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
headers.add("aeg-sas-key", AEG_KEY);
Response response = ClientBuilder.newClient().target(AEG_ENDPOINT)
.path("/api/events")
.queryParam("api-version", "2018-01-01")
.request("application/cloudevents+json")
.headers(headers)
.post(Entity.entity(serialized, "application/cloudevents+json"));
EventFormat format =EventFormatProvider
.getInstance()
.resolveFormat(JsonFormat.CONTENT_TYPE);
byte[] serialized = format.serialize(ce);
JsonObject jsonObject = Json.createObjectBuilder()
.add("message", "Using CloudEvents.io API to send CloudEvents!!")
.build();
CloudEvent ce = CloudEventBuilder.v1()
.withId("A234-1234-1234")
.withType("io.logico-jp.ExampleEventType")
.withSource(URI.create("io/logico-jp/source"))
.withTime(OffsetDateTime.now(ZoneId.ofOffset("UTC", ZoneOffset.UTC)))
.withDataContentType(MediaType.APPLICATION_JSON)
<!-- for CloudEvents API -->
<dependency>
<groupId>io.cloudevents</groupId>
<artifactId>cloudevents-http-restful-ws</artifactId>
<version>2.0.0-milestone3</version>
</dependency>
<dependency>
<groupId>io.cloudevents</groupId>
<artifactId>cloudevents-json-jackson</artifactId>
<version>2.0.0-milestone3</version>
@Path("/updates")
@POST
public Response receiveEvent(Optional<JsonObject> obj) {
if(obj.isEmpty()) return Response.noContent().status(Response.Status.OK).build();
EventFormat format = EventFormatProvider
.getInstance()
.resolveFormat(JsonFormat.CONTENT_TYPE);
CloudEvent ce = format.deserialize(obj.get().toString().getBytes(StandardCharsets.UTF_8));