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 2006/12/22 09:49:12 UTC
svn commit: r489582 - in /webservices/sandesha/trunk/java:
src/org/apache/sandesha2/ src/org/apache/sandesha2/client/
src/org/apache/sandesha2/storage/beans/ src/org/apache/sandesha2/util/
src/org/apache/sandesha2/workers/ test/src/org/apache/sandesha2/
Author: gatfora
Date: Fri Dec 22 00:49:11 2006
New Revision: 489582
URL: http://svn.apache.org/viewvc?view=rev&rev=489582
Log:
Move the last error properties to the RMSBean
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=489582&r1=489581&r2=489582
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Fri Dec 22 00:49:11 2006
@@ -319,10 +319,6 @@
String SOAP_VERSION = "SOAPVersion";
String OFFERED_ENDPOINT = "OfferedEndpoint";
-
- static final String LAST_FAILED_TO_SEND_ERROR = "LastFailToSendError";
-
- static final String LAST_FAILED_TO_SEND_ERROR_TIMESTAMP = "LastFailToSendErrorTimeStamp";
}
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java?view=diff&rev=489582&r1=489581&r2=489582
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java Fri Dec 22 00:49:11 2006
@@ -1252,7 +1252,7 @@
* @return
* @throws SandeshaException
*/
- public static String getLastSendError(ServiceClient serviceClient)
+ public static Exception getLastSendError(ServiceClient serviceClient)
throws SandeshaException
{
@@ -1274,20 +1274,18 @@
// Get the in use storage manager and the sequence property bean manager
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
Transaction transaction = null;
- String resultString = null;
+ Exception resultException = null;
try
{
transaction = storageManager.getTransaction();
- // Lookup the last failed to send error
- SequencePropertyBean errorBean = seqPropMgr.retrieve(internalSequenceId, Sandesha2Constants.SequenceProperties.LAST_FAILED_TO_SEND_ERROR);
+ RMSBean bean = SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, internalSequenceId);
- // Get the value from the
- if (errorBean != null)
- resultString = errorBean.getValue();
+ if (bean != null) {
+ resultException = bean.getLastSendError();
+ }
}
finally
{
@@ -1296,9 +1294,9 @@
}
if (log.isDebugEnabled())
- log.debug("Exit: SandeshaClient::getLastSendError, " + resultString);
+ log.debug("Exit: SandeshaClient::getLastSendError, " + resultException);
- return resultString;
+ return resultException;
}
/**
@@ -1332,7 +1330,6 @@
// Get the in use storage manager and the sequence property bean manager
StorageManager storageManager = SandeshaUtil.getSandeshaStorageManager(configurationContext,configurationContext.getAxisConfiguration());
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
// Create a transaction for the retrieve operation
Transaction transaction = null;
@@ -1342,13 +1339,11 @@
{
transaction = storageManager.getTransaction();
- // Lookup the last failed to send error
- SequencePropertyBean errorTSBean =
- seqPropMgr.retrieve(internalSequenceId, Sandesha2Constants.SequenceProperties.LAST_FAILED_TO_SEND_ERROR_TIMESTAMP);
-
- // Get the value from the
- if (errorTSBean != null)
- resultTime = Long.valueOf(errorTSBean.getValue()).longValue();
+ RMSBean bean = SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, internalSequenceId);
+
+ if (bean != null) {
+ resultTime = bean.getLastSendErrorTimestamp();
+ }
}
finally
{
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java?view=diff&rev=489582&r1=489581&r2=489582
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMSBean.java Fri Dec 22 00:49:11 2006
@@ -75,6 +75,16 @@
*/
private String referenceMessageStoreKey;
+ /**
+ * This is the last error that was encountered when sending a message
+ */
+ private Exception lastSendError = null;
+
+ /**
+ * This is the timestamp of when the last error occured when sending
+ */
+ private long lastSendErrorTimestamp = -1;
+
public RMSBean() {
}
@@ -135,6 +145,24 @@
public void setPollingMode(boolean pollingMode) {
this.pollingMode = pollingMode;
}
+
+ public Exception getLastSendError() {
+ return lastSendError;
+ }
+
+ public void setLastSendError(Exception lastSendError) {
+ this.lastSendError = lastSendError;
+ }
+
+
+ public long getLastSendErrorTimestamp() {
+ return lastSendErrorTimestamp;
+ }
+
+
+ public void setLastSendErrorTimestamp(long lastSendErrorTimestamp) {
+ this.lastSendErrorTimestamp = lastSendErrorTimestamp;
+ }
public String toString() {
StringBuffer result = new StringBuffer();
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=489582&r1=489581&r2=489582
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java Fri Dec 22 00:49:11 2006
@@ -18,9 +18,7 @@
package org.apache.sandesha2.util;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
-import java.io.PrintWriter;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Iterator;
@@ -73,6 +71,7 @@
import org.apache.sandesha2.polling.PollingManager;
import org.apache.sandesha2.security.SecurityManager;
import org.apache.sandesha2.storage.StorageManager;
+import org.apache.sandesha2.storage.beanmanagers.RMSBeanMgr;
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.RMSBean;
import org.apache.sandesha2.storage.beans.SequencePropertyBean;
@@ -749,13 +748,22 @@
return Sandesha2Constants.INTERNAL_SEQUENCE_PREFIX + ":" + sequenceID;
}
+ public static final RMSBean getRMSBeanFromInternalSequenceId(StorageManager storageManager, String internalSequenceID)
+
+ throws SandeshaException {
+ RMSBeanMgr rmsBeanMgr = storageManager.getRMSBeanMgr();
+ RMSBean bean = new RMSBean();
+ bean.setInternalSequenceID(internalSequenceID);
+
+ bean = rmsBeanMgr.findUnique(bean);
+
+ return bean;
+ }
+
public static String getSequenceIDFromInternalSequenceID(String internalSequenceID,
StorageManager storageManager) throws SandeshaException {
- RMSBean createSeqFindBean = new RMSBean();
- createSeqFindBean.setInternalSequenceID(internalSequenceID);
-
- RMSBean rMSBean = storageManager.getRMSBeanMgr().findUnique(createSeqFindBean);
+ RMSBean rMSBean = getRMSBeanFromInternalSequenceId(storageManager, internalSequenceID);
String sequeunceID = null;
if (rMSBean != null &&
@@ -1183,22 +1191,6 @@
return newMsg;
}
-
- /**
- * Returns an Exception as a String
- *
- * @param exc
- * @return
- */
- public static String getStackTrace(Throwable exc)
- {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- PrintWriter pw = new PrintWriter(baos);
- exc.printStackTrace(pw);
- pw.flush();
- String stackTrace = baos.toString();
- return stackTrace;
- }
public static PollingManager getPollingManager (ConfigurationContext configurationContext) {
PollingManager pollingManager = (PollingManager) configurationContext.getProperty(
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=489582&r1=489581&r2=489582
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java Fri Dec 22 00:49:11 2006
@@ -1,7 +1,6 @@
package org.apache.sandesha2.workers;
import java.util.ArrayList;
-import java.util.MissingResourceException;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFault;
@@ -10,13 +9,13 @@
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
-import org.apache.axis2.context.OperationContextFactory;
import org.apache.axis2.description.TransportOutDescription;
import org.apache.axis2.engine.AxisEngine;
import org.apache.axis2.engine.Handler.InvocationResponse;
import org.apache.axis2.transport.RequestResponseTransport;
import org.apache.axis2.transport.TransportUtils;
import org.apache.axis2.transport.http.HTTPConstants;
+import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.sandesha2.RMMsgContext;
@@ -24,13 +23,11 @@
import org.apache.sandesha2.SandeshaException;
import org.apache.sandesha2.i18n.SandeshaMessageHelper;
import org.apache.sandesha2.i18n.SandeshaMessageKeys;
-import org.apache.sandesha2.storage.SandeshaStorageException;
import org.apache.sandesha2.storage.StorageManager;
import org.apache.sandesha2.storage.Transaction;
import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
-import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
+import org.apache.sandesha2.storage.beans.RMSBean;
import org.apache.sandesha2.storage.beans.SenderBean;
-import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.AcknowledgementManager;
import org.apache.sandesha2.util.MessageRetransmissionAdjuster;
import org.apache.sandesha2.util.MsgInitializer;
@@ -124,7 +121,7 @@
RequestResponseTransport t = null;
MessageContext inMsg = null;
OperationContext op = msgCtx.getOperationContext();
- if(op != null) inMsg = op.getMessageContext(OperationContextFactory.MESSAGE_LABEL_IN_VALUE);
+ if(op != null) inMsg = op.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
if(inMsg != null) t = (RequestResponseTransport) inMsg.getProperty(RequestResponseTransport.TRANSPORT_CONTROL);
if(t == null) {
if(log.isDebugEnabled()) log.debug("Exit: SenderWorker::run, no response transport for anonymous message");
@@ -132,8 +129,6 @@
}
}
- updateMessage(msgCtx);
-
int messageType = senderBean.getMessageType();
// if (messageType == Sandesha2Constants.MessageTypes.APPLICATION) {
@@ -201,7 +196,7 @@
RequestResponseTransport t = null;
MessageContext inMsg = null;
OperationContext op = msgCtx.getOperationContext();
- if(op != null) inMsg = op.getMessageContext(OperationContextFactory.MESSAGE_LABEL_IN_VALUE);
+ if(op != null) inMsg = op.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
if(inMsg != null) t = (RequestResponseTransport) inMsg.getProperty(RequestResponseTransport.TRANSPORT_CONTROL);
if(t != null) {
if(log.isDebugEnabled()) log.debug("Signalling transport in " + t);
@@ -228,27 +223,15 @@
// Get the internal sequence id from the context
String internalSequenceId = (String)rmMsgCtx.getProperty(Sandesha2Constants.MessageContextProperties.INTERNAL_SEQUENCE_ID);
- // Get the sequence property bean manager
- SequencePropertyBeanMgr seqPropMgr = storageManager.getSequencePropertyBeanMgr();
-
- // Add the new sequence property beans.
- String exceptionStr = SandeshaUtil.getStackTrace(e);
- SequencePropertyBean eBean =
- new SequencePropertyBean(internalSequenceId,
- Sandesha2Constants.SequenceProperties.LAST_FAILED_TO_SEND_ERROR,
- exceptionStr);
-
- SequencePropertyBean etsBean =
- new SequencePropertyBean(internalSequenceId,
- Sandesha2Constants.SequenceProperties.LAST_FAILED_TO_SEND_ERROR_TIMESTAMP,
- String.valueOf(System.currentTimeMillis()));
-
+ RMSBean bean = SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, internalSequenceId);
- // Insert the exception bean
- seqPropMgr.insert(eBean);
+ if (bean != null) {
+ bean.setLastSendError(e);
+ bean.setLastSendErrorTimestamp(System.currentTimeMillis());
+ }
- // Insert the timestamp bean
- seqPropMgr.insert(etsBean);
+ // Update the RMSBean
+ storageManager.getRMSBeanMgr().update(bean);
// Commit the properties
if(transaction != null) {
@@ -337,10 +320,6 @@
if (log.isDebugEnabled())
log.debug("Exit: SenderWorker::run");
- }
-
- private void updateMessage(MessageContext msgCtx1) throws SandeshaException {
- // do updates if required.
}
private boolean isAckPiggybackableMsgType(int messageType) {
Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java?view=diff&rev=489582&r1=489581&r2=489582
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/SandeshaClientTest.java Fri Dec 22 00:49:11 2006
@@ -598,7 +598,7 @@
try {
// Check that the last error and last error time stamp have been set
- String lastSendError = SandeshaClient.getLastSendError(serviceClient);
+ Exception lastSendError = SandeshaClient.getLastSendError(serviceClient);
long lastSendErrorTime = SandeshaClient.getLastSendErrorTimestamp(serviceClient);
// Check the values are valid
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org