JMS Connection
Generated Objects
@Property(name = "myJmsConnection") public ConnectionFactory myJmsConnection;
myJmsConnection is an instance of javax.jms.ConnectionFactory that represents the selected resource. You can use it to communicate with a JMS server.
Business Logic Example
class MyJMSActivityExecutor implements Runnable {
/**
* <!-- begin-custom-doc -->
*
* <!-- end-custom-doc -->
* @generated
*/
@Override
public void run() {
if(getActivityLogger().isDebugEnabled()) {
activityLogger.debug(RuntimeMessageBundle.DEBUG_PLUGIN_ACTIVITY_METHOD_CALLED
,new Object[] { "Executor run()"
,activityContext.getActivityName()
,activityContext.getProcessName()
,activityContext.getDeploymentUnitName()
,activityContext.getDeploymentUnitVersion() });
String serializedNode = XMLUtils.serializeNode(inputData, processContext.getXMLProcessingContext());
activityLogger.debug(RuntimeMessageBundle.DEBUG_PLUGIN_ACTIVITY_INPUT, new Object[] {activityContext.getActivityName(), serializedNode});
}
try {
// begin-custom-code
// add your own business code here
try {
// create a server connection as per a JMS Connection Resource
Connection connection = myJmsConnection.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
TemporaryQueue tempQueue = session.createTemporaryQueue();
MessageProducer producer = session.createProducer(tempQueue);
TextMessage message = session.createTextMessage();
// send some messages
for (int i = 0; i < 3; i++) {
message.setText("This is message " + (i + 1));
System.out.println("Sending message: " + message.getText());
producer.send(message);
}
// receive some messages
MessageConsumer consumer = session.createConsumer(tempQueue);
for (int i = 0; i < 3; i++) {
Message receivedMessage = consumer.receive();
System.out.println("Received message: " + receivedMessage.getBody(String.class));
}
} catch (JMSException e) {
throw new ActivityFault(activityContext, e);
}
// end-custom-code
N output = null;
SerializableXMLDocument<N> wrapper = new SerializableXMLDocument<N>(processContext.getXMLProcessingContext(), output);
notifier.setReady(wrapper);
} catch (Exception e) {
e.printStackTrace();
notifier.setReady(e);
}
}
}
Copyright © Cloud Software Group, Inc. All rights reserved.
