[jboss-svn-commits] JBL Code SVN: r37459 - in labs/jbossesb/tags/GSS-SOA-3365: qa/junit/src/org/jboss/soa/esb/server and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 8 14:27:24 EDT 2011
Author: tcunning
Date: 2011-09-08 14:27:24 -0400 (Thu, 08 Sep 2011)
New Revision: 37459
Modified:
labs/jbossesb/tags/GSS-SOA-3365/product/rosetta/src/org/jboss/soa/esb/listeners/jca/EndpointProxy.java
labs/jbossesb/tags/GSS-SOA-3365/qa/junit/src/org/jboss/soa/esb/server/MyRedeliveryAction.java
Log:
JBESB-3679
Port SOA-3001 changes over to branch.
Modified: labs/jbossesb/tags/GSS-SOA-3365/product/rosetta/src/org/jboss/soa/esb/listeners/jca/EndpointProxy.java
===================================================================
--- labs/jbossesb/tags/GSS-SOA-3365/product/rosetta/src/org/jboss/soa/esb/listeners/jca/EndpointProxy.java 2011-09-08 15:44:43 UTC (rev 37458)
+++ labs/jbossesb/tags/GSS-SOA-3365/product/rosetta/src/org/jboss/soa/esb/listeners/jca/EndpointProxy.java 2011-09-08 18:27:24 UTC (rev 37459)
@@ -70,6 +70,11 @@
* The old classloader of the thread
*/
protected ClassLoader oldClassLoader = null;
+
+ /**
+ * The flag indicating that beforeDelivery was invoked.
+ */
+ protected boolean beforeDeliveryInvoked ;
/**
* Any transaction we started
@@ -156,7 +161,7 @@
log.trace("MessageEndpoint " + getProxyString(proxy) + " released");
// Tidyup any outstanding delivery
- if (oldClassLoader != null)
+ if (beforeDeliveryInvoked)
{
try
{
@@ -172,8 +177,9 @@
protected void before(Object proxy, Method method, Object[] args) throws Throwable
{
// Called out of sequence
- if (oldClassLoader != null)
+ if (beforeDeliveryInvoked)
throw new IllegalStateException("Missing afterDelivery from the previous beforeDelivery for message endpoint " + getProxyString(proxy));
+ beforeDeliveryInvoked = true ;
if (trace)
log.trace("MessageEndpoint " + getProxyString(proxy) + " released");
@@ -203,8 +209,9 @@
protected void after(Object proxy) throws Throwable
{
// Called out of sequence
- if (oldClassLoader == null)
+ if (!beforeDeliveryInvoked)
throw new IllegalStateException("afterDelivery without a previous beforeDelivery for message endpoint " + getProxyString(proxy));
+ beforeDeliveryInvoked = false ;
// Finish this delivery committing if we can
try
@@ -226,15 +233,24 @@
if (trace)
log.trace("MessageEndpoint " + getProxyString(proxy) + " delivering");
+ final Thread currentThread = Thread.currentThread() ;
+ final ClassLoader contextClassLoader = currentThread.getContextClassLoader() ;
+
// Mark delivery if beforeDelivery was invoked
- if (oldClassLoader != null)
+ if (beforeDeliveryInvoked)
+ {
delivered = true;
+ }
+ else
+ {
+ currentThread.setContextClassLoader(loader) ;
+ }
boolean commit = true;
try
{
// Check for starting a transaction
- if (oldClassLoader == null)
+ if (!beforeDeliveryInvoked)
{
boolean isTransacted = messageEndpointFactory.isDeliveryTransacted(method);
startTransaction("delivery", proxy, method, args, isTransacted);
@@ -256,8 +272,9 @@
finally
{
// No before/after delivery, end any transaction and release the lock
- if (oldClassLoader == null)
+ if (!beforeDeliveryInvoked)
{
+ currentThread.setContextClassLoader(contextClassLoader) ;
try
{
// Finish any transaction we started
Property changes on: labs/jbossesb/tags/GSS-SOA-3365/product/rosetta/src/org/jboss/soa/esb/listeners/jca/EndpointProxy.java
___________________________________________________________________
Added: svn:mergeinfo
+ /labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/src/org/jboss/soa/esb/listeners/jca/EndpointProxy.java:30511
Modified: labs/jbossesb/tags/GSS-SOA-3365/qa/junit/src/org/jboss/soa/esb/server/MyRedeliveryAction.java
===================================================================
--- labs/jbossesb/tags/GSS-SOA-3365/qa/junit/src/org/jboss/soa/esb/server/MyRedeliveryAction.java 2011-09-08 15:44:43 UTC (rev 37458)
+++ labs/jbossesb/tags/GSS-SOA-3365/qa/junit/src/org/jboss/soa/esb/server/MyRedeliveryAction.java 2011-09-08 18:27:24 UTC (rev 37459)
@@ -30,6 +30,7 @@
import org.jboss.soa.esb.actions.ActionPipelineProcessor;
import org.jboss.soa.esb.actions.ActionProcessingException;
import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.lifecycle.LifecycleResourceManager;
import org.jboss.soa.esb.message.Message;
/**
@@ -52,7 +53,14 @@
System.out.println("Body: " + incomingMessage) ;
System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n");
- getRedeliveryMBean().logMessage(incomingMessage);
+ if (LifecycleResourceManager.DEFAULT_IDENTITY.equals(LifecycleResourceManager.getSingleton().getIdentity()))
+ {
+ getRedeliveryMBean().logMessage("Default lifecycle identity used by JCA");
+ }
+ else
+ {
+ getRedeliveryMBean().logMessage(incomingMessage);
+ }
// Throw an error every second message
if ((count++ & 1) == 0)
{
Property changes on: labs/jbossesb/tags/GSS-SOA-3365/qa/junit/src/org/jboss/soa/esb/server/MyRedeliveryAction.java
___________________________________________________________________
Added: svn:mergeinfo
+ /labs/jbossesb/branches/JBESB_4_7_CP/qa/junit/src/org/jboss/soa/esb/server/MyRedeliveryAction.java:30511
More information about the jboss-svn-commits
mailing list