Feeds

Programming message services in Java

Asynchronous interactions seem to be the way of the future

Internet Security Threat Report 2014

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.

Internet Security Threat Report 2014

More from The Register

next story
Download alert: Nearly ALL top 100 Android, iOS paid apps hacked
Attack of the Clones? Yeah, but much, much scarier – report
NSA SOURCE CODE LEAK: Information slurp tools to appear online
Now you can run your own intelligence agency
Whistling Google: PLEASE! Brussels can only hurt Europe, not us
And Commish is VERY pro-Google. Why should we worry?
Microsoft: Your Linux Docker containers are now OURS to command
New tool lets admins wrangle Linux apps from Windows
First in line to order a Nexus 6? AT&T has a BRICK for you
Black Screen of Death plagues early Google-mobe batch
Microsoft adds video offering to Office 365. Oh NOES, you'll need Adobe Flash
Lovely presentations... but not on your Flash-hating mobe
prev story

Whitepapers

Designing and building an open ITOA architecture
Learn about a new IT data taxonomy defined by the four data sources of IT visibility: wire, machine, agent, and synthetic data sets.
How to determine if cloud backup is right for your servers
Two key factors, technical feasibility and TCO economics, that backup and IT operations managers should consider when assessing cloud backup.
Getting started with customer-focused identity management
Learn why identity is a fundamental requirement to digital growth, and how without it there is no way to identify and engage customers in a meaningful way.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.
Website security in corporate America
Find out how you rank among other IT managers testing your website's vulnerabilities.