Author: ritchiem
Date: Thu Apr 16 12:25:05 2009
New Revision: 765600
URL: http://svn.apache.org/viewvc?rev=765600&view=rev
Log:
QPID-1813 : Check the value of _sessionIdentifier and return null if it is null
rather than an NPE.
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java?rev=765600&r1=765599&r2=765600&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
Thu Apr 16 12:25:05 2009
@@ -457,12 +457,32 @@
public Object getPublisherClientInstance()
{
- return _sessionIdentifier.getSessionInstance();
+ //todo store sessionIdentifier/client id with message in store
+ //Currently the _sessionIdentifier will be null if the message has been
+ // restored from a message Store
+ if (_sessionIdentifier == null)
+ {
+ return null;
+ }
+ else
+ {
+ return _sessionIdentifier.getSessionInstance();
+ }
}
public Object getPublisherIdentifier()
{
- return _sessionIdentifier.getSessionIdentifier();
+ //todo store sessionIdentifier/client id with message in store
+ //Currently the _sessionIdentifier will be null if the message has been
+ // restored from a message Store
+ if (_sessionIdentifier == null)
+ {
+ return null;
+ }
+ else
+ {
+ return _sessionIdentifier.getSessionIdentifier();
+ }
}
public void setClientIdentifier(final
AMQProtocolSession.ProtocolSessionIdentifier sessionIdentifier)
Modified:
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java?rev=765600&r1=765599&r2=765600&view=diff
==============================================================================
---
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
(original)
+++
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java
Thu Apr 16 12:25:05 2009
@@ -382,11 +382,10 @@
// return false;
}
-
-
- //todo - client id should be recoreded and this test removed but
handled below
if (_noLocal)
{
+ //todo - client id should be recoreded so we don't have to handle
+ // the case where this is null.
final Object publisherId =
entry.getMessage().getPublisherClientInstance();
// We don't want local messages so check to see if message is one
we sent
@@ -404,9 +403,8 @@
{
localInstance = getProtocolSession().getClientIdentifier();
- //todo - client id should be recoreded and this test removed
but handled here
-
+ //todo - client id should be recoreded so we don't have to do
the null check
if (localInstance != null &&
localInstance.equals(entry.getMessage().getPublisherIdentifier()))
{
return false;
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]