⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.xtp

📁 RESIN 3.2 最新源码
💻 XTP
字号:
<document><header>  <product>resin</product>  <title>JMS Messaging in Quercus - Sending messages</title>  <type>tutorial</type>  <tutorial-startpage>send-message.php</tutorial-startpage></header><body><localtoc/><s1 title="Files in this tutorial"><deftable><tr>  <th>File</th>  <th>Description</th></tr><tr>  <td><viewfile-link file="WEB-INF/resin-web.xml"/></td>  <td>resin-web.xml configuration</td></tr><tr>  <td><viewfile-link file="send-message.php"/></td>  <td>PHP script sending the message.</td></tr><tr>  <td><viewfile-link file="WEB-INF/classes/example/MyListener.java"/></td>  <td>Java message bean listener receiving the message.</td></tr><tr>  <td><viewfile-link file="WEB-INF/classes/example/MessageStoreService.java"/></td>  <td>Singleton service bean storing the received messages.</td></tr><tr>  <td><viewfile-link file="WEB-INF/classes/example/ViewLogServlet.java"/></td>  <td>Servlet displaying the contents of the message store.</td></tr></deftable></s1><s1 title="Using JMS in Quercus"><p>Quercus offers a simplified messaging interface built upon JMS.  This functionality makes it possible to send and receive messages using eitherthe Resin JMS implementation or any other messaging service with a JMSimplementation.  Many features of JMS are designed for message-drivenservices which make sense in the Java world, but are not appropriate forPHP.  This tutorial focuses on sending messages.</p></s1><s1 title="Sending JMS messages from a PHP script"><p>In this example, the script checks a POST variable "message" and ifit is set, sends the value of that variable to a JMS queue.  A MessageDriven Bean (MDB) receives these messages and records them.  The recordis displayed by a servlet.</p><example title="Example: PHP sending script">&lt;?phpif (array_key_exists("message", $_POST)) {  $queue = java_bean("Queue");  if (! $queue) {    echo "Unable to get message queue!\n";  } else {    if ($queue-&gt;offer($_POST["message"]) == TRUE) {      echo "Successfully sent message '" . $_POST["message"] . "'";    } else {      echo "Unable to send message '" . $_POST["message"] . "'";    }  }}?></example><p>The programming model of the Quercus JMS interface is first toget access to the queue using the <code>java_bean()</code> call.<code>java_bean</code> will look for the named bean in theresin-web.xml, in this case our queue.  Since the Queue implementsthe <code>java.util.concurrent.BlockingQueue</code> API, the PHP scriptcan send data to the queue directly using <code>offer()</code> andreceive messages with <code>poll()</code>.</p></s1><s1 title="Configuring JMS for PHP and Java"><p>JMS requires that two resources be set up: A<code>ConnectionFactory</code> and a <code>Queue</code>.  Both areconfigured in <viewfile-link file="WEB-INF/resin-web.xml"/>.The <code>ConnectionFactory</code> is used to connect to all the<code>Queue</code>s and only one of them needs to be set up.</p><example title="Example: ConnectionFactory configuration in resin-web.xml">&lt;web-app xmlns="http://caucho.com/ns/resin">  &lt;jms-connection-factory uri="resin:"/>&lt;/web-app></example><p>The example uses the queue named <code>Queue</code>.</p><example title="Example: Queue configuration in resin-web.xml">&lt;web-app xmlns="http://caucho.com/ns/resin">  &lt;jms-queue name="Queue" uri="memory:"/>&lt;/web-app></example><p>The complete configuration is in <viewfile-link file="WEB-INF/resin-web.xml"/>.</p></s1></body></document>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -