Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
xml
xml
borderStylesolid
titleweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
		version="2.4">
	
	<servlet>
		<display-name>OrderSenderServlet</display-name>
		<servlet-name>OrderSenderServlet</servlet-name>
		<servlet-class>org.apache.geronimo.samples.order.web.OrderSenderServlet</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>OrderSenderServlet</servlet-name>
		<url-pattern>/order</url-pattern>
	</servlet-mapping>	
	
	<resource-ref>
	    <res-ref-name>jms/CommonConnectionFactory</res-ref-name>
	    <res-type>javax.jms.QueueConnectionFactory</res-type>
	    <res-auth>Container</res-auth>
	    	<res-sharing-scope>Shareable</res-sharing-scope>
 	</resource-ref>
	
	<message-destination-ref>
	    <message-destination-ref-name>jms/OrderQueue</message-destination-ref-name>
	    <message-destination-type>javax.jms.Queue</message-destination-type>
	    <message-destination-usage>Produces</message-destination-usage>
	    <message-destination-link>OrderQueue</message-destination-link>
	</message-destination-ref>
	
	<welcome-file-list>
		<welcome-file>/jsp/index.jsp</welcome-file>
	</welcome-file-list>
	
</web-app>

...

Code Block
xml
xml
borderStylesolid
titlegeronimo-web.xml
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">

  <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">

    <dep:moduleId>

      <dep:groupId>samples<groupId>org.apache.geronimo.samples</dep:groupId>

      <dep:artifactId>OrderWeb</dep:artifactId>

      <dep:version>1.0<2</dep:version>

      <dep:type>car</dep:type>

    </dep:moduleId>

    <dep:dependencies>

		<dep:dependency>
			<dep:groupId>geronimo<groupId>org.apache.geronimo.configs</dep:groupId>

			<dep:artifactId>activemq-broker</dep:artifactId>

			<dep:type>car</dep:type>

        </dep:dependency>

		<dep:dependency>

            <dep:groupId>samples<groupId>org.apache.geronimo.samples</dep:groupId>

            <dep:artifactId>jms-resources</dep:artifactId>

            <dep:version>1.0<2</dep:version>

            <dep:type>rar</dep:type>

        </dep:dependency>		

	</dep:dependencies>		

    <dep:hidden-classes/>

    <dep:non-overridable-classes/>

  </dep:environment>



  <context-root>/Order</context-root> 

  <resource-ref>

    <ref-name>jms/CommonConnectionFactory</ref-name>

    <resource-link>CommonConnectionFactory</resource-link>

  </resource-ref>

	

  <resource-env-ref>

	   <ref-name>jms/OrderQueue</ref-name>

	   <admin-object-link>OrderQueue</admin-object-link>

  </resource-env-ref> 

</web-app>

The next important part of this sample application is how to send messages from out side the application server context. Consignment sender will handle it for the application as given below.

Code Block
java
java
borderStylesolid
titleConsignmentSender.java

                        Context ctx = new InitialContext(env);
			
			QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup(propLoader.getValue(CONNECTION_FACTORY_NAMES));
			
			conn = factory.createQueueConnection();
			
			Queue myQueue = (Queue) ctx.lookup(propLoader.getValue(QUEUE_NAME));
			
			session = conn.createQueueSession(false,javax.jms.Session.AUTO_ACKNOWLEDGE);

			producer = session.createProducer(myQueue);

			conn.start();
			
			consignmentMessage = session.createTextMessage();	
		
			consignmentMessage.setText(content);
			
			producer.send(consignmentMessage);
			
			System.out.println("Consignment Sent !!!"); 

How to listen on a JMS queue other than a MDB? The answer for this question can be found in the consignment reciever application.

...