You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ga...@apache.org on 2007/02/23 14:14:30 UTC
svn commit: r510936 - in
/webservices/sandesha/trunk/java/src/org/apache/sandesha2: ./ handlers/
msgprocessors/ util/
Author: gatfora
Date: Fri Feb 23 05:14:29 2007
New Revision: 510936
URL: http://svn.apache.org/viewvc?view=rev&rev=510936
Log:
Reduce the number of RMDBean lookups, and pass where found already. Make the getting of the SandeshaPolicyBean consistent.
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/SandeshaModule.java Fri Feb 23 05:14:29 2007
@@ -136,9 +136,6 @@
if(log.isDebugEnabled()) log.debug("Entry: SandeshaModule::engageNotify, " + axisDescription);
SandeshaPolicyBean parentPropertyBean = SandeshaUtil.getPropertyBean(axisDescription.getParent());
- if (parentPropertyBean==null)
- throw new AxisFault (SandeshaMessageHelper.getMessage(
- SandeshaMessageKeys.defaultPropertyBeanNotSet));
SandeshaPolicyBean axisDescPropertyBean = PropertyManager.loadPropertiesFromAxisDescription(axisDescription,parentPropertyBean);
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java Fri Feb 23 05:14:29 2007
@@ -187,10 +187,6 @@
RMMsgContext rmMsgContext = MsgInitializer.initializeMessage(msgContext);
SandeshaPolicyBean policyBean = SandeshaUtil.getPropertyBean(msgContext.getAxisOperation());
- if (policyBean==null) {
- String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.policyBeanNotFound);
- throw new SandeshaException (message);
- }
boolean inOrder= policyBean.isInOrder();
@@ -218,7 +214,7 @@
Object responseWritten = msgContext.getOperationContext().getProperty(Constants.RESPONSE_WRITTEN);
if (responseWritten==null || !Constants.VALUE_TRUE.equals(responseWritten)) {
- RMMsgContext ackRMMsgContext = AcknowledgementManager.generateAckMessage(rmMsgContext , sequenceId, storageManager, false, true);
+ RMMsgContext ackRMMsgContext = AcknowledgementManager.generateAckMessage(rmMsgContext, rmdBean, sequenceId, storageManager, true);
msgContext.getOperationContext().setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE);
AcknowledgementManager.sendAckNow(ackRMMsgContext);
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AckRequestedProcessor.java Fri Feb 23 05:14:29 2007
@@ -174,7 +174,7 @@
ackMsgCtx.setTo(acksTo);
ackMsgCtx.setReplyTo(msgContext.getTo());
- RMMsgCreator.addAckMessage(ackRMMsgCtx,rmdBean, sequenceId, storageManager);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx,rmdBean, sequenceId, rmdBean);
ackRMMsgCtx.getMessageContext().setServerSide(true);
if (acksTo.hasAnonymousAddress()) {
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CloseSequenceProcessor.java Fri Feb 23 05:14:29 2007
@@ -101,7 +101,7 @@
rmdBean.setClosed(true);
storageManager.getRMDBeanMgr().update(rmdBean);
- RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(rmMsgCtx , sequenceId, storageManager, false, true);
+ RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(rmMsgCtx, rmdBean, sequenceId, storageManager, true);
MessageContext ackMsgCtx = ackRMMsgCtx.getMessageContext();
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Fri Feb 23 05:14:29 2007
@@ -248,7 +248,7 @@
EndpointReference acksTo = new EndpointReference (bean.getAcksToEPR());
// Send an Ack if needed.
- sendAckIfNeeded(sequenceId, rmMsgCtx, storageManager, true, acksTo.hasAnonymousAddress());
+ sendAckIfNeeded(bean, sequenceId, rmMsgCtx, storageManager, true, acksTo.hasAnonymousAddress());
result = InvocationResponse.ABORT;
if (log.isDebugEnabled())
@@ -316,24 +316,20 @@
if (acksTo.hasAnonymousAddress() && backchannelFree) {
Object responseWritten = msgCtx.getOperationContext().getProperty(Constants.RESPONSE_WRITTEN);
if (responseWritten==null || !Constants.VALUE_TRUE.equals(responseWritten)) {
- RMMsgContext ackRMMsgContext = AcknowledgementManager.generateAckMessage(rmMsgCtx , sequenceId, storageManager,false,true);
+ RMMsgContext ackRMMsgContext = AcknowledgementManager.generateAckMessage(rmMsgCtx, bean, sequenceId, storageManager,true);
msgCtx.getOperationContext().setProperty(org.apache.axis2.Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE);
AcknowledgementManager.sendAckNow(ackRMMsgContext);
}
} else { //Scenario 2 and Scenario 3
- SandeshaPolicyBean policyBean = SandeshaUtil.getPropertyBean (msgCtx.getAxisOperation());
- if (policyBean==null) {
- String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.policyBeanNotFound);
- throw new SandeshaException (message);
- }
// having a negative value for timeToSend will make this behave as having an infinite ack interval.
long timeToSend = -1;
if (!acksTo.hasAnonymousAddress()) {
+ SandeshaPolicyBean policyBean = SandeshaUtil.getPropertyBean (msgCtx.getAxisOperation());
long ackInterval = policyBean.getAcknowledgementInterval();
timeToSend = System.currentTimeMillis() + ackInterval;
}
- RMMsgContext ackRMMsgContext = AcknowledgementManager.generateAckMessage(rmMsgCtx, sequenceId, storageManager,false,true);
+ RMMsgContext ackRMMsgContext = AcknowledgementManager.generateAckMessage(rmMsgCtx, bean, sequenceId, storageManager,true);
AcknowledgementManager.removeAckBeanEntries(sequenceId, storageManager);
AcknowledgementManager.addAckBeanEntry(ackRMMsgContext, sequenceId, timeToSend, storageManager);
@@ -378,7 +374,7 @@
}
- private static void sendAckIfNeeded(String sequenceId, RMMsgContext rmMsgCtx,
+ private void sendAckIfNeeded(RMDBean rmdBean, String sequenceId, RMMsgContext rmMsgCtx,
StorageManager storageManager, boolean serverSide, boolean anonymousAcksTo)
throws AxisFault {
@@ -386,8 +382,7 @@
log.debug("Enter: SequenceProcessor::sendAckIfNeeded " + sequenceId);
RMMsgContext ackRMMsgCtx = AcknowledgementManager.generateAckMessage(
- rmMsgCtx , sequenceId, storageManager,
- false, serverSide);
+ rmMsgCtx, rmdBean, sequenceId, storageManager, serverSide);
if (anonymousAcksTo) {
rmMsgCtx.getMessageContext().getOperationContext().
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Fri Feb 23 05:14:29 2007
@@ -312,8 +312,8 @@
RMMsgContext terminateSeqResponseRMMsg = RMMsgCreator.createTerminateSeqResponseMsg(terminateSeqRMMsg, rmdBean);
MessageContext outMessage = terminateSeqResponseRMMsg.getMessageContext();
- RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg,
- sequenceId, storageManager, false, true);
+ RMMsgContext ackRMMessage = AcknowledgementManager.generateAckMessage(terminateSeqRMMsg, rmdBean,
+ sequenceId, storageManager, true);
Iterator iter = ackRMMessage.getMessageParts(Sandesha2Constants.MessageParts.SEQ_ACKNOWLEDGEMENT);
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java Fri Feb 23 05:14:29 2007
@@ -84,10 +84,10 @@
RMSBean rmsBean = SandeshaUtil.getRMSBeanFromSequenceId(storageManager, outboundSequenceId);
String outboundInternalSeq = rmsBean.getInternalSequenceID();
String inboundSequenceId = SandeshaUtil.getServerSideIncomingSeqIdFromInternalSeqId(outboundInternalSeq);
-
- if (SandeshaUtil.getRMDBeanFromSequenceId(storageManager, inboundSequenceId) != null) {
+ RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, inboundSequenceId);
+ if (rmdBean != null) {
if(log.isDebugEnabled()) log.debug("Piggybacking ack for " + inboundSequenceId);
- RMMsgCreator.addAckMessage(rmMessageContext, rmsBean, inboundSequenceId, storageManager);
+ RMMsgCreator.addAckMessage(rmMessageContext, rmsBean, inboundSequenceId, rmdBean);
}
}
if(log.isDebugEnabled()) log.debug("Exit: AcknowledgementManager::piggybackAcksIfPresent, anon");
@@ -179,20 +179,18 @@
public static RMMsgContext generateAckMessage(
RMMsgContext referenceRMMessage,
+ RMDBean rmdBean,
String sequenceId,
StorageManager storageManager,
- boolean makeResponse,
boolean serverSide
) throws AxisFault {
if (log.isDebugEnabled())
- log.debug("Enter: AcknowledgementManager::generateAckMessage");
+ log.debug("Enter: AcknowledgementManager::generateAckMessage " + rmdBean);
MessageContext referenceMsg = referenceRMMessage.getMessageContext();
- RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
-
EndpointReference acksTo = new EndpointReference(rmdBean.getAcksToEPR());
if (acksTo.getAddress() == null)
@@ -204,9 +202,6 @@
referenceMsg.getAxisService());
MessageContext ackMsgCtx = SandeshaUtil.createNewRelatedMessageContext(referenceRMMessage, ackOperation);
- if (makeResponse) {
- ackMsgCtx.setOperationContext(referenceMsg.getOperationContext());
- }
ackMsgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
@@ -229,7 +224,7 @@
ackMsgCtx.setServerSide(serverSide);
// adding the SequenceAcknowledgement part.
- RMMsgCreator.addAckMessage(ackRMMsgCtx, rmdBean ,sequenceId, storageManager);
+ RMMsgCreator.addAckMessage(ackRMMsgCtx, rmdBean ,sequenceId, rmdBean);
if (log.isDebugEnabled())
log.debug("Exit: AcknowledgementManager::generateAckMessage");
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java Fri Feb 23 05:14:29 2007
@@ -399,7 +399,7 @@
* @throws SandeshaException
*/
public static void addAckMessage(RMMsgContext applicationMsg, RMSequenceBean rmBean,
- String sequenceId, StorageManager storageManager)
+ String sequenceId, RMDBean rmdBean)
throws SandeshaException {
if(log.isDebugEnabled())
log.debug("Entry: RMMsgCreator::addAckMessage " + sequenceId);
@@ -412,8 +412,6 @@
Identifier id = new Identifier(rmNamespaceValue);
id.setIndentifer(sequenceId);
sequenceAck.setIdentifier(id);
-
- RMDBean rmdBean = SandeshaUtil.getRMDBeanFromSequenceId(storageManager, sequenceId);
ArrayList ackRangeArrayList = SandeshaUtil.getAckRangeArrayList(rmdBean.getServerCompletedMessages(), rmNamespaceValue);
sequenceAck.setAckRanges(ackRangeArrayList);
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=510936&r1=510935&r2=510936
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java Fri Feb 23 05:14:29 2007
@@ -617,6 +617,11 @@
SandeshaMessageKeys.propertyBeanNotSet));
SandeshaPolicyBean propertyBean = (SandeshaPolicyBean) parameter.getValue();
+ if (propertyBean==null) {
+ String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.policyBeanNotFound);
+ throw new SandeshaException (message);
+ }
+
return propertyBean;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org