請利用「片段」視圖來插入將文字訊息傳給 JMS 佇列接聽器的 Java™ 程式碼。 在許多情況下,JMS 佇列接聽器是一個訊息驅動 Bean。
插入的 Java 程式碼會利用 Queue Connection Factory 參照和您提供的佇列名稱參照,將一則訊息傳給 JMS 佇列接聽器。您可以更新 setText() 方法中的參數值來變更訊息的文字。
將訊息傳給 JMS 佇列接聽器的範例片段插入項目
public class Main { public void sendMyMessage() { // 將片段插在這裡 } }
import com.ibm.etools.service.locator.ServiceLocatorManager; import javax.jms.*; import javax.naming.*; public class Main { private final static String STATIC_CONNECTION_FACTORY_REF_NAME = "queueconnectionfactoryreference"; private final static String STATIC_QUEUE_REF_NAME = "queuename"; public void sendMyMessage() { // 將片段插在這裡 send_queuenameMessage(); } protected void send_queuenameMessage() { try { QueueConnectionFactory qConnectionFactory = ServiceLocatorManager .lookupQueueConnectionFactory(STATIC_CONNECTION_FACTORY_REF_NAME); Queue queue = ServiceLocatorManager .lookupQueue(STATIC_QUEUE_REF_NAME); QueueConnection qConnection = qConnectionFactory .createQueueConnection(); QueueSession qSession = qConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSender sender = qSession.createSender(queue); TextMessage message = qSession.createTextMessage(); message.setText("Foo Sample Queue message"); sender.send(message); sender.close(); qSession.close(); qConnection.close(); } catch (JMSException jmse) { // TODO 自動產生的 catch 區塊 jmse.printStackTrace(); } } }
如果要插入 Java 程式碼將訊息傳給 JMS 佇列接聽器,請執行下列動作:
ServiceLocatorManager 類別有一個 static 方法叫做 setErrorHandler(ServiceLocatorErrorHandler handler), 可以指定特定的錯誤處理常式,來處理查閱 Home 介面時所發生的錯誤狀況。預設的處理常式只要針對所處理的異常狀況呼叫 printStackTrace() 即可。