User: user57
Date: 01/07/05 00:05:58
Modified: src/main/org/jboss/test/jmsra/bean PublisherBean.java
PublisherCMPBean.java
Log:
Revision Changes Path
1.4 +102 -42 jbosstest/src/main/org/jboss/test/jmsra/bean/PublisherBean.java
Index: PublisherBean.java
===================================================================
RCS file:
/cvsroot/jboss/jbosstest/src/main/org/jboss/test/jmsra/bean/PublisherBean.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PublisherBean.java 2001/07/04 01:27:34 1.3
+++ PublisherBean.java 2001/07/05 07:05:58 1.4
@@ -1,3 +1,9 @@
+/*
+ * JBoss, the OpenSource EJB server
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
package org.jboss.test.jmsra.bean;
import java.rmi.RemoteException;
@@ -8,97 +14,145 @@
import javax.naming.*;
import javax.jms.*;
+import org.apache.log4j.Category;
-public class PublisherBean implements SessionBean {
-
- private static final String CONNECTION_JNDI =
"java:comp/env/jms/MyQueueConnection";
- private static final String QUEUE_JNDI = "java:comp/env/jms/QueueName";
-
- private static final String BEAN_JNDI = "java:comp/env/ejb/PublisherCMP";
-
- private SessionContext ctx = null;
- private Queue queue = null;
- private QueueConnection queueConnection = null;
+/**
+ * Bean to help JMS RA test publish/send JMS messages and test transactional
+ * behavior.
+ *
+ * <p>Created: Mon Apr 23 21:35:25 2001
+ *
+ * @author Unknown
+ * @author <a href="mailto:[EMAIL PROTECTED]">Jason Dillon</a>
+ * @version $Revision: 1.4 $
+ */
+public class PublisherBean
+ implements SessionBean
+{
+ private static final String CONNECTION_JNDI =
+ "java:comp/env/jms/MyQueueConnection";
+
+ private static final String QUEUE_JNDI =
+ "java:comp/env/jms/QueueName";
+
+ private static final String BEAN_JNDI =
+ "java:comp/env/ejb/PublisherCMP";
+
+ private final Category log = Category.getInstance(this.getClass());
+
+ private SessionContext ctx; // = null;
+ private Queue queue; // = null;
+ private QueueConnection queueConnection; // = null;
public PublisherBean() {
+ // empty
}
- public void setSessionContext(SessionContext ctx) {
+ public void setSessionContext(final SessionContext ctx) {
this.ctx = ctx;
}
- public void ejbCreate() {
+ public void ejbCreate() {
try {
Context context = new InitialContext();
queue = (Queue)context.lookup(QUEUE_JNDI);
- QueueConnectionFactory factory =
(QueueConnectionFactory)context.lookup(CONNECTION_JNDI);
+ QueueConnectionFactory factory =
+ (QueueConnectionFactory)context.lookup(CONNECTION_JNDI);
queueConnection = factory.createQueueConnection();
-
- } catch (Exception ex) {
+ }
+ catch (Exception e) {
// JMSException or NamingException could be thrown
- ex.printStackTrace();
- throw new EJBException(ex.toString());
+ log.error("failed to create bean", e);
+ throw new EJBException(e);
}
}
/**
* Send a message with a message nr in property MESSAGE_NR
*/
- public void simple(int messageNr) {
+ public void simple(int messageNr) {
+ log.info("sending message");
sendMessage(messageNr);
+ log.info("sent");
}
/**
* Try send a message with a message nr in property MESSAGE_NR,
* but set rollback only
*/
- public void simpleFail(int messageNr) {
+ public void simpleFail(int messageNr) {
+ log.info("sending message");
sendMessage(messageNr);
+ log.info("sent");
+
// Roll it back, no message should be sent if transactins work
- System.err.println("DEBUG: Setting rollbackOnly");
+ log.info("Setting rollbackOnly");
ctx.setRollbackOnly();
- System.err.println("DEBUG rollback set: " + ctx.getRollbackOnly());
-
+ log.info("rollback set: " + ctx.getRollbackOnly());
}
public void beanOk(int messageNr) {
+ log.info("sending message");
// DO JMS - First transaction
sendMessage(messageNr);
+ log.info("sent");
+
PublisherCMPHome h = null;
try {
// DO entity bean - Second transaction
h = (PublisherCMPHome) new InitialContext().lookup(BEAN_JNDI);
PublisherCMP b = h.create(new Integer(messageNr));
+ log.info("calling bean");
b.ok(messageNr);
- } catch(Exception ex) {
- throw new EJBException("OPS exception in ok: " + ex);
- } finally {
+ log.info("called bean");
+ }
+ catch (Exception e) {
+ log.error("failed to contact 3rdparty bean", e);
+ throw new EJBException(e);
+ }
+ finally {
try {
h.remove(new Integer(messageNr));
- } catch(Exception e) {
- e.printStackTrace();
}
+ catch (Exception e) {
+ log.error("failed to remove 3rdparty bean", e);
+ }
+ finally {
+ log.info("done");
+ }
}
}
public void beanError(int messageNr) {
+ log.info("sending message");
// DO JMS - First transaction
sendMessage(messageNr);
+ log.info("sent");
+
PublisherCMPHome h = null;
try {
// DO entity bean - Second transaction
h = (PublisherCMPHome) new InitialContext().lookup(BEAN_JNDI);
PublisherCMP b = h.create(new Integer(messageNr));
+ log.info("calling bean");
b.error(messageNr);
- } catch(Exception ex) {
- throw new EJBException("Exception in erro: " + ex);
- }finally {
+ log.info("bean called (should never get here)");
+ }
+ catch (Exception e) {
+ log.info("caught exception (as expected)");
+ throw new EJBException("Exception in erro: " + e);
+ }
+ finally {
try {
h.remove(new Integer(messageNr));
- }catch(Exception ex) {
- ex.printStackTrace();
}
+ catch (Exception e) {
+ log.error("failed to remove 3rdparty bean", e);
+ }
+ finally {
+ log.info("done");
+ }
}
}
@@ -106,9 +160,10 @@
if (queueConnection != null) {
try {
queueConnection.close();
- } catch (Exception e) {
- e.printStackTrace();
}
+ catch (Exception e) {
+ log.error("failed to close connection", e);
+ }
}
}
@@ -116,32 +171,37 @@
public void ejbPassivate() {}
private void sendMessage(int messageNr) {
+ log.info("sending message wtih nr: " + messageNr);
QueueSession queueSession = null;
try {
QueueSender queueSender = null;
TextMessage message = null;
-
queueSession =
- queueConnection.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
+ queueConnection.createQueueSession(true,
+ Session.AUTO_ACKNOWLEDGE);
queueSender = queueSession.createSender(queue);
message = queueSession.createTextMessage();
message.setText(String.valueOf(messageNr));
message.setIntProperty(Publisher.JMS_MESSAGE_NR, messageNr);
queueSender.send(message);
- System.out.println("sent message with nr = " + messageNr);
+ log.info("sent message with nr = " + messageNr);
}
- catch (JMSException ex) {
- ex.printStackTrace();
+ catch (JMSException e) {
+ log.debug("failed to send", e);
ctx.setRollbackOnly();
- throw new EJBException(ex.toString());
+ throw new EJBException(e);
}
finally {
if (queueSession != null) {
try {
queueSession.close();
- } catch (Exception e) {
- e.printStackTrace();
+ }
+ catch (Exception e) {
+ log.error("failed to close session", e);
+ }
+ finally {
+ log.info("done sending message");
}
}
}
1.3 +37 -33
jbosstest/src/main/org/jboss/test/jmsra/bean/PublisherCMPBean.java
Index: PublisherCMPBean.java
===================================================================
RCS file:
/cvsroot/jboss/jbosstest/src/main/org/jboss/test/jmsra/bean/PublisherCMPBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PublisherCMPBean.java 2001/05/19 23:13:11 1.2
+++ PublisherCMPBean.java 2001/07/05 07:05:58 1.3
@@ -17,59 +17,63 @@
*/
package org.jboss.test.jmsra.bean;
-
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import org.jboss.test.util.ejb.EntitySupport;
+
/**
- * PublisherCMPBean.java
- *
+ * 3rdparty bean to help test JMS RA transactions.
*
- * Created: Tue Apr 24 22:32:41 2001
+ * <p>Created: Tue Apr 24 22:32:41 2001
*
- * @author
- * @version
+ * @author <a href="mailto:[EMAIL PROTECTED]">Peter Antman</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Jason Dillon</a>
+ * @version $Revision: 1.3 $
*/
-
-public class PublisherCMPBean extends EntitySupport {
+public class PublisherCMPBean
+ extends EntitySupport
+{
public Integer nr;
+
public PublisherCMPBean() {
+ // empty
+ }
+ public Integer getNr() {
+ return nr;
}
- public Integer getNr()
- {
- return nr;
- }
- public void setNr(Integer nr)
- {
- this.nr = nr;
+ public void setNr(Integer nr) {
+ this.nr = nr;
}
public void ok(int nr) {
- // Do nothing
+ // Do nothing
}
public void error(int nr) {
- // Roll back throug an exception
- throw new EJBException("Roll back!");
+ // Roll back throug an exception
+ throw new EJBException("Roll back!");
}
+
// EntityBean implementation -------------------------------------
- public Integer ejbCreate(Integer nr)
- throws CreateException
- {
- this.nr = nr;
- return null;
- }
-
- public void ejbPostCreate(Integer nr)
- throws CreateException
- {
- }
-
- public void ejbLoad()
- {
- }
+
+ public Integer ejbCreate(Integer nr)
+ throws CreateException
+ {
+ this.nr = nr;
+ return null;
+ }
+
+ public void ejbPostCreate(Integer nr)
+ throws CreateException
+ {
+ }
+
+ public void ejbLoad()
+ {
+ }
+
} // PublisherCMPBean
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development