[overlord-commits] Overlord SVN: r636 - in cdl/trunk: samples/jbossesb/brokerage/broker/stateful/src/main/resources/META-INF and 1 other directory.
overlord-commits at lists.jboss.org
overlord-commits at lists.jboss.org
Tue May 5 04:22:26 EDT 2009
Author: jeff.yuchang
Date: 2009-05-05 04:22:26 -0400 (Tue, 05 May 2009)
New Revision: 636
Modified:
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ConversationAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ReceiveMessageAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/RetrieveSessionAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/SendMessageAction.java
cdl/trunk/samples/jbossesb/brokerage/broker/stateful/src/main/resources/META-INF/jboss-esb.xml
Log:
Fix SendMessageAction issue bug.
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ConversationAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ConversationAction.java 2009-05-04 16:07:35 UTC (rev 635)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ConversationAction.java 2009-05-05 08:22:26 UTC (rev 636)
@@ -57,11 +57,11 @@
private ConfigTree config;
- private Set<ScheduleItem> scheduleItems = new HashSet<ScheduleItem>();
+ private Set<ScheduleItem> scheduleItems;
- protected boolean unscheduledServiceItem = false;
+ protected boolean hasUnscheduledService;
- protected boolean isCreateSessionAction = false;
+ protected boolean isCreateSessionAction;
protected Session session;
@@ -105,6 +105,9 @@
* @throws Exception
*/
public final Message process(Message message) throws Exception {
+ scheduleItems = new HashSet<ScheduleItem>();
+ hasUnscheduledService = false;
+ isCreateSessionAction = false;
hibernateSession = HibernateUtil.currentSession();
Transaction transaction = hibernateSession.beginTransaction();
@@ -113,7 +116,7 @@
if (session != null && isFirstOrLastConversationAction(message, true)) {
logger.debug("This is first conversation action of message: [" + message.getBody().get() + "].");
unschedule(session, message);
- unscheduledServiceItem = true;
+ hasUnscheduledService = true;
}
handle(message);
@@ -143,6 +146,7 @@
transaction.commit();
} catch (Exception e) {
transaction.rollback();
+ logger.error(e.getMessage(), e);
throw new Exception("Error in process message: " + e, e);
} finally {
HibernateUtil.closeSession();
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ReceiveMessageAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ReceiveMessageAction.java 2009-05-04 16:07:35 UTC (rev 635)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/ReceiveMessageAction.java 2009-05-05 08:22:26 UTC (rev 636)
@@ -77,12 +77,14 @@
if (requiredMType.equals(mesgMType)) {
java.util.List<Identity> ids=getIdentities(message, serviceName);
- session=getSession(message, ids);
+ if (session == null){
+ session=getSession(message, ids);
+ }
session.assimulateIdentities(ids);
logger.info("MESSAGE TYPE [ "+ mesgMType +" ] RECEIVED.");
- if (unscheduledServiceItem == false && isFirstOrLastConversationAction(message, true)) {
+ if (hasUnscheduledService == false && isFirstOrLastConversationAction(message, true)) {
String category=getConfig().getParent().getAttribute(ActionProperties.SERVICE_CATEGORY);
String name=getConfig().getParent().getAttribute(ActionProperties.SERVICE_NAME);
unscheduleService(session, category, name);
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/RetrieveSessionAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/RetrieveSessionAction.java 2009-05-04 16:07:35 UTC (rev 635)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/RetrieveSessionAction.java 2009-05-05 08:22:26 UTC (rev 636)
@@ -63,15 +63,21 @@
}
public Message handle(Message message) throws Exception{
+ logger.debug("Entering the RetrieveSessionAction");
+
String serviceDescriptionName = getConfig().getAttribute(ActionProperties.SERVICE_DESCRIPTION_NAME);
List<Identity> ids = getIdentities(message, serviceDescriptionName);
-
- session= getSession(message, ids);
+ if (session == null) {
+ session= getSession(message, ids);
+ }
+
String serviceName=getConfig().getParent().getAttribute(ActionProperties.SERVICE_NAME);
String serviceCategory=getConfig().getParent().getAttribute(ActionProperties.SERVICE_CATEGORY);
- unscheduleService(session, serviceCategory, serviceName);
+ if (!hasUnscheduledService) {
+ unscheduleService(session, serviceCategory, serviceName);
+ }
logger.debug("Finished retrieving session action.");
return(message);
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/SendMessageAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/SendMessageAction.java 2009-05-04 16:07:35 UTC (rev 635)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateful/actions/SendMessageAction.java 2009-05-05 08:22:26 UTC (rev 636)
@@ -199,6 +199,8 @@
@Override
protected void sendAsyncMessage(Message message) throws Exception {
+ super.sendAsyncMessage(message);
+
if (serviceInvoker != null) {
serviceInvoker.deliverAsync(this.sendMessage);
} else if (courier != null) {
Modified: cdl/trunk/samples/jbossesb/brokerage/broker/stateful/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/broker/stateful/src/main/resources/META-INF/jboss-esb.xml 2009-05-04 16:07:35 UTC (rev 635)
+++ cdl/trunk/samples/jbossesb/brokerage/broker/stateful/src/main/resources/META-INF/jboss-esb.xml 2009-05-05 08:22:26 UTC (rev 636)
@@ -326,7 +326,8 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateful.actions.RetrieveSessionAction"
process="process" name="s10-1">
- <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
+ <property name="serviceDescriptionName" value="{http://www.jboss.org/overlord/loanBroker}Broker" />
<property name="identities" >
<identity type="primary" >
<token name="id" locator="//@id" />
More information about the overlord-commits
mailing list