![]() | ![]() | ![]() | ||||||||||||||||||||
![]() | ||||||||||||||||||||||
documentation examples changes amber (jpa) ejb database ioc jmx jsf messaging quercus remoting servlet security jms/php send jms/php receive jms ioc listener | jms messaging in quercus - sending messages
Quercus offers a simplified messaging interface built upon JMS. This functionality makes it possible to send and receive messages using either the Resin JMS implementation or any other messaging service with a JMS implementation. Many features of JMS are designed for message-driven services which make sense in the Java world, but are not appropriate for PHP. This tutorial focuses on sending messages. In this example, the script checks a POST variable "message" and if it is set, sends the value of that variable to a JMS queue. A Message Driven Bean (MDB) receives these messages and records them. The record is displayed by a servlet. Example: PHP sending script <?php if (array_key_exists("message", $_POST)) { $queue = java_bean("Queue"); if (! $queue) { echo "Unable to get message queue!\n"; } else { if ($queue->offer($_POST["message"]) == TRUE) { echo "Successfully sent message '" . $_POST["message"] . "'"; } else { echo "Unable to send message '" . $_POST["message"] . "'"; } } } ?>
The programming model of the Quercus JMS interface is first to
get access to the queue using the
JMS requires that two resources be set up: A
Example: ConnectionFactory configuration in resin-web.xml <web-app xmlns="http://caucho.com/ns/resin"> <jms-connection-factory uri="resin:"/> </web-app>
The example uses the queue named Example: Queue configuration in resin-web.xml <web-app xmlns="http://caucho.com/ns/resin"> <jms-queue name="Queue" uri="memory:"/> </web-app> The complete configuration is in WEB-INF/resin-web.xml.
|