Skip to content

Biting the hand that feeds IT

The Register ®

Software:


Related Whitepapers

[Print][Mobile][Alerts]

Programming message services in Java

Asynchronous interactions seem to be the way of the future

Page: < Prev 1 2 3 4 5 6 Next >
Published Tuesday 25th September 2007 17:40 GMT

Publish destinations

How a destination is published is message service dependent. In the case of the JBossMQ message server a destination can be published by providing an entry in the JBossmq-destinations-service.xml file (found under the \server\default\deploy\jms directory for the default Jboss server configuration). By default a number of queues are already defined and we will use one of these, the queue/testQueue. By contrast, in WebLogic and WebSphere queues can be defined using the application server consoles.

The entry for the JBossmq-destinations-service.xml file for the queue/testQueue is presented below:

  <mbean code="org.jboss.mq.server.jmx.Queue"
         name="jboss.mq.destination:service=Queue,name=testQueue">
    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
    <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>
    <attribute name="MessageCounterHistoryDayLimit">-1</attribute>
    <attribute name="SecurityConf">
      <security>
        <role name="guest" read="true" write="true"/>
        <role name="publisher" read="true" write="true" create="false"/>
        <role name="noacc" read="false" write="false" create="false"/>
      </security>
    </attribute>
  </mbean>

Define a client

To send a message to a JMS message server queue, there are a number of steps that must be performed. These steps are the same whether you wish to send the message from a stand-alone application, from a Servlet or JSP, or indeed from an Enterprise JavaBean. These steps are:

Step 1: Obtain a queue connection factory. A queue connection factory is used to create the queue connection object used to handle the connection to the message servers’ queue.

Step 2: Create a queue connection. This is done by calling the createQueueConnection method on the factory object just obtained.

Step 3: Create a queue session. A queue session is obtained from the queue connection, as illustrated below:

QueueSession qs = 
             qc.createQueueSession(false, 
             Session.AUTO_ACKNOWLEDGE);

The first argument to the createQueueSession method above indicates that this is not part of a transaction. The second argument indicates that the queue session automatically acknowledges messages when they have been received successfully. Until a JMS message has been acknowledged, it is not considered to be successfully consumed.

Step 4: Look up the queue. This is done by using the initial context object we created earlier and looking up the queue using its JNDI name (e.g. queue/testQueue).

Step 5: Create a queue sender. A queue sender is a message producer that allows messages to be sent to the specified queue. A queue sender is created using the createSender method on the queue session:

Step 6: Create the message object.

Step 7: Send the message via the QueueSender object created in step 5.

Step 8: Close the queue connection.

Page: < Prev 1 2 3 4 5 6 Next >
Track this type of story as a custom Atom/RSS feed or by email.
Previous Article Next Article
whitepaper title

The Register Guides : The status of iSCSI

Now that the hype's abated, have companies backing iSCSI have run out of energy and patience, or is the technology becoming commonplace and accepted?.
whitepaper title

How IT Management Can "Green" the Data Center

This Gartner research provides managers with an outline of the trends affecting datacenters and offers strategies with which to address these changes..
Whitepapers

The MSDN Developer Zone

Top 20 storiesAll The Week’s HeadlinesArchiveSearch