Author: dblevins
Date: Sun Apr 10 17:53:37 2011
New Revision: 1090854
URL: http://svn.apache.org/viewvc?rev=1090854&view=rev
Log:
OPENEJB-1519: Update existing examples to EJB 3.1
Removed:
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/MessagingClientBean.java
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/MessagingClientLocal.java
openejb/trunk/openejb3/examples/simple-mdb/src/main/resources/
Modified:
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
Modified:
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java?rev=1090854&r1=1090853&r2=1090854&view=diff
==============================================================================
---
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
(original)
+++
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
Sun Apr 10 17:53:37 2011
@@ -41,15 +41,22 @@ public class ChatBean implements Message
public void onMessage(Message message) {
try {
- TextMessage textMessage = (TextMessage) message;
- String question = textMessage.getText();
- if (question.equals("Hello World!")) {
+ final TextMessage textMessage = (TextMessage) message;
+ final String question = textMessage.getText();
+
+ if ("Hello World!".equals(question)) {
+
respond("Hello, Test Case!");
- } else if (question.equals("How are you?")) {
+
+ } else if ("How are you?".equals(question)) {
+
respond("I'm doing well.");
- } else if (question.equals("Still spinning?")) {
+
+ } else if ("Still spinning?".equals(question)) {
+
respond("Once every day, as usual.");
+
}
} catch (JMSException e) {
throw new IllegalStateException(e);
Modified:
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java?rev=1090854&r1=1090853&r2=1090854&view=diff
==============================================================================
---
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
(original)
+++
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
Sun Apr 10 17:53:37 2011
@@ -19,30 +19,70 @@ package org.superbiz.mdb;
import junit.framework.TestCase;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
+import javax.annotation.Resource;
+import javax.ejb.embeddable.EJBContainer;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
public class ChatBeanTest extends TestCase {
+ @Resource
+ private ConnectionFactory connectionFactory;
+
+ @Resource(name = "ChatBean")
+ private Queue questionQueue;
+
+ @Resource(name = "AnswerQueue")
+ private Queue answerQueue;
+
public void test() throws Exception {
- Properties p = new Properties();
- p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.LocalInitialContextFactory");
- InitialContext context = new InitialContext(p);
+ EJBContainer.createEJBContainer().getContext().bind("inject", this);
+
+
+ final Connection connection = connectionFactory.createConnection();
+
+ connection.start();
+
+ final Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
+
+ final MessageProducer questions =
session.createProducer(questionQueue);
+
+ final MessageConsumer answers = session.createConsumer(answerQueue);
+
- MessagingClientLocal bean = (MessagingClientLocal)
context.lookup("MessagingClientBeanLocal");
+ sendText("Hello World!", questions, session);
- bean.sendMessage("Hello World!");
+ assertEquals("Hello, Test Case!", receiveText(answers));
- assertEquals(bean.receiveMessage(), "Hello, Test Case!");
- bean.sendMessage("How are you?");
+ sendText("How are you?", questions, session);
- assertEquals(bean.receiveMessage(), "I'm doing well.");
+ assertEquals("I'm doing well.", receiveText(answers));
- bean.sendMessage("Still spinning?");
- assertEquals(bean.receiveMessage(), "Once every day, as usual.");
+ sendText("Still spinning?", questions, session);
+
+ assertEquals("Once every day, as usual.", receiveText(answers));
+
+ }
+
+ private void sendText(String text, MessageProducer questions, Session
session) throws JMSException {
+
+ questions.send(session.createTextMessage(text));
+
}
+
+ private String receiveText(MessageConsumer answers) throws JMSException {
+
+ return ((TextMessage) answers.receive(1000)).getText();
+
+ }
+
}
//END SNIPPET: code