|
Sun GlassFish(tm) Message Queue v4.4 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.messaging.bridge.service.MessageTransformer<T,S>
public abstract class MessageTransformer<T,S>
The message transformer class to be extended by user. Its implementation must provide a public zero-argument constructor. The following is an example usage of this class for MQ STOMP bridge
import java.util.*; import javax.jms.*; import com.sun.messaging.bridge.service.MessageTransformer; public class MessageTran extends MessageTransformer <Message, Message> { public Message transform(Message message, boolean readOnly, String charsetName, String source, String target, Properties properties) throws Exception { Message m = message; if (source.equals(STOMP)) { //from STOMP client to Java Message Queue //convert any invalid headers from STOMP SEND frame if (properties != null) { ...... //convert key to valid JMS message property name, then call m.setStringProperty() ...... } } else if (source.equals(SUN_MQ)) { //from Java Message Queue to STOMP client if (message instanceof ObjectMessage) { //create a new BytesMessage for message to be transformed to BytesMessage bm = (BytesMessage)createJMSMessage(JMSMessageType.BYTESMESSAGE); //convert message to the BytesMessage ...... m = bm; } else { .... } } return m; }
Nested Class Summary | |
---|---|
static class |
MessageTransformer.JMSMessageType
|
Field Summary | |
---|---|
static String |
STOMP
The predefined provider name for JMS message to/from STOMP client |
static String |
SUN_MQ
The predefined provider name for JMS message to/from Sun Java Message Queue |
Constructor Summary | |
---|---|
MessageTransformer()
|
Method Summary | |
---|---|
protected Message |
createJMSMessage(MessageTransformer.JMSMessageType type)
Create a JMS message object. |
void |
init(Object obj)
This method is called by the bridge service before transform() is called. |
abstract T |
transform(S message,
boolean readOnly,
String charsetName,
String source,
String target,
Properties properties)
To be implemented by user |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String SUN_MQ
public static final String STOMP
Constructor Detail |
---|
public MessageTransformer()
Method Detail |
---|
public final void init(Object obj)
protected final Message createJMSMessage(MessageTransformer.JMSMessageType type) throws Exception
type
- the type of the JMS message to be created
IllegalStateException
- if this MessageTransfomer object is not initialized
Exception
- if fails to create the JMS Messagepublic abstract T transform(S message, boolean readOnly, String charsetName, String source, String target, Properties properties) throws Exception
message
- the message object to be tranformed.readOnly
- if the message is in read-only modecharsetName
- the charset name for message if applicable, null if not availablesource
- the source provider nametarget
- the target provider nameproperties
- any properties for the transform() call, null if none
Exception
- if unable to transform message
|
Sun GlassFish(tm) Message Queue v4.4 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |