blob: 3f45749c2b388e9562fa760498c8bda21dceea50 [file] [log] [blame]
<div class="wiki-content maincontent"><p>Create the file &lt;webapp-root&gt;/META-INF/context.xml. Here is an example:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
&lt;Context antiJARLocking=&quot;true&quot;&gt;
&lt;Resource
name=&quot;jms/ConnectionFactory&quot;
auth=&quot;Container&quot;
type=&quot;org.apache.activemq.ActiveMQConnectionFactory&quot;
description=&quot;JMS Connection Factory&quot;
factory=&quot;org.apache.activemq.jndi.JNDIReferenceFactory&quot;
brokerURL=&quot;tcp://localhost:61616&quot;
brokerName=&quot;LocalActiveMQBroker&quot;
useEmbeddedBroker=&quot;false&quot;/&gt;
&lt;Resource name=&quot;jms/topic/MyTopic&quot;
auth=&quot;Container&quot;
type=&quot;org.apache.activemq.command.ActiveMQTopic&quot;
factory=&quot;org.apache.activemq.jndi.JNDIReferenceFactory&quot;
physicalName=&quot;MY.TEST.FOO&quot;/&gt;
&lt;Resource name=&quot;jms/queue/MyQueue&quot;
auth=&quot;Container&quot;
type=&quot;org.apache.activemq.command.ActiveMQQueue&quot;
factory=&quot;org.apache.activemq.jndi.JNDIReferenceFactory&quot;
physicalName=&quot;MY.TEST.FOO.QUEUE&quot;/&gt;
&lt;/Context&gt;
]]></script>
</div></div>
<p>This will setup the JNDI for the ConectionFactory and Topic to work within Tomcat.</p>
<p>Here is some example code that will publish a test message to the MY.TEST.FOO Topic:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
try {
InitialContext initCtx = new InitialContext();
Context envContext = (Context) initCtx.lookup(&quot;java:comp/env&quot;);
ConnectionFactory connectionFactory = (ConnectionFactory) envContext.lookup(&quot;jms/ConnectionFactory&quot;);
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer((Destination) envContext.lookup(&quot;jms/topic/MyTopic&quot;));
Message testMessage = session.createMessage();
testMessage.setStringProperty(&quot;testKey&quot;, &quot;testValue&quot;);
producer.send(testMessage);
} catch (NamingException e) {
// TODO handle exception
} catch (JMSException e) {
// TODO handle exception
}
]]></script>
</div></div></div>