Loading...
Select Version
This section contains the following code samples:
Example 17 OLTP message-driven bean for dialog communication
package net.fsc.jca.BeanConnect.oltpmdb; import javax.ejb.EJBException; import javax.ejb.MessageDrivenBean; import javax.ejb.MessageDrivenContext; import java.util.Iterator; import net.fsc.jca.communication.*; public class SampleDialogOltpMdbBean implements MessageDrivenBean, OltpMessageListener { public void ejbCreate() throws EJBException { // @TODO: add code } public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException { // @TODO: add code } public void ejbRemove() throws EJBException { // @TODO: add code } public OltpMessage onMessage(OltpMessage inMsg) { String inMsgTxt; OltpMessageContext oltpMsgCtx = inMsg.getMessageContext(); // read request try { if (inMsg.countMessageParts() > 0) { OltpMessagePart inMsgPart; Iterator it<OltpMessagePart> = inMsg.getMessageParts(); for ( ; it.hasNext(); ) { inMsgPart = it.next(); inMsgTxt = inMsgPart.getText(); // @TODO: process message part } // @TODO: process request } } catch (Exception ex) { // @TODO: handle exception } // setup reply OltpMessage outMsg = oltpMsgCtx.createMessage(); OltpMessagePart outMsgPart = outMsg.createMessagePart(); try { outMsgPart. setText("Reply from SampleDialogOltpMdbBean"); } catch (OltpMessageException ex) { // @TODO: add exception handling } outMsg.addMessagePart(outMsgPart); return (outMsg); } }
Example 18 OLTP message-driven bean for asynchronous communication
package net.fsc.jca.BeanConnect.oltpmdb; import javax.ejb.EJBException; import javax.ejb.MessageDrivenBean; import javax.ejb.MessageDrivenContext; import java.util.Iterator; import net.fsc.jca.communication.*; public class SampleAsynOltpMdbBean implements MessageDrivenBean,AsyncOltpMessageListener { public void ejbCreate() throws EJBException { // @TODO: add code } public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException { // @TODO: add code } public void ejbRemove() throws EJBException { // @TODO: add code } public void onMessage(OltpMessage inMsg) { String inMsgTxt; OltpMessageContext oltpMsgCtx = inMsg.getMessageContext(); // read request try { if (inMsg.countMessageParts() > 0) { OltpMessagePart inMsgPart; Iterator it<OltpMessagePart> = inMsg.getMessageParts(); for ( ; it.hasNext(); ) { inMsgPart = it.next(); inMsgTxt = inMsgPart.getText(); // @TODO: process message part } // @TODO: process request } } catch (Exception ex) { // @TODO: handle exception } return; } }
Example 19 OLTP message-driven bean (CCI)
package net.fsc.jca.BeanConnect.oltpmdb; import java.util.Iterator; import javax.ejb.EJBException; import javax.ejb.MessageDrivenBean; import javax.ejb.MessageDrivenContext; import javax.resource.cci.MessageListener; import javax.resource.cci.Record; import net.fsc.jca.communication.OltpMessage; import net.fsc.jca.communication.OltpMessageContext; import net.fsc.jca.communication.OltpMessageException; import net.fsc.jca.communication.OltpMessagePart; import net.fsc.jca.communication.cci.BCRecord; public class SampleCciOltpMdbBean implements MessageDrivenBean, MessageListener { public Record onMessage(Record record) { String inMsgTxt; OltpMessage inMsg = ((BCRecord)record).getOltpMessage(); OltpMessageContext oltpMsgCtx = inMsg.getMessageContext(); // read request try { if (inMsg.countMessageParts() > 0) { OltpMessagePart inMsgPart; Iterator it<OltpMessagePart> = inMsg.getMessageParts(); for ( ; it.hasNext(); ) { inMsgPart = it.next(); inMgTxt = inMsgPart.getText(); // @TODO: process message part } // @TODO: process request } catch (Exception ex) { // @TODO: handle exception } // setup reply OltpMessage outMsg = oltpMsgCtx.createMessage(); OltpMessagePart outMsgPart = outMsg.createMessagePart(); try { outMsgPart.setText("Reply from SampleCciOltpMdbBean"); } catch (OltpMessageException ex) { // @TODO: add exception handling } outMsg.addMessagePart(outMsgPart); ((BCRecord)record).setOltpMessage(outMsg); return record; } /** * Method ejbCreate() as required by EJB spec. */ public void ejbCreate() throws EJBException { // @TODO: add code } /** * Method setMessageDrivenContext() as required by interface * javax.ejb.MessageDrivenBean. * javax.ejb.MessageDrivenBean#setMessageDrivenContext( *MessageDrivenContext ctx) */ public void setMessageDrivenContext(MessageDrivenContext ctx) throws EJBException { // @TODO: add code } /** * Method ejbRemove() as required by interface * javax.ejb.MessageDrivenBean. * * @see javax.ejb.MessageDrivenBean#ejbRemove() */ public void ejbRemove() throws EJBException { // @TODO: add code } }